X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4e0bdd562d02fa8e0e101f091547dae9ee6fee7e..14619f10b0bdb630206607abd0ce0319d45e095a:/samples/propgrid/tests.cpp diff --git a/samples/propgrid/tests.cpp b/samples/propgrid/tests.cpp index 6387b62ba3..d432334cb5 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" @@ -88,12 +88,14 @@ public: return wxColour(); } - virtual wxString ColourToString( const wxColour& col, int index ) const + virtual wxString ColourToString( const wxColour& col, + int index, + int argFlags = 0 ) const { if ( index == (int)(m_choices.GetCount()-1) ) return wxT(""); - return wxColourProperty::ColourToString(col, index); + return wxColourProperty::ColourToString(col, index, argFlags); } virtual int GetCustomColourIndex() const @@ -106,7 +108,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 +516,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 +524,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 +535,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 +543,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 +552,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 +618,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 +757,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 +892,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 +1075,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 +1180,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, @@ -1345,7 +1394,7 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) s = wxString::Format(wxT("%i tests failed!!!"), failures); #ifdef __WXDEBUG__ else - s = wxString::Format(wxT("All tests were succesfull, but there were %i warnings!"), wxPGGlobalVars->m_warnings); + s = wxString::Format(wxT("All tests were successful, but there were %i warnings!"), wxPGGlobalVars->m_warnings); #endif RT_MSG(s) for ( i=0; i