X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6aa89a22b8e47000c98bff05c6f545f331f1c353..a4535b9f391bbe8453f70784bc77a06f3426e858:/samples/treectrl/treetest.h diff --git a/samples/treectrl/treetest.h b/samples/treectrl/treetest.h index b6b9a7551a..5546561ad2 100644 --- a/samples/treectrl/treetest.h +++ b/samples/treectrl/treetest.h @@ -23,7 +23,7 @@ class MyApp : public wxApp { public: - MyApp() { m_showImages = TRUE; m_showButtons = FALSE; } + MyApp() { m_showImages = true; m_showButtons = false; } bool OnInit(); @@ -61,11 +61,11 @@ public: TreeCtrlIcon_FolderOpened }; - MyTreeCtrl() { } + MyTreeCtrl() { m_alternateImages = false; } MyTreeCtrl(wxWindow *parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style); - virtual ~MyTreeCtrl(); + virtual ~MyTreeCtrl(){}; void OnBeginDrag(wxTreeEvent& event); void OnBeginRDrag(wxTreeEvent& event); @@ -73,10 +73,9 @@ public: void OnBeginLabelEdit(wxTreeEvent& event); void OnEndLabelEdit(wxTreeEvent& event); void OnDeleteItem(wxTreeEvent& event); - void OnRMouseUp(wxMouseEvent& event); + void OnContextMenu(wxContextMenuEvent& event); + void OnItemMenu(wxTreeEvent& event); void OnGetInfo(wxTreeEvent& event); - void OnTreeRMouseClick(wxTreeEvent& event); - void OnItemRightClick(wxTreeEvent& event); void OnSetInfo(wxTreeEvent& event); void OnItemExpanded(wxTreeEvent& event); void OnItemExpanding(wxTreeEvent& event); @@ -86,18 +85,23 @@ public: void OnSelChanging(wxTreeEvent& event); void OnTreeKeyDown(wxTreeEvent& event); void OnItemActivated(wxTreeEvent& event); + void OnItemRClick(wxTreeEvent& event); + + void OnRMouseDown(wxMouseEvent& event); + void OnRMouseUp(wxMouseEvent& event); void OnRMouseDClick(wxMouseEvent& event); - void GetItemsRecursively(const wxTreeItemId& idParent, long cookie); + void GetItemsRecursively(const wxTreeItemId& idParent, + wxTreeItemIdValue cookie = 0); void CreateImageList(int size = 16); void CreateButtonsImageList(int size = 11); void AddTestItemsToTree(size_t numChildren, size_t depth); - void DoSortChildren(const wxTreeItemId& item, bool reverse = FALSE) + void DoSortChildren(const wxTreeItemId& item, bool reverse = false) { m_reverseSort = reverse; wxTreeCtrl::SortChildren(item); } - void DoEnsureVisible() { EnsureVisible(m_lastItem); } + void DoEnsureVisible() { if (m_lastItem.IsOk()) EnsureVisible(m_lastItem); } void DoToggleIcon(const wxTreeItemId& item); @@ -105,6 +109,11 @@ public: int ImageSize(void) const { return m_imageSize; } + 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); @@ -121,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. @@ -145,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); } @@ -169,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); @@ -176,6 +190,7 @@ public: void OnUnselect(wxCommandEvent& event); void OnToggleSel(wxCommandEvent& event); #endif // NO_MULTIPLE_SELECTION + void OnSelectRoot(wxCommandEvent& event); void OnDelete(wxCommandEvent& event); void OnDeleteChildren(wxCommandEvent& event); void OnDeleteAll(wxCommandEvent& event); @@ -183,11 +198,12 @@ 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); - void OnSetBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(TRUE); } - void OnClearBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(FALSE); } + void OnSetBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(true); } + void OnClearBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(false); } void OnEnsureVisible(wxCommandEvent& event); @@ -195,8 +211,8 @@ public: void OnCountRec(wxCommandEvent& event); void OnRename(wxCommandEvent& event); - void OnSort(wxCommandEvent& event) { DoSort(); } - void OnSortRev(wxCommandEvent& event) { DoSort(TRUE); } + void OnSort(wxCommandEvent& WXUNUSED(event)) { DoSort(); } + void OnSortRev(wxCommandEvent& WXUNUSED(event)) { DoSort(true); } void OnAddItem(wxCommandEvent& event); void OnInsertItem(wxCommandEvent& event); @@ -209,22 +225,26 @@ public: void OnToggleIcon(wxCommandEvent& event); + void OnIdle(wxIdleEvent& event); void OnSize(wxSizeEvent& event); private: void TogStyle(int id, long flag); - void DoSort(bool reverse = FALSE); + void DoSort(bool reverse = false); void Resize(); void CreateTreeWithDefStyle(); void CreateTree(long style); + wxPanel *m_panel; MyTreeCtrl *m_treeCtrl; +#if wxUSE_LOG wxTextCtrl *m_textCtrl; +#endif // wxUSE_LOG - void DoSetBold(bool bold = TRUE); + void DoSetBold(bool bold = true); DECLARE_EVENT_TABLE() }; @@ -232,9 +252,10 @@ private: // menu and control ids enum { - TreeTest_Quit, - TreeTest_About, - TreeTest_TogButtons, + TreeTest_Quit = wxID_EXIT, + TreeTest_About = wxID_ABOUT, + TreeTest_ClearLog = wxID_CLEAR, + TreeTest_TogButtons = wxID_HIGHEST, TreeTest_TogTwist, TreeTest_TogLines, TreeTest_TogEdit, @@ -245,6 +266,7 @@ enum TreeTest_SetFgColour, TreeTest_SetBgColour, TreeTest_ResetStyle, + TreeTest_Highlight, TreeTest_Dump, TreeTest_DumpSelected, TreeTest_Count, @@ -259,6 +281,7 @@ enum TreeTest_DeleteAll, TreeTest_Recreate, TreeTest_ToggleImages, + TreeTest_ToggleAlternateImages, TreeTest_ToggleButtons, TreeTest_SetImageSize, TreeTest_ToggleSel, @@ -273,5 +296,6 @@ enum TreeTest_ToggleIcon, TreeTest_Select, TreeTest_Unselect, + TreeTest_SelectRoot, TreeTest_Ctrl = 1000 };