X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxTreeView.h;h=201335d4a6652b46fd64f8485bf3f7a7ece85eb2;hb=b0bee282f8a6c60d5d86495b9bdbc0b89309bf1f;hp=6b93641d8456bc87980c67aade95695624616abb;hpb=5f76a3752cd6e23874e8167f19c9ceb57223b390;p=creaImageIO.git diff --git a/src2/creaImageIOWxTreeView.h b/src2/creaImageIOWxTreeView.h index 6b93641..201335d 100644 --- a/src2/creaImageIOWxTreeView.h +++ b/src2/creaImageIOWxTreeView.h @@ -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 GetSelected(int level); ///Validates the selected images - void ValidateSelectedImages(); + void ValidateSelectedImages(bool isSelection); ///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 ); + ///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 ColorMap; + typedef std::pair NodeColorPair; + ColorMap mColorMap; + ///Initial color palette + std::vector 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() };