#ifndef __creaImageIOWxTreeView_h_INCLUDED__ #define __creaImageIOWxTreeView_h_INCLUDED__ #ifdef USE_WXWIDGETS #include #include #include //#include namespace creaImageIO { /** * \ingroup View */ //===================================================================== //===================================================================== /// Abstract class that handles the view of a Tree through its TreeHandler class WxTreeView : public wxPanel, virtual public TreeView { public: /// Ctor WxTreeView(TreeHandler*, wxWindow* parent, const wxWindowID id); /// Virtual destructor virtual ~WxTreeView(); /// Updates the view of a level given the selected items of upper level virtual void UpdateLevel( int ); /// Callback for selection change void OnSelected(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 wxListCtrl* wxCtrl; 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; } DECLARE_EVENT_TABLE() }; // EO class WxTreeView //===================================================================== } // EO namespace creaImageIO #endif // USE_WIDGETS // EOF #endif