diff --git a/samples/treectrl/treetest.cpp b/samples/treectrl/treetest.cpp index de810677b1..bceea5430d 100644 --- a/samples/treectrl/treetest.cpp +++ b/samples/treectrl/treetest.cpp @@ -40,25 +40,25 @@ #include "treetest.h" BEGIN_EVENT_TABLE(MyFrame, wxFrame) - EVT_MENU(TREE_QUIT, MyFrame::OnQuit) - EVT_MENU(TREE_ABOUT, MyFrame::OnAbout) + EVT_MENU(TreeTest_Quit, MyFrame::OnQuit) + EVT_MENU(TreeTest_About, MyFrame::OnAbout) END_EVENT_TABLE() BEGIN_EVENT_TABLE(MyTreeCtrl, wxTreeCtrl) - EVT_TREE_BEGIN_DRAG(TREE_CTRL, MyTreeCtrl::OnBeginDrag) - EVT_TREE_BEGIN_RDRAG(TREE_CTRL, MyTreeCtrl::OnBeginRDrag) - EVT_TREE_BEGIN_LABEL_EDIT(TREE_CTRL, MyTreeCtrl::OnBeginLabelEdit) - EVT_TREE_END_LABEL_EDIT(TREE_CTRL, MyTreeCtrl::OnEndLabelEdit) - EVT_TREE_DELETE_ITEM(TREE_CTRL, MyTreeCtrl::OnDeleteItem) - EVT_TREE_GET_INFO(TREE_CTRL, MyTreeCtrl::OnGetInfo) - EVT_TREE_SET_INFO(TREE_CTRL, MyTreeCtrl::OnSetInfo) - EVT_TREE_ITEM_EXPANDED(TREE_CTRL, MyTreeCtrl::OnItemExpanded) - EVT_TREE_ITEM_EXPANDING(TREE_CTRL, MyTreeCtrl::OnItemExpanding) - EVT_TREE_ITEM_COLLAPSED(TREE_CTRL, MyTreeCtrl::OnItemCollapsed) - EVT_TREE_ITEM_COLLAPSING(TREE_CTRL, MyTreeCtrl::OnItemCollapsing) - EVT_TREE_SEL_CHANGED(TREE_CTRL, MyTreeCtrl::OnSelChanged) - EVT_TREE_SEL_CHANGING(TREE_CTRL, MyTreeCtrl::OnSelChanging) - EVT_TREE_KEY_DOWN(TREE_CTRL, MyTreeCtrl::OnKeyDown) + EVT_TREE_BEGIN_DRAG(TreeTest_Ctrl, MyTreeCtrl::OnBeginDrag) + EVT_TREE_BEGIN_RDRAG(TreeTest_Ctrl, MyTreeCtrl::OnBeginRDrag) + EVT_TREE_BEGIN_LABEL_EDIT(TreeTest_Ctrl, MyTreeCtrl::OnBeginLabelEdit) + EVT_TREE_END_LABEL_EDIT(TreeTest_Ctrl, MyTreeCtrl::OnEndLabelEdit) + EVT_TREE_DELETE_ITEM(TreeTest_Ctrl, MyTreeCtrl::OnDeleteItem) + EVT_TREE_GET_INFO(TreeTest_Ctrl, MyTreeCtrl::OnGetInfo) + EVT_TREE_SET_INFO(TreeTest_Ctrl, MyTreeCtrl::OnSetInfo) + EVT_TREE_ITEM_EXPANDED(TreeTest_Ctrl, MyTreeCtrl::OnItemExpanded) + EVT_TREE_ITEM_EXPANDING(TreeTest_Ctrl, MyTreeCtrl::OnItemExpanding) + EVT_TREE_ITEM_COLLAPSED(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsed) + EVT_TREE_ITEM_COLLAPSING(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsing) + EVT_TREE_SEL_CHANGED(TreeTest_Ctrl, MyTreeCtrl::OnSelChanged) + EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging) + EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnKeyDown) END_EVENT_TABLE() IMPLEMENT_APP(MyApp) @@ -92,14 +92,14 @@ MyFrame::MyFrame(const wxString& title, int x, int y, int w, int h) // Make a menubar wxMenu *file_menu = new wxMenu; - file_menu->Append(TREE_ABOUT, "&About..."); - file_menu->Append(TREE_QUIT, "E&xit"); + file_menu->Append(TreeTest_About, "&About..."); + file_menu->Append(TreeTest_Quit, "E&xit"); wxMenuBar *menu_bar = new wxMenuBar; menu_bar->Append(file_menu, "&File"); SetMenuBar(menu_bar); // Make a panel with a message - m_treeCtrl = new MyTreeCtrl(this, TREE_CTRL, + m_treeCtrl = new MyTreeCtrl(this, TreeTest_Ctrl, wxDefaultPosition, wxDefaultSize, wxTR_HAS_BUTTONS | wxSUNKEN_BORDER); wxTextCtrl *textCtrl = new wxTextCtrl(this, -1, "", diff --git a/samples/treectrl/treetest.h b/samples/treectrl/treetest.h index a72ee5fa51..68279c9208 100644 --- a/samples/treectrl/treetest.h +++ b/samples/treectrl/treetest.h @@ -6,64 +6,14 @@ // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// // Define a new application type -class MyApp: public wxApp -{ public: - bool OnInit(void); - - wxImageList *m_imageListNormal; -}; - -class MyTreeCtrl: public wxTreeCtrl +class MyApp : public wxApp { public: - MyTreeCtrl(wxWindow *parent, const wxWindowID id, const wxPoint& pos, - const wxSize& size, long style); - ~MyTreeCtrl(); - - void AddItemsRecursively(const wxTreeItemId& idParent, - size_t numChildren, - size_t depth); - void AddTestItemsToTree(size_t numChildren, - size_t depth); - - - void OnBeginDrag(wxTreeEvent& event); - void OnBeginRDrag(wxTreeEvent& event); - void OnBeginLabelEdit(wxTreeEvent& event); - void OnEndLabelEdit(wxTreeEvent& event); - void OnDeleteItem(wxTreeEvent& event); - void OnGetInfo(wxTreeEvent& event); - void OnSetInfo(wxTreeEvent& event); - void OnItemExpanded(wxTreeEvent& event); - void OnItemExpanding(wxTreeEvent& event); - void OnItemCollapsed(wxTreeEvent& event); - void OnItemCollapsing(wxTreeEvent& event); - void OnSelChanged(wxTreeEvent& event); - void OnSelChanging(wxTreeEvent& event); - void OnKeyDown(wxTreeEvent& event); - - DECLARE_EVENT_TABLE() -}; - -// Define a new frame type -class MyFrame: public wxFrame -{ public: - MyTreeCtrl *m_treeCtrl; - wxTextCtrl *m_logWindow; - - MyFrame(const wxString& title, int x, int y, int w, int h); - ~MyFrame(void); - - public: - void OnQuit(wxCommandEvent& event); - void OnAbout(wxCommandEvent& event); - bool OnClose(void) { return TRUE; } - - DECLARE_EVENT_TABLE() + bool OnInit(); }; class MyTreeItemData : public wxTreeItemData @@ -71,17 +21,79 @@ class MyTreeItemData : public wxTreeItemData public: MyTreeItemData(const wxString& desc) : m_desc(desc) { } - void ShowInfo(wxTreeCtrl *tree); + void ShowInfo(wxTreeCtrl *tree); private: wxString m_desc; }; -// ID for the menu quit command -#define TREE_QUIT 1 -#define TREE_ABOUT 102 +class MyTreeCtrl : public wxTreeCtrl +{ +public: + enum + { + TreeCtrlIcon_Folder, + TreeCtrlIcon_File + }; -#define TREE_CTRL 1000 + MyTreeCtrl(wxWindow *parent, const wxWindowID id, + const wxPoint& pos, const wxSize& size, + long style); + virtual ~MyTreeCtrl(); + + void OnBeginDrag(wxTreeEvent& event); + void OnBeginRDrag(wxTreeEvent& event); + void OnBeginLabelEdit(wxTreeEvent& event); + void OnEndLabelEdit(wxTreeEvent& event); + void OnDeleteItem(wxTreeEvent& event); + void OnGetInfo(wxTreeEvent& event); + void OnSetInfo(wxTreeEvent& event); + void OnItemExpanded(wxTreeEvent& event); + void OnItemExpanding(wxTreeEvent& event); + void OnItemCollapsed(wxTreeEvent& event); + void OnItemCollapsing(wxTreeEvent& event); + void OnSelChanged(wxTreeEvent& event); + void OnSelChanging(wxTreeEvent& event); + void OnKeyDown(wxTreeEvent& event); + +private: + void AddItemsRecursively(const wxTreeItemId& idParent, + size_t nChildren, + size_t depth); + + void AddTestItemsToTree(size_t numChildren, + size_t depth); + + wxImageList *m_imageListNormal; + + DECLARE_EVENT_TABLE() +}; + +// Define a new frame type +class MyFrame: public wxFrame +{ +public: + // ctor and dtor + MyFrame(const wxString& title, int x, int y, int w, int h); + virtual ~MyFrame(); + + // menu callbacks + void OnQuit(wxCommandEvent& event); + void OnAbout(wxCommandEvent& event); + +private: + MyTreeCtrl *m_treeCtrl; + + DECLARE_EVENT_TABLE() +}; + +// menu and control ids +enum +{ + TreeTest_Quit, + TreeTest_About, + TreeTest_Ctrl = 100 +}; enum {