X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4aee83345e16d3204e4138820610efcfa3313488..ae901b234c4a0aa7c1777b3bd181dd7f8517ad21:/samples/propgrid/propgrid.cpp diff --git a/samples/propgrid/propgrid.cpp b/samples/propgrid/propgrid.cpp index 6a37ae4d25..092b6c6360 100644 --- a/samples/propgrid/propgrid.cpp +++ b/samples/propgrid/propgrid.cpp @@ -134,21 +134,21 @@ bool wxSampleMultiButtonEditor::OnEvent( wxPropertyGrid* propGrid, if ( event.GetId() == buttons->GetButtonId(0) ) { - // Do something when first button is pressed + // Do something when the first button is pressed wxLogDebug("First button pressed"); - return true; + return false; // Return false since value did not change } if ( event.GetId() == buttons->GetButtonId(1) ) { - // Do something when second button is pressed - wxLogDebug("Second button pressed"); - return true; + // Do something when the second button is pressed + wxMessageBox("Second button pressed"); + return false; // Return false since value did not change } if ( event.GetId() == buttons->GetButtonId(2) ) { - // Do something when third button is pressed - wxLogDebug("Third button pressed"); - return true; + // Do something when the third button is pressed + wxMessageBox("Third button pressed"); + return false; // Return false since value did not change } } return wxPGTextCtrlEditor::OnEvent(propGrid, property, ctrl, event); @@ -477,10 +477,9 @@ wxVectorProperty::wxVectorProperty( const wxString& label, : wxPGProperty(label,name) { SetValue( WXVARIANT(value) ); - SetParentalType(wxPG_PROP_AGGREGATE); - AddChild( new wxFloatProperty(wxT("X"),wxPG_LABEL,value.x) ); - AddChild( new wxFloatProperty(wxT("Y"),wxPG_LABEL,value.y) ); - AddChild( new wxFloatProperty(wxT("Z"),wxPG_LABEL,value.z) ); + AddPrivateChild( new wxFloatProperty(wxT("X"),wxPG_LABEL,value.x) ); + AddPrivateChild( new wxFloatProperty(wxT("Y"),wxPG_LABEL,value.y) ); + AddPrivateChild( new wxFloatProperty(wxT("Z"),wxPG_LABEL,value.z) ); } wxVectorProperty::~wxVectorProperty() { } @@ -526,10 +525,9 @@ wxTriangleProperty::wxTriangleProperty( const wxString& label, : wxPGProperty(label,name) { SetValue( WXVARIANT(value) ); - SetParentalType(wxPG_PROP_AGGREGATE); - AddChild( new wxVectorProperty(wxT("A"),wxPG_LABEL,value.a) ); - AddChild( new wxVectorProperty(wxT("B"),wxPG_LABEL,value.b) ); - AddChild( new wxVectorProperty(wxT("C"),wxPG_LABEL,value.c) ); + AddPrivateChild( new wxVectorProperty(wxT("A"),wxPG_LABEL,value.a) ); + AddPrivateChild( new wxVectorProperty(wxT("B"),wxPG_LABEL,value.b) ); + AddPrivateChild( new wxVectorProperty(wxT("C"),wxPG_LABEL,value.c) ); } wxTriangleProperty::~wxTriangleProperty() { } @@ -1531,6 +1529,25 @@ void FormMain::PopulateWithExamples () // Set value after limiting so that it will be applied pg->SetPropertyValue( wxT("StringProperty"), wxT("some text") ); + // + // Demonstrate "AutoComplete" attribute + pg->Append( new wxStringProperty( "StringProperty AutoComplete", + wxPG_LABEL ) ); + + wxArrayString autoCompleteStrings; + autoCompleteStrings.Add("One choice"); + autoCompleteStrings.Add("Another choice"); + autoCompleteStrings.Add("Another choice, yeah"); + autoCompleteStrings.Add("Yet another choice"); + autoCompleteStrings.Add("Yet another choice, bear with me"); + pg->SetPropertyAttribute( "StringProperty AutoComplete", + "AutoComplete", + autoCompleteStrings ); + + pg->SetPropertyHelpString( "StringProperty AutoComplete", + "AutoComplete attribute has been set for this property " + "(try writing something beginning with 'a', 'o' or 'y')."); + // Add string property with arbitrarily wide bitmap in front of it. We // intentionally lower-than-typical row height here so that the ugly // scaling code wont't be run. @@ -1708,11 +1725,12 @@ void FormMain::PopulateWithExamples () // For testing purposes, combine two methods of adding children // - // AddChild() requires that we call this - pid->SetParentalType(wxPG_PROP_MISC_PARENT); - - pid->AddChild( new wxStringProperty(wxT("Latest Release"), wxPG_LABEL, wxT("2.8.8"))); - pid->AddChild( new wxBoolProperty(wxT("Win API"), wxPG_LABEL, true) ); + pid->AppendChild( new wxStringProperty(wxT("Latest Release"), + wxPG_LABEL, + wxT("2.8.10"))); + pid->AppendChild( new wxBoolProperty(wxT("Win API"), + wxPG_LABEL, + true) ); pg->Append( pid );