]> Creatis software - creaImageIO.git/blob - src2/creaImageIOTreeView.h
Changed validation methods from TreeView to GimmickView (Abstract)
[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    * \ingroup View
12    */
13         
14   //=====================================================================
15   
16   //=====================================================================
17   /// Abstract class that handles the view of a Tree through its TreeHandler
18   class TreeView
19     {
20     public:
21       /// Ctor
22       TreeView(TreeHandler*);
23       /// Virtual destructor
24       virtual ~TreeView();
25
26       
27       /// Updates the view of a level given the selected items of upper level
28       virtual void UpdateLevel( int ) 
29       { GimmickError("INTERNAL ERROR : TreeView::UpdateLevel not overloaded");}
30
31           ///Removes selected nodes on given level
32           virtual void RemoveSelected( int )
33           { GimmickError("INTERNAL ERROR : TreeView::RemoveSelected not overloaded");}
34
35           ///Validates the selected images
36       virtual void ValidateSelectedImages()
37           { GimmickError("INTERNAL ERROR : TreeView::ValidateSelected not overloaded");}
38           
39           ///Returns the maximum number of levels
40           virtual int GetNumberOfLevels(){ GimmickError("INTERNAL ERROR : TreeView::GetLevels not overloaded"); }
41           ///Gets the current selections filenames
42           virtual void GetSelectedAsString(std::vector<std::string>&s){ GimmickError("INTERNAL ERROR : TreeView::GetSelectedAsString not overloaded"); }
43
44           /// Gets the user selected data from the level passed as a parameter
45       virtual std::vector<tree::Node*> GetSelected(int level){ GimmickError("INTERNAL ERROR : TreeView::GetSelected not overloaded"); }
46
47     protected:
48       TreeHandler* GetTreeHandler() { return mTreeHandler; }
49          
50     private:
51       /// The TreeHandler with which it corresponds
52       TreeHandler* mTreeHandler;
53           };
54     // EO class TreeView
55     //=====================================================================
56   
57   
58 } // EO namespace creaImageIO
59
60 // EOF
61 #endif