X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxTreeView.h;h=e316b47da0a33ff50fd6f551fb48848d2fed4170;hb=45e8123561479c77ffffbcd3a6453f9dd4d12169;hp=0f026e32c8a4eae16d193e13a8f54ef51d250ebd;hpb=ff9cfd68812d5dd296fa71fbcc21e7e867d4da23;p=creaImageIO.git diff --git a/src2/creaImageIOWxTreeView.h b/src2/creaImageIOWxTreeView.h index 0f026e3..e316b47 100644 --- a/src2/creaImageIOWxTreeView.h +++ b/src2/creaImageIOWxTreeView.h @@ -7,10 +7,12 @@ #include #include +#include //#include namespace creaImageIO { + /** * \ingroup View */ @@ -22,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(); @@ -33,9 +36,11 @@ namespace creaImageIO ///Removes selected nodes on given level virtual void RemoveSelected( int ); - /// Callback for selection change - void OnSelected(wxListEvent& event); + /// Callback for selection change + void OnSelectedChanged(wxListEvent& event); + /// Callback for column click + void OnColClick(wxListEvent& event); private: /// The struct holding the data for one level @@ -43,8 +48,9 @@ namespace creaImageIO /// such as the vector of attribute keys corresponding to the columns struct LevelType { - // The + // The List Control wxListCtrl* wxCtrl; + wxSplitterWindow* wxSplitter; std::vector key; }; /// The vector of levels : one for each level of the tree @@ -52,16 +58,46 @@ namespace creaImageIO /// 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; } + //Returns the maximum number of levels + int GetNumberOfLevels(){ return mLevelList.size(); } + /// Gets the user selected data from the level passed as a parameter + std::vector GetSelected(int level); + ///Validates the selected images + void ValidateSelectedImages(); + ///Gets selected filenames + void GetSelectedAsString(std::vector&s); + /// Gets the next nodes on the list, be it up(true) or down(false). + void GetNodes(std::vector& nodes, bool direction); + /// Updates the view of a level given the selected items of upper level + /// Recursive method + virtual void RecursiveUpdateLevel( int ); - std::vectorGetSelected(int level); - - + + /// Currently Selected Column + int mColumnSelected; + ///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 last selection of nodes + std::vector mSelected; + ///The color map + typedef std::map ColorMap; + typedef std::pair NodeColorPair; + ColorMap mColorMap; + + DECLARE_EVENT_TABLE() }; // EO class WxTreeView //===================================================================== - + + + } // EO namespace creaImageIO