]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/propgrid/propgrid_minimal.cpp
Do not use Tooltips if they are disabled
[wxWidgets.git] / samples / propgrid / propgrid_minimal.cpp
index cd0b4e0385ba76d5da7bade27700c239fe7eff56..0cc84bae062b5ace381423d7ebc2a4af876e7a36 100644 (file)
@@ -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("<composed>")) );
-    pg->LimitPropertyEditing(topId, true);
-    medId = pg->AppendIn( topId, new wxStringProperty(wxT("Medium Level Item A"), wxPG_LABEL, wxT("<composed>")) );
-    pg->LimitPropertyEditing(medId, true);
-    botId = pg->AppendIn( medId, new wxStringProperty(wxT("Position"), wxPG_LABEL, wxT("<composed>")) );
-    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("<composed>")) );
-    pg->LimitPropertyEditing(medId, true);
-    botId = pg->AppendIn( medId, new wxStringProperty(wxT("Position"), wxPG_LABEL, wxT("<composed>")) );
-    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("<composed>")) );
-    pg->LimitPropertyEditing(medId, true);
-    botId = pg->AppendIn( medId, new wxStringProperty(wxT("Position"), wxPG_LABEL, wxT("<composed>")) );
-    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);
+}