X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4754ab1630290c29b97c37835d5e26155998e038..908c4056119d49b1b90f6618d38c85d080db152d:/samples/treectrl/treetest.h diff --git a/samples/treectrl/treetest.h b/samples/treectrl/treetest.h index e2908c0c44..c105ad6fff 100644 --- a/samples/treectrl/treetest.h +++ b/samples/treectrl/treetest.h @@ -123,6 +123,13 @@ public: void SetAlternateStates(bool show) { m_alternateStates = show; } bool AlternateStates() const { return m_alternateStates; } + void ResetBrokenStateImages() + { + const size_t count = GetStateImageList()->GetImageCount(); + int state = count > 0 ? count - 1 : wxTREE_ITEMSTATE_NONE; + DoResetBrokenStateImages(GetRootItem(), 0, state); + } + protected: virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2); @@ -139,6 +146,9 @@ private: size_t depth, size_t folder); + void DoResetBrokenStateImages(const wxTreeItemId& idParent, + wxTreeItemIdValue cookie, int state); + void LogEvent(const wxChar *name, const wxTreeEvent& event); int m_imageSize; // current size of images @@ -199,8 +209,11 @@ public: void OnSelect(wxCommandEvent& event); void OnUnselect(wxCommandEvent& event); void OnToggleSel(wxCommandEvent& event); + void OnSelectChildren(wxCommandEvent& event); #endif // NO_MULTIPLE_SELECTION void OnSelectRoot(wxCommandEvent& event); + void OnSetFocusedRoot(wxCommandEvent& event); + void OnClearFocused(wxCommandEvent& event); void OnDelete(wxCommandEvent& event); void OnDeleteChildren(wxCommandEvent& event); void OnDeleteAll(wxCommandEvent& event); @@ -218,6 +231,7 @@ public: void OnClearBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(false); } void OnEnsureVisible(wxCommandEvent& event); + void OnSetFocus(wxCommandEvent& event); void OnCount(wxCommandEvent& event); void OnCountRec(wxCommandEvent& event); @@ -246,9 +260,19 @@ public: #endif // wxHAS_LAST_VISIBLE void OnShowNextVisible(wxCommandEvent& WXUNUSED(event)) - { DoShowNextOrPrev(&wxTreeCtrl::GetNextVisible, "next visible"); } + { DoShowRelativeItem(&wxTreeCtrl::GetNextVisible, "next visible"); } void OnShowPrevVisible(wxCommandEvent& WXUNUSED(event)) - { DoShowNextOrPrev(&wxTreeCtrl::GetPrevVisible, "previous visible"); } + { DoShowRelativeItem(&wxTreeCtrl::GetPrevVisible, "previous visible"); } + + void OnShowParent(wxCommandEvent& WXUNUSED(event)) + { DoShowRelativeItem(&wxTreeCtrl::GetItemParent, "parent"); } + void OnShowPrevSibling(wxCommandEvent& WXUNUSED(event)) + { DoShowRelativeItem(&wxTreeCtrl::GetPrevSibling, "previous sibling"); } + void OnShowNextSibling(wxCommandEvent& WXUNUSED(event)) + { DoShowRelativeItem(&wxTreeCtrl::GetNextSibling, "next sibling"); } + + void OnScrollTo(wxCommandEvent& event); + void OnSelectLast(wxCommandEvent& event); void OnIdle(wxIdleEvent& event); void OnSize(wxSizeEvent& event); @@ -268,7 +292,7 @@ private: void DoShowFirstOrLast(TreeFunc0_t pfn, const wxString& label); typedef wxTreeItemId (wxTreeCtrl::*TreeFunc1_t)(const wxTreeItemId&) const; - void DoShowNextOrPrev(TreeFunc1_t pfn, const wxString& label); + void DoShowRelativeItem(TreeFunc1_t pfn, const wxString& label); wxPanel *m_panel; @@ -322,6 +346,7 @@ enum TreeTest_ToggleSel, TreeTest_CollapseAndReset, TreeTest_EnsureVisible, + TreeTest_SetFocus, TreeTest_AddItem, TreeTest_InsertItem, TreeTest_IncIndent, @@ -333,9 +358,17 @@ enum TreeTest_Select, TreeTest_Unselect, TreeTest_SelectRoot, + TreeTest_ClearFocused, + TreeTest_SetFocusedRoot, + TreeTest_SelectChildren, TreeTest_ShowFirstVisible, TreeTest_ShowLastVisible, TreeTest_ShowNextVisible, TreeTest_ShowPrevVisible, + TreeTest_ShowParent, + TreeTest_ShowPrevSibling, + TreeTest_ShowNextSibling, + TreeTest_ScrollTo, + TreeTest_SelectLast, TreeTest_Ctrl = 1000 };