]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxTreeView.h
The number of files on adding files now corresponds.
[creaImageIO.git] / src2 / creaImageIOWxTreeView.h
index 6b93641d8456bc87980c67aade95695624616abb..201335d4a6652b46fd64f8485bf3f7a7ece85eb2 100644 (file)
@@ -12,6 +12,7 @@
 
 namespace creaImageIO
 {
+
   /**
    * \ingroup View
    */
@@ -23,7 +24,8 @@ namespace creaImageIO
     {
     public:
       /// Ctor
-      WxTreeView(TreeHandler*, wxWindow* parent, const wxWindowID id);
+      WxTreeView(TreeHandler*, GimmickView*, 
+                wxWindow* parent, const wxWindowID id);
       /// Virtual destructor
       virtual ~WxTreeView();
 
@@ -40,7 +42,17 @@ namespace creaImageIO
          /// Callback for column click
       void OnColClick(wxListEvent& event);
 
-       private:
+         /// Callback when the user needs the items sorted
+         void OnPopupSort(wxCommandEvent& event);
+
+         ///Callback when the user need the items filtered
+          void OnPopupFilter(wxCommandEvent& event);
+
+          ///Callback on mouse click
+          void OnMouseClick(wxMouseEvent& event);
+
+    private:
       /// The struct holding the data for one level
       /// Holds the wx control and other data
       /// such as the vector of attribute keys corresponding to the columns
@@ -63,12 +75,23 @@ namespace creaImageIO
          /// Gets the user selected data from the level passed as a parameter
       std::vector<tree::Node*> GetSelected(int level);
          ///Validates the selected images
-      void ValidateSelectedImages();   
+      void ValidateSelectedImages(bool isSelection);   
          ///Gets selected filenames
          void GetSelectedAsString(std::vector<std::string>&s);
+           /// Gets the next nodes on the list, be it up(true) or down(false).
+      void GetNodes(std::vector<tree::Node*>& nodes, bool direction);
       /// Updates the view of a level given the selected items of upper level
       /// Recursive method
       virtual void RecursiveUpdateLevel( int );
+         ///Sets the color of a selected item
+         void SetColor(int level, int item);
+         ///Creates the color palette for the first level
+         void CreateColorPalette();
+         ///Selects the lowest level (images)
+         void SelectLowerLevel();
+         ///Sorts items
+         void OnSort(int level);
+
 
 
       /// Currently Selected Column
@@ -76,8 +99,22 @@ namespace creaImageIO
          ///Boolean that defines the direction of the organization
          ///True is ascending order and false is descending
          bool mDirection;
-       
-         
+         ///The last selected item on the list
+         long mLastSelected;
+         ///The color map
+         typedef std::map<tree::Node*,wxColour> ColorMap;
+         typedef std::pair<tree::Node*,wxColour> NodeColorPair;
+      ColorMap mColorMap;
+         ///Initial color palette
+         std::vector<std::string> mColorPalette;
+         ///Boolean declaring if the last level selection has been made
+         bool mSelectionMade;
+         bool mProcess;
+         wxMenu* menu;
+         wxObject* senderCtrl;
+         int mAscendingID;
+         int mDescendingID;
+         int mFilterID;
 
       DECLARE_EVENT_TABLE()
     };