]> git.saurik.com Git - wxWidgets.git/blame - samples/propgrid/propgrid_minimal.cpp
Reworked the way child properties can be added to a property that has not yet been...
[wxWidgets.git] / samples / propgrid / propgrid_minimal.cpp
CommitLineData
1c4293cb
VZ
1/////////////////////////////////////////////////////////////////////////////
2// Name: samples/propgrid/propgrid_minimal.cpp
3// Purpose: Minimal portion of wxPropertyGrid sample
4// Author: Jaakko Salli
5// Modified by:
6// Created: 2008-08-23
ea5af9c5 7// RCS-ID: $Id$
1c4293cb
VZ
8// Copyright: (c) Jaakko Salli
9// Licence: wxWindows license
10/////////////////////////////////////////////////////////////////////////////
11
12#include "wx/wx.h"
13#include "wx/propgrid/propgrid.h"
5e2ab81d 14#include "wx/propgrid/advprops.h"
1c4293cb
VZ
15
16class MyFrame : public wxFrame
17{
18public:
19 MyFrame(wxWindow* parent);
20
21 void OnAction(wxCommandEvent& event);
22 void OnPropertyGridChange(wxPropertyGridEvent& event);
0371f89b 23 void OnPropertyGridChanging(wxPropertyGridEvent& event);
1c4293cb
VZ
24
25private:
26 wxPropertyGrid* m_pg;
27 DECLARE_EVENT_TABLE()
28};
29
1c4293cb
VZ
30BEGIN_EVENT_TABLE(MyFrame, wxFrame)
31 EVT_MENU(wxID_HIGHEST+1, MyFrame::OnAction)
32 EVT_PG_CHANGED( -1, MyFrame::OnPropertyGridChange )
0371f89b 33 EVT_PG_CHANGING( -1, MyFrame::OnPropertyGridChanging )
1c4293cb
VZ
34END_EVENT_TABLE()
35
36MyFrame::MyFrame(wxWindow* parent)
37 : wxFrame(parent, wxID_ANY, wxT("PropertyGrid Test"))
38{
39 wxMenu *Menu = new wxMenu;
40 Menu->Append(wxID_HIGHEST+1, wxT("Action"));
41 wxMenuBar *MenuBar = new wxMenuBar();
42 MenuBar->Append(Menu, wxT("Action"));
43 SetMenuBar(MenuBar);
44
45 wxPropertyGrid *pg = new wxPropertyGrid(this,-1,wxDefaultPosition,wxSize(400,400),
46 wxPG_SPLITTER_AUTO_CENTER |
47 wxPG_BOLD_MODIFIED );
48 m_pg = pg;
49
68545f78
JS
50 pg->Append( new wxStringProperty("String Property", wxPG_LABEL) );
51 pg->Append( new wxIntProperty("Int Property", wxPG_LABEL) );
52 pg->Append( new wxBoolProperty("Bool Property", wxPG_LABEL) );
1c4293cb
VZ
53
54 SetSize(400, 600);
55}
56
57void MyFrame::OnPropertyGridChange(wxPropertyGridEvent &event)
58{
59 wxPGProperty* p = event.GetProperty();
60
68545f78 61 if ( p )
0371f89b
JS
62 wxLogDebug("OnPropertyGridChange(%s, value=%s)",
63 p->GetName().c_str(), p->GetValueAsString().c_str());
68545f78
JS
64 else
65 wxLogDebug("OnPropertyGridChange(NULL)");
1c4293cb
VZ
66}
67
0371f89b
JS
68void MyFrame::OnPropertyGridChanging(wxPropertyGridEvent &event)
69{
70 wxPGProperty* p = event.GetProperty();
71
72 wxLogDebug("OnPropertyGridChanging(%s)", p->GetName().c_str());
73}
74
1c4293cb
VZ
75void MyFrame::OnAction(wxCommandEvent &)
76{
77}
68545f78
JS
78
79// Called from propgridsample.cpp
80//
81void DisplayMinimalFrame(wxWindow* parent)
82{
83 MyFrame *frame = new MyFrame(parent);
84 frame->Show(true);
85}