]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/propgrid/tests.cpp
Update configuration for OpenVMS
[wxWidgets.git] / samples / propgrid / tests.cpp
index 7d04a32313b158243ad2b576d88fd5c1914592c1..331e7e8a096fdbcbce465215f10633c204fca61f 100644 (file)
@@ -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,