]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/propgrid/propgrid.cpp
don't draw borders for bitmap buttons with wxBORDER_NONE style
[wxWidgets.git] / samples / propgrid / propgrid.cpp
index 56abbad6d29b28cc8038b8e0a8a9ee29f6030b69..9b1dc821495d9754acd749a3e8b3938d68d80271 100644 (file)
@@ -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() { }
@@ -494,7 +493,9 @@ void wxVectorProperty::RefreshChildren()
     Item(2)->SetValue( vector.z );
 }
 
-void wxVectorProperty::ChildChanged( wxVariant& thisValue, int childIndex, wxVariant& childValue ) const
+wxVariant wxVectorProperty::ChildChanged( wxVariant& thisValue,
+                                          int childIndex,
+                                          wxVariant& childValue ) const
 {
     wxVector3f vector;
     vector << thisValue;
@@ -504,7 +505,9 @@ void wxVectorProperty::ChildChanged( wxVariant& thisValue, int childIndex, wxVar
         case 1: vector.y = childValue.GetDouble(); break;
         case 2: vector.z = childValue.GetDouble(); break;
     }
-    thisValue << vector;
+    wxVariant newVariant;
+    newVariant << vector;
+    return newVariant;
 }
 
 
@@ -526,10 +529,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() { }
@@ -543,7 +545,9 @@ void wxTriangleProperty::RefreshChildren()
     Item(2)->SetValue( WXVARIANT(triangle.c) );
 }
 
-void wxTriangleProperty::ChildChanged( wxVariant& thisValue, int childIndex, wxVariant& childValue ) const
+wxVariant wxTriangleProperty::ChildChanged( wxVariant& thisValue,
+                                            int childIndex,
+                                            wxVariant& childValue ) const
 {
     wxTriangle triangle;
     triangle << thisValue;
@@ -554,7 +558,9 @@ void wxTriangleProperty::ChildChanged( wxVariant& thisValue, int childIndex, wxV
         case 1: triangle.b = vector; break;
         case 2: triangle.c = vector; break;
     }
-    thisValue << triangle;
+    wxVariant newVariant;
+    newVariant << triangle;
+    return newVariant;
 }
 
 
@@ -914,11 +920,11 @@ void FormMain::OnPropertyGridChange( wxPropertyGridEvent& event )
         SetSize ( m_pPropGridManager->GetPropertyValueAsInt(property), -1, -1, -1, wxSIZE_USE_EXISTING );
     else if ( name == wxT("Y") )
     // wxPGVariantToInt is safe long int value getter
-        SetSize ( -1, wxPGVariantToInt(value), -1, -1, wxSIZE_USE_EXISTING );
+        SetSize ( -1, value.GetLong(), -1, -1, wxSIZE_USE_EXISTING );
     else if ( name == wxT("Width") )
         SetSize ( -1, -1, m_pPropGridManager->GetPropertyValueAsInt(property), -1, wxSIZE_USE_EXISTING );
     else if ( name == wxT("Height") )
-        SetSize ( -1, -1, -1, wxPGVariantToInt(value), wxSIZE_USE_EXISTING );
+        SetSize ( -1, -1, -1, value.GetLong(), wxSIZE_USE_EXISTING );
     else if ( name == wxT("Label") )
     {
         SetTitle ( m_pPropGridManager->GetPropertyValueAsString(property) );
@@ -1727,11 +1733,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 );