wxWidgets/samples/treectrl/treetest.h
Vadim Zeitlin 4832f7c06c 1. GetNextChild() bug fixed in generic version
2. GetChildrenCount(bool recursive) added to all versions, implemented
   only in the generic one so far
3. Sample slightly modified to show new function


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-13 20:47:22 +00:00

108 lines
2.4 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: treetest.h
// Purpose: wxTreeCtrl sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Markus Holzem
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// Define a new application type
class MyApp : public wxApp
{
public:
bool OnInit();
};
class MyTreeItemData : public wxTreeItemData
{
public:
MyTreeItemData(const wxString& desc) : m_desc(desc) { }
void ShowInfo(wxTreeCtrl *tree);
private:
wxString m_desc;
};
class MyTreeCtrl : public wxTreeCtrl
{
public:
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);
void GetItemsRecursively(const wxTreeItemId& idParent, long cookie);
private:
void AddItemsRecursively(const wxTreeItemId& idParent,
size_t nChildren,
size_t depth,
size_t folder);
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);
void OnDump(wxCommandEvent& event);
private:
MyTreeCtrl *m_treeCtrl;
DECLARE_EVENT_TABLE()
};
// menu and control ids
enum
{
TreeTest_Quit,
TreeTest_About,
TreeTest_Dump,
TreeTest_Ctrl = 100
};
enum
{
TreeCtrlIcon_File,
TreeCtrlIcon_Folder
};