X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4e0bdd562d02fa8e0e101f091547dae9ee6fee7e..69358718959f700434643f341bfee8f38b55cbb7:/samples/propgrid/tests.cpp diff --git a/samples/propgrid/tests.cpp b/samples/propgrid/tests.cpp index 6387b62ba3..331e7e8a09 100644 --- a/samples/propgrid/tests.cpp +++ b/samples/propgrid/tests.cpp @@ -6,7 +6,7 @@ // Created: 2007-05-16 // RCS-ID: $Id$ // Copyright: (c) Jaakko Salli -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" @@ -106,7 +106,7 @@ public: 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"), @@ -514,7 +514,7 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) wxDateTime testTime = wxDateTime::Now(); any = testTime; prop->SetValue(any); - if ( prop->GetValue().GetAny().As() != testTime ) + if ( wxANY_AS(prop->GetValue().GetAny(), wxDateTime) != testTime ) RT_FAILURE(); #endif @@ -522,10 +522,10 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) int testInt = 25537983; any = testInt; prop->SetValue(any); - if ( prop->GetValue().GetAny().As() != testInt ) + if ( wxANY_AS(prop->GetValue().GetAny(), int) != testInt ) RT_FAILURE(); #ifdef wxLongLong_t - if ( prop->GetValue().GetAny().As() != testInt ) + if ( wxANY_AS(prop->GetValue().GetAny(), wxLongLong_t) != testInt ) RT_FAILURE(); #endif @@ -533,7 +533,7 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) wxString testString = "asd934jfyn3"; any = testString; prop->SetValue(any); - if ( prop->GetValue().GetAny().As() != testString ) + if ( wxANY_AS(prop->GetValue().GetAny(), wxString) != testString ) RT_FAILURE(); // Test with a type generated with IMPLEMENT_VARIANT_OBJECT() @@ -541,7 +541,7 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) wxColour testCol = *wxCYAN; any = testCol; prop->SetValue(any); - if ( prop->GetValue().GetAny().As() != testCol ) + if ( wxANY_AS(prop->GetValue().GetAny(), wxColour) != testCol ) RT_FAILURE(); // Test with a type with custom wxVariantData defined by @@ -550,7 +550,7 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) wxPoint testPoint(199, 199); any = testPoint; prop->SetValue(any); - if ( prop->GetValue().GetAny().As() != testPoint ) + if ( wxANY_AS(prop->GetValue().GetAny(), wxPoint) != testPoint ) RT_FAILURE(); } @@ -616,6 +616,9 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) dt2.SetYear(dt2.GetYear()-10); #endif + wxColour colWithAlpha(1, 128, 254, 100); + wxString colWithAlphaStr(colWithAlpha.GetAsString(wxC2S_CSS_SYNTAX)); + #define FLAG_TEST_SET1 (wxCAPTION|wxCLOSE_BOX|wxSYSTEM_MENU|wxRESIZE_BORDER) #define FLAG_TEST_SET2 (wxSTAY_ON_TOP|wxCAPTION|wxICONIZE|wxSYSTEM_MENU) @@ -752,6 +755,25 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) wxLogDebug("Did not match: Car.Convertible=%s", pgman->GetPropertyValueAsString("Car.Convertible").c_str()); RT_FAILURE(); } + + // SetPropertyValueString for special cases such as wxColour + pgman->SetPropertyValueString("ColourProperty", "(123,4,255)"); + col << pgman->GetPropertyValue("ColourProperty"); + if ( col != wxColour(123, 4, 255) ) + RT_FAILURE(); + pgman->SetPropertyValueString("ColourProperty", "#FE860B"); + col << pgman->GetPropertyValue("ColourProperty"); + if ( col != wxColour(254, 134, 11) ) + RT_FAILURE(); + + pgman->SetPropertyValueString("ColourPropertyWithAlpha", + "(10, 20, 30, 128)"); + col << pgman->GetPropertyValue("ColourPropertyWithAlpha"); + if ( col != wxColour(10, 20, 30, 128) ) + RT_FAILURE(); + if ( pgman->GetPropertyValueAsString("ColourPropertyWithAlpha") + != "(10,20,30,128)" ) + RT_FAILURE(); } { @@ -868,6 +890,27 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) RT_FAILURE(); } + { + RT_START_TEST(DoubleToString) + + // Locale-specific decimal separator + wxString sep = wxString::Format("%g", 1.1)[1]; + + wxString s; + + if ( wxPropertyGrid::DoubleToString(s, 123.123, 2, true) != + wxString::Format("123%s12", sep.c_str()) ) + RT_FAILURE(); + if ( wxPropertyGrid::DoubleToString(s, -123.123, 4, false) != + wxString::Format("-123%s1230", sep.c_str()) ) + RT_FAILURE(); + if ( wxPropertyGrid::DoubleToString(s, -0.02, 1, false) != + wxString::Format("0%s0", sep) ) + RT_FAILURE(); + if ( wxPropertyGrid::DoubleToString(s, -0.000123, 3, true) != "0" ) + RT_FAILURE(); + } + { wxPropertyGridPage* page1; wxPropertyGridPage* page2; @@ -1030,13 +1073,17 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) 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(); } @@ -1131,7 +1178,7 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) InitPanel(); const int trySplitterPos = 50; - + int style = wxPG_AUTO_SORT; // wxPG_SPLITTER_AUTO_CENTER; pgman = m_pPropGridManager = new wxPropertyGridManager(m_panel, wxID_ANY,