X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1c4293cb91327247ad69e6ec8d589bfaa299db28..48889bca6f8b2504f78c0f47b32f5e95c64d915d:/samples/propgrid/propgrid_minimal.cpp diff --git a/samples/propgrid/propgrid_minimal.cpp b/samples/propgrid/propgrid_minimal.cpp index cd0b4e0385..0cc84bae06 100644 --- a/samples/propgrid/propgrid_minimal.cpp +++ b/samples/propgrid/propgrid_minimal.cpp @@ -4,13 +4,14 @@ // Author: Jaakko Salli // Modified by: // Created: 2008-08-23 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// #include "wx/wx.h" #include "wx/propgrid/propgrid.h" +#include "wx/propgrid/advprops.h" class MyFrame : public wxFrame { @@ -19,24 +20,17 @@ public: void OnAction(wxCommandEvent& event); void OnPropertyGridChange(wxPropertyGridEvent& event); + void OnPropertyGridChanging(wxPropertyGridEvent& event); private: wxPropertyGrid* m_pg; DECLARE_EVENT_TABLE() }; -// -// Called from propgridsample.cpp -// -void DisplayMinimalFrame(wxWindow* parent) -{ - MyFrame *frame = new MyFrame(parent); - frame->Show(true); -} - BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(wxID_HIGHEST+1, MyFrame::OnAction) EVT_PG_CHANGED( -1, MyFrame::OnPropertyGridChange ) + EVT_PG_CHANGING( -1, MyFrame::OnPropertyGridChanging ) END_EVENT_TABLE() MyFrame::MyFrame(wxWindow* parent) @@ -53,39 +47,9 @@ MyFrame::MyFrame(wxWindow* parent) wxPG_BOLD_MODIFIED ); m_pg = pg; - for ( int i=0; i< 20; i++ ) - pg->Append(new wxStringProperty(wxString::Format(wxT("Item %i"),i), wxPG_LABEL)); - - wxPGProperty* topId; - wxPGProperty* medId; - wxPGProperty* botId; - - topId = pg->Append( new wxStringProperty(wxT("Top Item"), wxPG_LABEL, wxT("")) ); - pg->LimitPropertyEditing(topId, true); - medId = pg->AppendIn( topId, new wxStringProperty(wxT("Medium Level Item A"), wxPG_LABEL, wxT("")) ); - pg->LimitPropertyEditing(medId, true); - botId = pg->AppendIn( medId, new wxStringProperty(wxT("Position"), wxPG_LABEL, wxT("")) ); - pg->LimitPropertyEditing(botId, true); - pg->AppendIn( botId, new wxFloatProperty(wxT("x"), wxPG_LABEL, 1.0) ); - pg->AppendIn( botId, new wxFloatProperty(wxT("y"), wxPG_LABEL, 2.0) ); - pg->AppendIn( botId, new wxFloatProperty(wxT("z"), wxPG_LABEL, 3.0) ); - pg->AppendIn( medId, new wxStringProperty(wxT("Name"), wxPG_LABEL, wxT("name")) ); - medId = pg->AppendIn( topId, new wxStringProperty(wxT("Medium Level Item B"), wxPG_LABEL, wxT("")) ); - pg->LimitPropertyEditing(medId, true); - botId = pg->AppendIn( medId, new wxStringProperty(wxT("Position"), wxPG_LABEL, wxT("")) ); - pg->LimitPropertyEditing(botId, true); - pg->AppendIn( botId, new wxFloatProperty(wxT("x"), wxPG_LABEL, 1.0) ); - pg->AppendIn( botId, new wxFloatProperty(wxT("y"), wxPG_LABEL, 2.0) ); - pg->AppendIn( botId, new wxFloatProperty(wxT("z"), wxPG_LABEL, 3.0) ); - pg->AppendIn( medId, new wxStringProperty(wxT("Name"), wxPG_LABEL, wxT("name")) ); - medId = pg->AppendIn( topId, new wxStringProperty(wxT("Medium Level Item C"), wxPG_LABEL, wxT("")) ); - pg->LimitPropertyEditing(medId, true); - botId = pg->AppendIn( medId, new wxStringProperty(wxT("Position"), wxPG_LABEL, wxT("")) ); - pg->LimitPropertyEditing(botId, true); - pg->AppendIn( botId, new wxFloatProperty(wxT("x"), wxPG_LABEL, 1.0) ); - pg->AppendIn( botId, new wxFloatProperty(wxT("y"), wxPG_LABEL, 2.0) ); - pg->AppendIn( botId, new wxFloatProperty(wxT("z"), wxPG_LABEL, 3.0) ); - pg->AppendIn( medId, new wxStringProperty(wxT("Name"), wxPG_LABEL, wxT("name")) ); + pg->Append( new wxStringProperty("String Property", wxPG_LABEL) ); + pg->Append( new wxIntProperty("Int Property", wxPG_LABEL) ); + pg->Append( new wxBoolProperty("Bool Property", wxPG_LABEL) ); SetSize(400, 600); } @@ -94,14 +58,28 @@ void MyFrame::OnPropertyGridChange(wxPropertyGridEvent &event) { wxPGProperty* p = event.GetProperty(); - wxLogDebug(wxT("OnPropertyGridChange(%s)"), p->GetName().c_str()); + if ( p ) + wxLogDebug("OnPropertyGridChange(%s, value=%s)", + p->GetName().c_str(), p->GetValueAsString().c_str()); + else + wxLogDebug("OnPropertyGridChange(NULL)"); +} - if ( p->GetBaseName() == wxT("x") ) - { - wxLogDebug(wxT("double values=%.2f)"), m_pg->GetPropertyValueAsDouble(p)); - } +void MyFrame::OnPropertyGridChanging(wxPropertyGridEvent &event) +{ + wxPGProperty* p = event.GetProperty(); + + wxLogDebug("OnPropertyGridChanging(%s)", p->GetName().c_str()); } void MyFrame::OnAction(wxCommandEvent &) { } + +// Called from propgridsample.cpp +// +void DisplayMinimalFrame(wxWindow* parent) +{ + MyFrame *frame = new MyFrame(parent); + frame->Show(true); +}