X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/435fe83e747aba481a255bab37768038cf9a9e81..07c5641a9353fe18f680ef1a432d53743ad6065d:/samples/treectrl/treetest.h diff --git a/samples/treectrl/treetest.h b/samples/treectrl/treetest.h index 8ca521827d..e0299c0045 100644 --- a/samples/treectrl/treetest.h +++ b/samples/treectrl/treetest.h @@ -36,6 +36,7 @@ public: TreeCtrlIcon_Folder }; + MyTreeCtrl() { } MyTreeCtrl(wxWindow *parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style); @@ -62,6 +63,13 @@ public: void AddTestItemsToTree(size_t numChildren, size_t depth); + void DoSortChildren(const wxTreeItemId& item, bool reverse = FALSE) + { m_reverseSort = reverse; wxTreeCtrl::SortChildren(item); } + +protected: + virtual int OnCompareItems(const wxTreeItemId& item1, + const wxTreeItemId& item2); + private: void AddItemsRecursively(const wxTreeItemId& idParent, size_t nChildren, @@ -69,7 +77,13 @@ private: size_t folder); wxImageList *m_imageListNormal; + bool m_reverseSort; // flag for OnCompareItems + // NB: due to an ugly wxMSW hack you _must_ use DECLARE_DYNAMIC_CLASS() + // if you want your overloaded OnCompareItems() to be called. + // OTOH, if you don't want it you may omit the next line - this will + // make default (alphabetical) sorting much faster under wxMSW. + DECLARE_DYNAMIC_CLASS(MyTreeCtrl) DECLARE_EVENT_TABLE() }; @@ -86,13 +100,20 @@ public: void OnAbout(wxCommandEvent& event); void OnDump(wxCommandEvent& event); void OnDelete(wxCommandEvent& event); + void OnDeleteChildren(wxCommandEvent& event); void OnDeleteAll(wxCommandEvent& event); void OnRecreate(wxCommandEvent& event); void OnSetBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(TRUE); } void OnClearBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(FALSE); } + void OnRename(wxCommandEvent& event); + void OnSort(wxCommandEvent& event) { DoSort(); } + void OnSortRev(wxCommandEvent& event) { DoSort(TRUE); } + private: + void DoSort(bool reverse = FALSE); + MyTreeCtrl *m_treeCtrl; void DoSetBold(bool bold = TRUE); @@ -106,16 +127,14 @@ enum TreeTest_Quit, TreeTest_About, TreeTest_Dump, + TreeTest_Sort, + TreeTest_SortRev, TreeTest_Bold, TreeTest_UnBold, + TreeTest_Rename, TreeTest_Delete, + TreeTest_DeleteChildren, TreeTest_DeleteAll, TreeTest_Recreate, TreeTest_Ctrl = 100 -}; - -enum -{ - TreeCtrlIcon_File, - TreeCtrlIcon_Folder -}; +}; \ No newline at end of file