X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5301d9333612e6d80f285752d26718475fce6c98..f9ee64b1356530b7f5c957d250d2a1dcbef60f60:/samples/treectrl/treectrl.h diff --git a/samples/treectrl/treectrl.h b/samples/treectrl/treectrl.h index 6a6dc6702f..25f6e73645 100644 --- a/samples/treectrl/treectrl.h +++ b/samples/treectrl/treectrl.h @@ -9,19 +9,32 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// +#define USE_GENERIC_TREECTRL 0 + +#if USE_GENERIC_TREECTRL +#include "wx/generic/treectlg.h" +#ifndef wxTreeCtrl +#define wxTreeCtrl wxGenericTreeCtrl +#define sm_classwxTreeCtrl sm_classwxGenericTreeCtrl +#endif +#endif + // Define a new application type class MyApp : public wxApp { public: - MyApp() { m_showImages = TRUE; } + MyApp() { m_showImages = TRUE; m_showButtons = FALSE; } bool OnInit(); void SetShowImages(bool show) { m_showImages = show; } bool ShowImages() const { return m_showImages; } + void SetShowButtons(bool show) { m_showButtons = show; } + bool ShowButtons() const { return m_showButtons; } + private: - bool m_showImages; + bool m_showImages, m_showButtons; }; class MyTreeItemData : public wxTreeItemData @@ -30,7 +43,7 @@ public: MyTreeItemData(const wxString& desc) : m_desc(desc) { } void ShowInfo(wxTreeCtrl *tree); - const char *GetDesc() const { return m_desc.c_str(); } + const wxChar *GetDesc() const { return m_desc.c_str(); } private: wxString m_desc; @@ -60,7 +73,10 @@ public: void OnBeginLabelEdit(wxTreeEvent& event); void OnEndLabelEdit(wxTreeEvent& event); void OnDeleteItem(wxTreeEvent& event); + void OnRMouseUp(wxMouseEvent& 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); @@ -75,6 +91,7 @@ public: void GetItemsRecursively(const wxTreeItemId& idParent, long cookie); void CreateImageList(int size = 16); + void CreateButtonsImageList(int size = 11); void AddTestItemsToTree(size_t numChildren, size_t depth); @@ -84,6 +101,10 @@ public: void DoToggleIcon(const wxTreeItemId& item); + void ShowMenu(wxTreeItemId id, const wxPoint& pt); + + int ImageSize(void) const { return m_imageSize; } + protected: virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2); @@ -100,7 +121,7 @@ private: size_t depth, size_t folder); - wxImageList *m_imageListNormal; + 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 @@ -125,6 +146,15 @@ public: void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); + void OnTogButtons(wxCommandEvent& event) { TogStyle(wxTR_HAS_BUTTONS); } + void OnTogTwist(wxCommandEvent& event) { TogStyle(wxTR_TWIST_BUTTONS); } + void OnTogLines(wxCommandEvent& event) { TogStyle(wxTR_NO_LINES); } + void OnTogEdit(wxCommandEvent& event) { TogStyle(wxTR_EDIT_LABELS); } + void OnTogHideRoot(wxCommandEvent& event) { TogStyle(wxTR_HIDE_ROOT); } + void OnTogRootLines(wxCommandEvent& event) { TogStyle(wxTR_LINES_AT_ROOT); } + void OnTogBorder(wxCommandEvent& event) { TogStyle(wxTR_ROW_LINES); } + void OnTogFullHighlight(wxCommandEvent& event) { TogStyle(wxTR_FULL_ROW_HIGHLIGHT); } + void OnDump(wxCommandEvent& event); #ifndef NO_MULTIPLE_SELECTION void OnDumpSelected(wxCommandEvent& event); @@ -137,6 +167,7 @@ public: void OnDeleteAll(wxCommandEvent& event); void OnRecreate(wxCommandEvent& event); + void OnToggleButtons(wxCommandEvent& event); void OnToggleImages(wxCommandEvent& event); void OnSetImageSize(wxCommandEvent& event); void OnCollapseAndReset(wxCommandEvent& event); @@ -167,6 +198,8 @@ public: void OnSize(wxSizeEvent& event); private: + void TogStyle(long flag); + void DoSort(bool reverse = FALSE); void Resize(const wxSize& size); @@ -184,20 +217,29 @@ enum { TreeTest_Quit, TreeTest_About, + TreeTest_TogButtons, + TreeTest_TogTwist, + TreeTest_TogLines, + TreeTest_TogEdit, + TreeTest_TogHideRoot, + TreeTest_TogRootLines, + TreeTest_TogBorder, + TreeTest_TogFullHighlight, TreeTest_Dump, TreeTest_DumpSelected, TreeTest_Count, TreeTest_CountRec, TreeTest_Sort, TreeTest_SortRev, - TreeTest_Bold, - TreeTest_UnBold, + TreeTest_SetBold, + TreeTest_ClearBold, TreeTest_Rename, TreeTest_Delete, TreeTest_DeleteChildren, TreeTest_DeleteAll, TreeTest_Recreate, TreeTest_ToggleImages, + TreeTest_ToggleButtons, TreeTest_SetImageSize, TreeTest_ToggleSel, TreeTest_CollapseAndReset,