]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOTreeView.h
No newline at end of file
[creaImageIO.git] / src2 / creaImageIOTreeView.h
index df5f92f25b32ed8b1cf387b1b6853062864ff06c..a1cb4b2e4cfac5f0ff75df1e651703aa2bf17cdd 100644 (file)
@@ -2,36 +2,82 @@
 #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();
 
       
-      /// Something like that ...
-      virtual void UpdateView();
-      
+      /// Updates the view of a level given the selected items of upper level
+      virtual void UpdateLevel( int ) 
+      { GimmickError("INTERNAL ERROR : TreeView::UpdateLevel not overloaded");}
+
+         ///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 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"); }
+
+         /// Gets the attributes that are being shown and the ones that have been blocked on a specific level
+         virtual void GetAttributes(std::vector<std::string>& areShown, std::vector<std::string>& notShown, int level){ GimmickError("INTERNAL ERROR : TreeView::GetAttributes not overloaded"); }
+         
+         ///Sets the non visible attributes and refreshes the GUI
+         virtual void SetNonVisibleAttributes(const std::vector<std::string>& notShown, int level){ GimmickError("INTERNAL ERROR : TreeView::SetNonVisibleAttributes not overloaded"); }
+
+         ///Creates a new listctrl
+         virtual void CreateCtrl(std::vector<std::string>& notShown, int nlevel){ GimmickError("INTERNAL ERROR : TreeView::CreateCtrl 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
     //=====================================================================
   
+  
 } // EO namespace creaImageIO
 
 // EOF