X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOWxTreeView.h;h=3571c11dce8a6579f7b158656d8dcb27b43ead7e;hb=2f0e50f69eb904d629cf8db62eb9a4094db93097;hp=65e783d6435c9b571c0d092388222737b60d27aa;hpb=79be5edd158476cd0f21d3146223594234ef06fc;p=creaImageIO.git diff --git a/src2/creaImageIOWxTreeView.h b/src2/creaImageIOWxTreeView.h index 65e783d..3571c11 100644 --- a/src2/creaImageIOWxTreeView.h +++ b/src2/creaImageIOWxTreeView.h @@ -7,6 +7,8 @@ #include #include +#include +//#include namespace creaImageIO { @@ -26,18 +28,58 @@ namespace creaImageIO virtual ~WxTreeView(); - /// Something like that ... - virtual void UpdateView(); - + /// Updates the view of a level given the selected items of upper level + virtual void UpdateLevel( int ); + + ///Removes selected nodes on given level + virtual void RemoveSelected( int ); + + /// Callback for selection change + void OnSelectedChanged(wxListEvent& event); - private: - /// The vector of wxListCtrl : one for each level of the tree - std::vector mListCtrl; + /// Callback for column click + void OnColClick(wxListEvent& 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 + struct LevelType + { + // The List Control + wxListCtrl* wxCtrl; + wxSplitterWindow* wxSplitter; + std::vector key; + }; + /// The vector of levels : one for each level of the tree + std::vector mLevelList; + /// return the wxListCtrl of one level + wxListCtrl* GetCtrl(int l) { return mLevelList[l].wxCtrl; } + /// return the wxSplitter of one level + wxSplitterWindow* GetSplitter(int l) { return mLevelList[l].wxSplitter; } + /// Gets the user selected data from the level passed as a parameter + std::vector GetSelected(int level); + ///Validates the selected images + void ValidateSelectedImages(); + ///Returns the selected data as vtkImageData + vtkImageData* GetSelectedImage(int dim); + ///Returns the selected data as vtkImageData + void GetSelectedImages(std::vector& s, int dim); + + // Updates the view of a level given the selected items of upper level + // Recursive method + virtual void RecursiveUpdateLevel( int ); + + + + DECLARE_EVENT_TABLE() }; // EO class WxTreeView //===================================================================== - + + + } // EO namespace creaImageIO