#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)
// 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, "",
// 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);
+class MyApp : public wxApp
+{
+public:
+ bool OnInit();
+};
- wxImageList *m_imageListNormal;
+class MyTreeItemData : public wxTreeItemData
+{
+public:
+ MyTreeItemData(const wxString& desc) : m_desc(desc) { }
+
+ void ShowInfo(wxTreeCtrl *tree);
+
+private:
+ wxString m_desc;
};
-class MyTreeCtrl: public wxTreeCtrl
+class MyTreeCtrl : public wxTreeCtrl
{
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()
+ enum
+ {
+ TreeCtrlIcon_Folder,
+ TreeCtrlIcon_File
+ };
+
+ 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:
- 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()
-};
-
-class MyTreeItemData : public wxTreeItemData
{
public:
- MyTreeItemData(const wxString& desc) : m_desc(desc) { }
+ // ctor and dtor
+ MyFrame(const wxString& title, int x, int y, int w, int h);
+ virtual ~MyFrame();
- void ShowInfo(wxTreeCtrl *tree);
+ // menu callbacks
+ void OnQuit(wxCommandEvent& event);
+ void OnAbout(wxCommandEvent& event);
private:
- wxString m_desc;
-};
+ MyTreeCtrl *m_treeCtrl;
-// ID for the menu quit command
-#define TREE_QUIT 1
-#define TREE_ABOUT 102
+ DECLARE_EVENT_TABLE()
+};
-#define TREE_CTRL 1000
+// menu and control ids
+enum
+{
+ TreeTest_Quit,
+ TreeTest_About,
+ TreeTest_Ctrl = 100
+};
enum
{