1 #ifndef __creaImageIOWxTreeView_h_INCLUDED__
2 #define __creaImageIOWxTreeView_h_INCLUDED__
6 #include <creaImageIOTreeView.h>
9 #include <wx/listctrl.h>
10 #include <wx/splitter.h>
19 //=====================================================================
21 //=====================================================================
22 /// Abstract class that handles the view of a Tree through its TreeHandler
23 class WxTreeView : public wxPanel, virtual public TreeView
27 WxTreeView(TreeHandler*, GimmickView*,
28 wxWindow* parent, const wxWindowID id);
29 /// Virtual destructor
30 virtual ~WxTreeView();
33 /// Updates the view of a level given the selected items of upper level
34 virtual void UpdateLevel( int );
36 ///Removes selected nodes on given level
37 virtual void RemoveSelected( int );
39 /// Callback for selection change
40 void OnSelectedChanged(wxListEvent& event);
42 /// Callback for column click
43 void OnColClick(wxListEvent& event);
46 /// The struct holding the data for one level
47 /// Holds the wx control and other data
48 /// such as the vector of attribute keys corresponding to the columns
53 wxSplitterWindow* wxSplitter;
54 std::vector<std::string> key;
56 /// The vector of levels : one for each level of the tree
57 std::vector<LevelType> mLevelList;
59 /// return the wxListCtrl of one level
60 wxListCtrl* GetCtrl(int l) { return mLevelList[l].wxCtrl; }
61 /// return the wxSplitter of one level
62 wxSplitterWindow* GetSplitter(int l) { return mLevelList[l].wxSplitter; }
63 //Returns the maximum number of levels
64 int GetNumberOfLevels(){ return mLevelList.size(); }
65 /// Gets the user selected data from the level passed as a parameter
66 std::vector<tree::Node*> GetSelected(int level);
67 ///Validates the selected images
68 void ValidateSelectedImages();
69 ///Gets selected filenames
70 void GetSelectedAsString(std::vector<std::string>&s);
71 /// Gets the next nodes on the list, be it up(true) or down(false).
72 void GetNodes(std::vector<tree::Node*>& nodes, bool direction);
73 /// Updates the view of a level given the selected items of upper level
75 virtual void RecursiveUpdateLevel( int );
78 /// Currently Selected Column
80 ///Boolean that defines the direction of the organization
81 ///True is ascending order and false is descending
83 ///The last selected item on the list
90 // EO class WxTreeView
91 //=====================================================================
95 } // EO namespace creaImageIO