X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2a7eaf124368629f82d320a2a88b857b4e6bf041..c3c11581dc3a4c7c6ab5006b73c1ece32b9ca158:/samples/treectrl/treetest.h?ds=sidebyside diff --git a/samples/treectrl/treetest.h b/samples/treectrl/treetest.h index 21e93d7d8b..2d6e989211 100644 --- a/samples/treectrl/treetest.h +++ b/samples/treectrl/treetest.h @@ -61,7 +61,7 @@ public: TreeCtrlIcon_FolderOpened }; - MyTreeCtrl() { } + MyTreeCtrl() { m_alternateImages = false; } MyTreeCtrl(wxWindow *parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style); @@ -111,6 +111,9 @@ public: void SetLastItem(wxTreeItemId id) { m_lastItem = id; } + void SetAlternateImages(bool show) { m_alternateImages = show; } + bool AlternateImages() const { return m_alternateImages; } + protected: virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2); @@ -127,10 +130,13 @@ private: size_t depth, size_t folder); + void LogEvent(const wxChar *name, const wxTreeEvent& event); + int m_imageSize; // current size of images bool m_reverseSort; // flag for OnCompareItems wxTreeItemId m_lastItem, // for OnEnsureVisible() m_draggedItem; // item being dragged right now + bool m_alternateImages; // NB: due to an ugly wxMSW hack you _must_ use DECLARE_DYNAMIC_CLASS() // if you want your overloaded OnCompareItems() to be called. @@ -151,6 +157,7 @@ public: // menu callbacks void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); + void OnClearLog(wxCommandEvent& event); void OnTogButtons(wxCommandEvent& event) { TogStyle(event.GetId(), wxTR_HAS_BUTTONS); } @@ -175,6 +182,7 @@ public: void OnSetFgColour(wxCommandEvent& event); void OnSetBgColour(wxCommandEvent& event); + void OnHighlight(wxCommandEvent& event); void OnDump(wxCommandEvent& event); #ifndef NO_MULTIPLE_SELECTION void OnDumpSelected(wxCommandEvent& event); @@ -190,6 +198,7 @@ public: void OnRecreate(wxCommandEvent& event); void OnToggleButtons(wxCommandEvent& event); void OnToggleImages(wxCommandEvent& event); + void OnToggleAlternateImages(wxCommandEvent& event); void OnSetImageSize(wxCommandEvent& event); void OnCollapseAndReset(wxCommandEvent& event); @@ -216,6 +225,18 @@ public: void OnToggleIcon(wxCommandEvent& event); + void OnShowFirstVisible(wxCommandEvent& WXUNUSED(event)) + { DoShowFirstOrLast(&wxTreeCtrl::GetFirstVisibleItem, "first visible"); } +#ifdef wxHAS_LAST_VISIBLE // we don't have it currently but may add later + void OnShowLastVisible(wxCommandEvent& WXUNUSED(event)) + { DoShowFirstOrLast(&wxTreeCtrl::GetLastVisibleItem, "last visible"); } +#endif // wxHAS_LAST_VISIBLE + + void OnShowNextVisible(wxCommandEvent& WXUNUSED(event)) + { DoShowNextOrPrev(&wxTreeCtrl::GetNextVisible, "next visible"); } + void OnShowPrevVisible(wxCommandEvent& WXUNUSED(event)) + { DoShowNextOrPrev(&wxTreeCtrl::GetPrevVisible, "previous visible"); } + void OnIdle(wxIdleEvent& event); void OnSize(wxSizeEvent& event); @@ -229,6 +250,15 @@ private: void CreateTreeWithDefStyle(); void CreateTree(long style); + // common parts of OnShowFirst/LastVisible() and OnShowNext/PrevVisible() + typedef wxTreeItemId (wxTreeCtrl::*TreeFunc0_t)() const; + void DoShowFirstOrLast(TreeFunc0_t pfn, const wxString& label); + + typedef wxTreeItemId (wxTreeCtrl::*TreeFunc1_t)(const wxTreeItemId&) const; + void DoShowNextOrPrev(TreeFunc1_t pfn, const wxString& label); + + + wxPanel *m_panel; MyTreeCtrl *m_treeCtrl; #if wxUSE_LOG wxTextCtrl *m_textCtrl; @@ -244,6 +274,7 @@ enum { TreeTest_Quit = wxID_EXIT, TreeTest_About = wxID_ABOUT, + TreeTest_ClearLog = wxID_CLEAR, TreeTest_TogButtons = wxID_HIGHEST, TreeTest_TogTwist, TreeTest_TogLines, @@ -255,6 +286,7 @@ enum TreeTest_SetFgColour, TreeTest_SetBgColour, TreeTest_ResetStyle, + TreeTest_Highlight, TreeTest_Dump, TreeTest_DumpSelected, TreeTest_Count, @@ -269,6 +301,7 @@ enum TreeTest_DeleteAll, TreeTest_Recreate, TreeTest_ToggleImages, + TreeTest_ToggleAlternateImages, TreeTest_ToggleButtons, TreeTest_SetImageSize, TreeTest_ToggleSel, @@ -284,5 +317,9 @@ enum TreeTest_Select, TreeTest_Unselect, TreeTest_SelectRoot, + TreeTest_ShowFirstVisible, + TreeTest_ShowLastVisible, + TreeTest_ShowNextVisible, + TreeTest_ShowPrevVisible, TreeTest_Ctrl = 1000 };