]> Creatis software - creaImageIO.git/blob - src2/creaImageIOTreeView.h
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOTreeView.h
1 #ifndef __creaImageIOTreeView_h_INCLUDED__
2 #define __creaImageIOTreeView_h_INCLUDED__
3
4 #include <creaImageIOTreeHandler.h>
5 #include <creaImageIOSystem.h>
6 #include <vtkImageData.h>
7
8 namespace creaImageIO
9 {
10
11   class GimmickView;
12
13   /**
14    * \ingroup View
15    */
16         
17   //=====================================================================
18
19   //=====================================================================
20   /// Abstract class that handles the view of a Tree through its TreeHandler
21   class TreeView
22     {
23     public:
24       /// Ctor
25       TreeView(TreeHandler*,GimmickView*);
26       /// Virtual destructor
27       virtual ~TreeView();
28
29       
30       /// Updates the view of a level given the selected items of upper level
31       virtual void UpdateLevel( int ) 
32       { GimmickError("INTERNAL ERROR : TreeView::UpdateLevel not overloaded");}
33
34           ///Removes selected nodes
35           virtual void RemoveSelected( )
36           { GimmickError("INTERNAL ERROR : TreeView::RemoveSelected not overloaded");}
37
38           ///Validates the selected images
39       virtual void ValidateSelectedImages()
40           { GimmickError("INTERNAL ERROR : TreeView::ValidateSelected not overloaded");}
41           
42           ///Returns the maximum number of levels
43           virtual int GetNumberOfLevels(){ GimmickError("INTERNAL ERROR : TreeView::GetLevels not overloaded"); }
44           ///Gets the current selections filenames
45           virtual void GetSelectedAsString(std::vector<std::string>&s){ GimmickError("INTERNAL ERROR : TreeView::GetSelectedAsString not overloaded"); }
46
47           /// Gets the user selected data from the level passed as a parameter
48       virtual const std::vector<tree::Node*>& GetSelected(int level){ GimmickError("INTERNAL ERROR : TreeView::GetSelected not overloaded"); }
49
50           /// Gets the next nodes on the list, be it up(true) or down(false).
51       virtual void GetNodes(std::vector<tree::Node*>& nodes, bool direction){ GimmickError("INTERNAL ERROR : TreeView::GetNodes not overloaded"); }
52
53     protected:
54       TreeHandler* GetTreeHandler() { return mTreeHandler; }
55       GimmickView* GetGimmickView() { return mGimmickView; }
56          
57     private:
58       /// The TreeHandler with which it corresponds
59       TreeHandler* mTreeHandler;
60       /// The GimmickView which holds the TreeView
61       GimmickView* mGimmickView;  
62
63   };
64     // EO class TreeView
65     //=====================================================================
66   
67   
68 } // EO namespace creaImageIO
69
70 // EOF
71 #endif