]> Creatis software - creaImageIO.git/blob - src2/creaImageIOTreeView.h
Viewer with movie done.
[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           /// Gets the next nodes on the list, be it up(true) or down(false).
48       virtual void GetNodes(std::vector<tree::Node*>& nodes, bool direction){ GimmickError("INTERNAL ERROR : TreeView::GetNodes not overloaded"); }
49
50     protected:
51       TreeHandler* GetTreeHandler() { return mTreeHandler; }
52          
53     private:
54       /// The TreeHandler with which it corresponds
55       TreeHandler* mTreeHandler;
56           };
57     // EO class TreeView
58     //=====================================================================
59   
60   
61 } // EO namespace creaImageIO
62
63 // EOF
64 #endif