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);
: 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() { }
: 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() { }
// 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.
+ pg->Append( new wxStringProperty( wxT("StringPropertyWithBitmap"),
+ wxPG_LABEL,
+ wxT("Test Text")) );
+ wxBitmap myTestBitmap(60, 15, 32);
+ wxMemoryDC mdc;
+ mdc.SelectObject(myTestBitmap);
+ mdc.Clear();
+ mdc.SetPen(*wxBLACK);
+ mdc.DrawLine(0, 0, 60, 15);
+ mdc.SelectObject(wxNullBitmap);
+ pg->SetPropertyImage( wxT("StringPropertyWithBitmap"), myTestBitmap );
+
// this value array would be optional if values matched string indexes
//long flags_prop_values[] = { wxICONIZE, wxCAPTION, wxMINIMIZE_BOX, wxMAXIMIZE_BOX };
// 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 );