namespace creaImageIO
{
+
/**
* \ingroup View
*/
{
public:
/// Ctor
- WxTreeView(TreeHandler*, wxWindow* parent, const wxWindowID id);
+ WxTreeView(TreeHandler*, GimmickView*,
+ wxWindow* parent, const wxWindowID id);
/// Virtual destructor
virtual ~WxTreeView();
virtual void RemoveSelected( int );
/// Callback for selection change
- void OnSelected(wxListEvent& event);
+ void OnSelectedChanged(wxListEvent& event);
- /// Callback for selection change
+ /// Callback for column click
void OnColClick(wxListEvent& event);
+ /// Callback for first item edition
+ void OnBeginLabelEdit(wxListEvent& event);
+
+ /// Callback when first item edition ends
+ void OnEndLabelEdit(wxListEvent& event);
+
+ /// Callback when the user needs the items sorted
+ void OnPopupSort(wxCommandEvent& event);
+
+ ///Callback when the user need the items filtered
+ void OnPopupFilter(wxCommandEvent& event);
+
private:
/// The struct holding the data for 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<tree::Node*> 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<vtkImageData*>& s, int dim);
-
- // Updates the view of a level given the selected items of upper level
- // Recursive method
+ void ValidateSelectedImages(bool isSelection);
+ ///Gets selected filenames
+ void GetSelectedAsString(std::vector<std::string>&s);
+ /// Gets the next nodes on the list, be it up(true) or down(false).
+ void GetNodes(std::vector<tree::Node*>& 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
+ int mColumnSelected;
+ ///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 last selection of nodes (for every level, except the last)
+ std::vector<tree::Node*> mSelected;
+ ///The last selection of nodes (for the last level)
+ std::vector<tree::Node*> mLastLevelSelected;
+ ///The color map
+ typedef std::map<tree::Node*,wxColour> ColorMap;
+ typedef std::pair<tree::Node*,wxColour> NodeColorPair;
+ ColorMap mColorMap;
+ ///Initial color palette
+ std::vector<std::string> 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()
};
// 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