]> Creatis software - creaImageIO.git/blob - src2/creaImageIOTreeView.h
fe29f3bddab5635487bcef758a1943289e0c81ab
[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   /// Abstract class that handles the view of a Tree through its TreeHandler
17   class TreeView
18     {
19     public:
20       /// Ctor
21       TreeView(TreeHandler*);
22       /// Virtual destructor
23       virtual ~TreeView();
24
25       
26       /// Updates the view of a level given the selected items of upper level
27       virtual void UpdateLevel( int ) 
28       { GimmickError("INTERNAL ERROR : TreeView::UpdateLevel not overloaded");}
29
30           ///Removes selected nodes on given level
31           virtual void RemoveSelected( int )
32           { GimmickError("INTERNAL ERROR : TreeView::RemoveSelected not overloaded");}
33
34           ///Validates the selected images
35       virtual void ValidateSelectedImages()
36           { GimmickError("INTERNAL ERROR : TreeView::ValidateSelected not overloaded");}
37           ///Returns the selected data as vtkImageData
38           vtkImageData* GetSelectedImage(int dim)
39           { GimmickError("INTERNAL ERROR : TreeView::GetSelectedImage not overloaded");}
40     ///Returns the selected data as a vector of vtkImageData (4D)
41           virtual void GetSelectedImages(std::vector<vtkImageData*>& s, int dim)
42           { GimmickError("INTERNAL ERROR : TreeView::GetSelectedImages not overloaded");}
43     
44     protected:
45       TreeHandler* GetTreeHandler() { return mTreeHandler; }
46
47     private:
48       /// The TreeHandler with which it corresponds
49       TreeHandler* mTreeHandler;
50     };
51     // EO class TreeView
52     //=====================================================================
53   
54 } // EO namespace creaImageIO
55
56 // EOF
57 #endif