virtual wxListCtrl support (UNTESTED)
[wxWidgets.git] / samples / listctrl / listtest.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: listctrl.h
3 // Purpose: wxListCtrl sample
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 04/01/98
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart and Markus Holzem
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 // Define a new application type
13 class MyApp: public wxApp
14 {
15 public:
16 virtual bool OnInit();
17 };
18
19 class MyListCtrl: public wxListCtrl
20 {
21 public:
22 MyListCtrl(wxWindow *parent, const wxWindowID id, const wxPoint& pos,
23 const wxSize& size, long style):
24 wxListCtrl(parent, id, pos, size, style)
25 {
26 }
27
28 void OnColClick(wxListEvent& event);
29 void OnBeginDrag(wxListEvent& event);
30 void OnBeginRDrag(wxListEvent& event);
31 void OnBeginLabelEdit(wxListEvent& event);
32 void OnEndLabelEdit(wxListEvent& event);
33 void OnDeleteItem(wxListEvent& event);
34 void OnDeleteAllItems(wxListEvent& event);
35 void OnGetInfo(wxListEvent& event);
36 void OnSetInfo(wxListEvent& event);
37 void OnSelected(wxListEvent& event);
38 void OnDeselected(wxListEvent& event);
39 void OnListKeyDown(wxListEvent& event);
40 void OnActivated(wxListEvent& event);
41
42 void OnChar(wxKeyEvent& event);
43
44 private:
45 void LogEvent(const wxListEvent& event, const wxChar *eventName);
46
47 virtual wxString OnGetItemText(long item, long column) const;
48 virtual int OnGetItemImage(long item) const;
49
50 DECLARE_EVENT_TABLE()
51 };
52
53 // Define a new frame type
54 class MyFrame: public wxFrame
55 {
56 public:
57 MyListCtrl *m_listCtrl;
58 wxTextCtrl *m_logWindow;
59
60 MyFrame(const wxChar *title, int x, int y, int w, int h);
61 ~MyFrame();
62
63 public:
64 void OnSize(wxSizeEvent& event);
65
66 void OnQuit(wxCommandEvent& event);
67 void OnAbout(wxCommandEvent& event);
68 void OnListView(wxCommandEvent& event);
69 void OnReportView(wxCommandEvent& event);
70 void OnIconView(wxCommandEvent& event);
71 void OnIconTextView(wxCommandEvent& event);
72 void OnSmallIconView(wxCommandEvent& event);
73 void OnSmallIconTextView(wxCommandEvent& event);
74 void OnVirtualView(wxCommandEvent& event);
75
76 void OnToggleFirstSel(wxCommandEvent& event);
77 void OnDeselectAll(wxCommandEvent& event);
78 void OnSelectAll(wxCommandEvent& event);
79 void OnAdd(wxCommandEvent& event);
80 void OnDelete(wxCommandEvent& event);
81 void OnDeleteAll(wxCommandEvent& event);
82 void OnSort(wxCommandEvent& event);
83 void OnSetFgColour(wxCommandEvent& event);
84 void OnSetBgColour(wxCommandEvent& event);
85 void OnToggleMultiSel(wxCommandEvent& event);
86 void OnShowColInfo(wxCommandEvent& event);
87
88 void OnUpdateShowColInfo(wxUpdateUIEvent& event);
89
90 wxImageList *m_imageListNormal;
91 wxImageList *m_imageListSmall;
92
93 private:
94 wxLog *m_logOld;
95
96 DECLARE_EVENT_TABLE()
97 };
98
99
100 // IDs for the menu commands
101 enum
102 {
103 LIST_ABOUT,
104 LIST_QUIT,
105
106 LIST_LIST_VIEW,
107 LIST_ICON_VIEW,
108 LIST_ICON_TEXT_VIEW,
109 LIST_SMALL_ICON_VIEW,
110 LIST_SMALL_ICON_TEXT_VIEW,
111 LIST_REPORT_VIEW,
112 LIST_VIRTUAL_VIEW,
113
114 LIST_DESELECT_ALL,
115 LIST_SELECT_ALL,
116 LIST_DELETE_ALL,
117 LIST_DELETE,
118 LIST_ADD,
119 LIST_SORT,
120 LIST_SET_FG_COL,
121 LIST_SET_BG_COL,
122 LIST_TOGGLE_MULTI_SEL,
123 LIST_TOGGLE_FIRST,
124 LIST_SHOW_COL_INFO,
125
126 LIST_CTRL = 1000
127 };
128