1
/////////////////////////////////////////////////////////////////////////////
2
// Name: propertygridsample.h
3
// Purpose: wxPropertyGrid sample
4
// Author: Jaakko Salli
6
// Created: Sep-25-2004
8
// Copyright: (c) Jaakko Salli
9
// Licence: wxWindows license
10
/////////////////////////////////////////////////////////////////////////////
12
#ifndef _PROPGRIDSAMPLE_H_
13
#define _PROPGRIDSAMPLE_H_
15
// -----------------------------------------------------------------------
16
// Declare custom user properties.
17
// -----------------------------------------------------------------------
19
WX_PG_DECLARE_CUSTOM_COLOUR_PROPERTY_USES_WXCOLOUR(wxMyColourProperty)
21
WX_PG_DECLARE_CUSTOM_COLOUR_PROPERTY(wxMyColour2Property)
23
// -----------------------------------------------------------------------
25
WX_PG_DECLARE_CUSTOM_FLAGS_PROPERTY(wxTestCustomFlagsProperty)
27
WX_PG_DECLARE_CUSTOM_ENUM_PROPERTY(wxTestCustomEnumProperty)
29
// -----------------------------------------------------------------------
31
WX_PG_DECLARE_PROPERTY(wxAdvImageFileProperty,const wxString&,wxEmptyString)
33
// -----------------------------------------------------------------------
42
wxVector3f( double x, double y, double z )
50
bool operator == (const wxVector3f& a, const wxVector3f& b)
52
return (a.x == b.x && a.y == b.y && a.z == b.z);
55
WX_PG_DECLARE_VALUE_TYPE_VOIDP(wxVector3f)
57
WX_PG_DECLARE_PROPERTY(wxVectorProperty,const wxVector3f&,wxVector3f())
59
// -----------------------------------------------------------------------
67
bool operator == (const wxTriangle& a, const wxTriangle& b)
69
return (a.a == b.a && a.b == b.b && a.c == b.c);
72
WX_PG_DECLARE_VALUE_TYPE_VOIDP(wxTriangle)
74
WX_PG_DECLARE_PROPERTY(wxTriangleProperty,const wxTriangle&,wxTriangle())
76
// -----------------------------------------------------------------------
81
// Change this to 0 to see it without the wxPropertyGridManager stuff.
82
#define TESTING_WXPROPERTYGRIDADV 1
84
#define TESTING_WXPROPERTYGRIDADV 0
87
// -----------------------------------------------------------------------
89
// Note that outside Msw we use radiobox instead of tabctrl
90
#if defined(__WXMSW__) && wxMINOR_VERSION < 7
91
# define wxPGS_USE_TABCTRL
94
#ifdef wxPGS_USE_TABCTRL
95
# include <wx/tabctrl.h>
97
# include <wx/radiobox.h>
100
//#undef wxPGS_USE_TABCTRL
102
// -----------------------------------------------------------------------
104
class FormMain : public wxFrame
107
FormMain(const wxString& title, const wxPoint& pos, const wxSize& size );
110
#ifdef wxPGS_USE_TABCTRL
111
wxTabCtrl* m_tabctrl;
113
wxRadioBox* m_radiobox;
116
#if TESTING_WXPROPERTYGRIDADV
117
wxPropertyGridManager* m_pPropGridMan;
119
#define m_pPropGridMan m_propGrid
121
wxPropertyGrid* m_propGrid;
123
wxTextCtrl* m_tcPropLabel;
125
wxPGChoices m_combinedFlags;
127
wxMenuItem* m_itemCatColours;
128
wxMenuItem* m_itemCompact;
129
wxMenuItem* m_itemFreeze;
130
wxMenuItem* m_itemEnable;
132
wxVariant m_storedValues;
135
void PopulateWithStandardItems();
136
void PopulateWithExamples();
137
void PopulateWithLibraryConfig();
139
void OnCloseClick( wxCommandEvent& event );
140
void OnLabelTextChange( wxCommandEvent& event );
142
void OnColourScheme( wxCommandEvent& event );
144
void OnInsertPropClick( wxCommandEvent& event );
145
void OnAppendPropClick( wxCommandEvent& event );
146
void OnClearClick( wxCommandEvent& event );
147
void OnAppendCatClick( wxCommandEvent& event );
148
void OnInsertCatClick( wxCommandEvent& event );
149
void OnDelPropClick( wxCommandEvent& event );
150
void OnDelPropRClick( wxCommandEvent& event );
152
void OnContextMenu( wxContextMenuEvent& event );
154
void OnEnableDisable( wxCommandEvent& event );
155
void OnHideShow( wxCommandEvent& event );
156
void OnSetAsHideable( wxCommandEvent& event );
157
void OnClearModifyStatusClick( wxCommandEvent& event );
158
void OnFreezeClick( wxCommandEvent& event );
159
void OnDumpList( wxCommandEvent& event );
160
void OnCatColours( wxCommandEvent& event );
161
void OnCompact( wxCommandEvent& event );
162
void OnMisc( wxCommandEvent& event );
163
void OnPopulateClick( wxCommandEvent& event );
164
void OnSetSpinCtrlEditorClick( wxCommandEvent& event );
165
void OnTestReplaceClick( wxCommandEvent& event );
167
void OnChangeFlagsPropItemsClick( wxCommandEvent& event );
169
void OnSaveToFileClick( wxCommandEvent& event );
170
void OnLoadFromFileClick( wxCommandEvent& event );
172
void OnSetPropertyValue( wxCommandEvent& event );
173
void OnInsertChoice( wxCommandEvent& event );
174
void OnDeleteChoice( wxCommandEvent& event );
175
void OnInsertPage( wxCommandEvent& event );
176
void OnRemovePage( wxCommandEvent& event );
178
#ifdef wxPGS_USE_TABCTRL
179
void OnTabChange( wxTabEvent& event );
181
void OnRadioBoxChange( wxCommandEvent& event );
184
void OnIterate1Click( wxCommandEvent& event );
185
void OnIterate2Click( wxCommandEvent& event );
186
void OnIterate3Click( wxCommandEvent& event );
187
void OnIterate4Click( wxCommandEvent& event );
189
void OnPropertyGridChange( wxPropertyGridEvent& event );
190
void OnPropertyGridSelect( wxPropertyGridEvent& event );
191
void OnPropertyGridHighlight( wxPropertyGridEvent& event );
192
void OnPropertyGridItemRightClick( wxPropertyGridEvent& event );
193
void OnPropertyGridItemDoubleClick( wxPropertyGridEvent& event );
194
void OnPropertyGridPageChange( wxPropertyGridEvent& event );
195
void OnPropertyGridButtonClick( wxCommandEvent& event );
196
void OnPropertyGridTextUpdate( wxCommandEvent& event );
197
void OnPropertyGridKeyEvent( wxKeyEvent& event );
198
void OnPropertyGridItemCollapse( wxPropertyGridEvent& event );
199
void OnPropertyGridItemExpand( wxPropertyGridEvent& event );
201
void OnAbout( wxCommandEvent& event );
203
void OnMove( wxMoveEvent& event );
204
void OnResize( wxSizeEvent& event );
205
void OnPaint( wxPaintEvent& event );
206
void OnCloseEvent( wxCloseEvent& event );
208
void OnIdle( wxIdleEvent& event );
212
void CustomComboSampleDialog( wxCommandEvent& event );
215
DECLARE_EVENT_TABLE()
218
// -----------------------------------------------------------------------
220
class cxApplication : public wxApp
224
virtual bool OnInit();
230
DECLARE_APP(cxApplication)
232
// -----------------------------------------------------------------------
234
#endif // _PROPGRIDSAMPLE_H_