X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxTreeView.h;h=6ffc1f52173df045143d4ea55c93130ba355169c;hb=3e7eac431db6401f86374784eaa66ad276af1bac;hp=65e783d6435c9b571c0d092388222737b60d27aa;hpb=79be5edd158476cd0f21d3146223594234ef06fc;p=creaImageIO.git diff --git a/src2/creaImageIOWxTreeView.h b/src2/creaImageIOWxTreeView.h index 65e783d..6ffc1f5 100644 --- a/src2/creaImageIOWxTreeView.h +++ b/src2/creaImageIOWxTreeView.h @@ -7,6 +7,8 @@ #include #include +#include +//#include namespace creaImageIO { @@ -26,21 +28,78 @@ 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 OnSelected(wxListEvent& event); + + /// Callback for selection change + void OnColClick(wxListEvent& event); + private: - /// The vector of wxListCtrl : one for each level of the tree - std::vector mListCtrl; + /// 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; } + /// Gets the user selected data from the level passed as a parameter + std::vector GetSelected(int level); + ///Validates the selected images + void ValidateSelectedImages(); + ///Returns the selected data as vtkImageData + vtkImageData* GetSelectedImage(int dim); + ///Returns the selected data as vtkImageData + void GetSelectedImages(std::vector& s, int dim); + + // Updates the view of a level given the selected items of upper level + // Recursive method + virtual void RecursiveUpdateLevel( int ); + + + DECLARE_EVENT_TABLE() }; // EO class WxTreeView //===================================================================== } // EO namespace creaImageIO - - +/* +class MyEvent: public wxCommandEvent +{ +public: + MyEvent( wxEventType commandType = MyCommandEvent, int id = 0 ) + : wxCommandEvent(commandType, id) { } + + // You *must* copy here the data to be transported + MyEvent( const MyEvent &event ) + : wxCommandEvent(event) { this->SetText( event.GetText() ); } + + // Required for sending with wxPostEvent() + wxEvent* Clone() const { return new MyEvent(*this); } + + wxString GetText() const { return m_Text; } + void SetText( const wxString& text ) { m_Text = text; } + +private: + wxString m_Text; +}; +*/ #endif // USE_WIDGETS // EOF #endif