// Created: 2007-05-16
// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
void FormMain::AddTestProperties( wxPropertyGridPage* pg )
{
pg->Append( new MyColourProperty(wxT("CustomColourProperty"), wxPG_LABEL, *wxGREEN) );
- pg->GetProperty(wxT("CustomColourProperty"))->SetFlag(wxPG_PROP_AUTO_UNSPECIFIED);
+ pg->GetProperty(wxT("CustomColourProperty"))->SetAutoUnspecified(true);
pg->SetPropertyEditor( wxT("CustomColourProperty"), wxPGEditor_ComboBox );
pg->SetPropertyHelpString(wxT("CustomColourProperty"),
pgman = m_pPropGridManager;
}
+ {
+ //
+ // Test wxAny<->wxVariant conversion
+ RT_START_TEST(WXVARIANT_TO_WXANY_CONVERSION)
+
+ wxPGProperty* prop;
+ wxAny any;
+
+#if wxUSE_DATETIME
+ prop = pgman->GetProperty("DateProperty");
+ wxDateTime testTime = wxDateTime::Now();
+ any = testTime;
+ prop->SetValue(any);
+ if ( wxANY_AS(prop->GetValue().GetAny(), wxDateTime) != testTime )
+ RT_FAILURE();
+#endif
+
+ prop = pgman->GetProperty("IntProperty");
+ int testInt = 25537983;
+ any = testInt;
+ prop->SetValue(any);
+ if ( wxANY_AS(prop->GetValue().GetAny(), int) != testInt )
+ RT_FAILURE();
+#ifdef wxLongLong_t
+ if ( wxANY_AS(prop->GetValue().GetAny(), wxLongLong_t) != testInt )
+ RT_FAILURE();
+#endif
+
+ prop = pgman->GetProperty("StringProperty");
+ wxString testString = "asd934jfyn3";
+ any = testString;
+ prop->SetValue(any);
+ if ( wxANY_AS(prop->GetValue().GetAny(), wxString) != testString )
+ RT_FAILURE();
+
+ // Test with a type generated with IMPLEMENT_VARIANT_OBJECT()
+ prop = pgman->GetProperty("ColourProperty");
+ wxColour testCol = *wxCYAN;
+ any = testCol;
+ prop->SetValue(any);
+ if ( wxANY_AS(prop->GetValue().GetAny(), wxColour) != testCol )
+ RT_FAILURE();
+
+ // Test with a type with custom wxVariantData defined by
+ // wxPG headers.
+ prop = pgman->GetProperty("Position");
+ wxPoint testPoint(199, 199);
+ any = testPoint;
+ prop->SetValue(any);
+ if ( wxANY_AS(prop->GetValue().GetAny(), wxPoint) != testPoint )
+ RT_FAILURE();
+ }
+
{
RT_START_TEST(GetPropertyValues)
wxPGProperty* p;
wxPGProperty* origParent =
- pgman->GetProperty(wxT("Window Styles"))->GetParent();
+ pgman->GetProperty("Window Styles")->GetParent();
- p = pgman->RemoveProperty(wxT("Window Styles"));
+ // For testing purposes, let's set some custom cell colours
+ p = pgman->GetProperty("Window Styles");
+ p->SetCell(2, wxPGCell("style"));
+ p = pgman->RemoveProperty("Window Styles");
pgman->Refresh();
pgman->Update();
pgman->AppendIn(origParent, p);
+ wxASSERT( p->GetCell(2).GetText() == "style");
pgman->Refresh();
pgman->Update();
}
InitPanel();
const int trySplitterPos = 50;
-
+
int style = wxPG_AUTO_SORT; // wxPG_SPLITTER_AUTO_CENTER;
pgman = m_pPropGridManager =
new wxPropertyGridManager(m_panel, wxID_ANY,