X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxTreeView.h;h=6b93641d8456bc87980c67aade95695624616abb;hb=5f76a3752cd6e23874e8167f19c9ceb57223b390;hp=678c626039ccb04bd83bcb316ce4fff4b63db9a7;hpb=fcfe92562365cb738cf919d095d2f8d3608ec389;p=creaImageIO.git diff --git a/src2/creaImageIOWxTreeView.h b/src2/creaImageIOWxTreeView.h index 678c626..6b93641 100644 --- a/src2/creaImageIOWxTreeView.h +++ b/src2/creaImageIOWxTreeView.h @@ -6,6 +6,10 @@ #include #include +#include +#include +//#include + namespace creaImageIO { /** @@ -24,16 +28,64 @@ 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); + + /// 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; } + //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); + /// Updates the view of a level given the selected items of upper level + /// Recursive method + virtual void RecursiveUpdateLevel( int ); - private: + /// Currently Selected Column + int mColumnSelected; + ///Boolean that defines the direction of the organization + ///True is ascending order and false is descending + bool mDirection; + + + + DECLARE_EVENT_TABLE() }; // EO class WxTreeView //===================================================================== - + + + } // EO namespace creaImageIO