#define __creaImageIOTreeView_h_INCLUDED__
#include <creaImageIOTreeHandler.h>
+#include <creaImageIOTimestampDatabaseHandler.h>
#include <creaImageIOSystem.h>
#include <vtkImageData.h>
namespace creaImageIO
{
+
+ class GimmickView;
+
/**
* \ingroup View
*/
//=====================================================================
-
+
//=====================================================================
/// Abstract class that handles the view of a Tree through its TreeHandler
class TreeView
{
public:
/// Ctor
- TreeView(TreeHandler*);
+ TreeView(TreeHandler*,GimmickView*);
/// Virtual destructor
virtual ~TreeView();
virtual void UpdateLevel( int )
{ GimmickError("INTERNAL ERROR : TreeView::UpdateLevel not overloaded");}
- ///Removes selected nodes on given level
- virtual void RemoveSelected( int )
+ ///Removes selected nodes
+ virtual void RemoveSelected( )
{ GimmickError("INTERNAL ERROR : TreeView::RemoveSelected not overloaded");}
///Validates the selected images
virtual void ValidateSelectedImages()
{ GimmickError("INTERNAL ERROR : TreeView::ValidateSelected not overloaded");}
+ ///Returns the last selected level
+ virtual unsigned int GetLastSelectedLevel(){GimmickError("INTERNAL ERROR : TreeView::GetLastSelectedLevel not overloaded");}
+
///Returns the maximum number of levels
virtual int GetNumberOfLevels(){ GimmickError("INTERNAL ERROR : TreeView::GetLevels not overloaded"); }
///Gets the current selections filenames
virtual void GetSelectedAsString(std::vector<std::string>&s){ GimmickError("INTERNAL ERROR : TreeView::GetSelectedAsString not overloaded"); }
/// Gets the user selected data from the level passed as a parameter
- virtual std::vector<tree::Node*> GetSelected(int level){ GimmickError("INTERNAL ERROR : TreeView::GetSelected not overloaded"); }
+ virtual const std::vector<tree::Node*>& GetSelected(int level){ GimmickError("INTERNAL ERROR : TreeView::GetSelected not overloaded"); }
/// Gets the next nodes on the list, be it up(true) or down(false).
virtual void GetNodes(std::vector<tree::Node*>& nodes, bool direction){ GimmickError("INTERNAL ERROR : TreeView::GetNodes not overloaded"); }
protected:
TreeHandler* GetTreeHandler() { return mTreeHandler; }
+ GimmickView* GetGimmickView() { return mGimmickView; }
private:
/// The TreeHandler with which it corresponds
TreeHandler* mTreeHandler;
- };
+ /// The GimmickView which holds the TreeView
+ GimmickView* mGimmickView;
+
+ };
// EO class TreeView
//=====================================================================