]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/propgrid/tests.cpp
RCS-IDs
[wxWidgets.git] / samples / propgrid / tests.cpp
index 217229f64061a0b59e2a89e583ae70c2f61d796a..7dfc121822113c1d628ae2bccd378a7545e713cb 100644 (file)
@@ -238,7 +238,7 @@ void FormMain::AddTestProperties( wxPropertyGridPage* pg )
 
     pg->Append( new MyColourProperty3(wxT("CustomColourProperty3"), wxPG_LABEL, *wxGREEN) );
     pg->GetProperty(wxT("CustomColourProperty3"))->SetFlag(wxPG_PROP_AUTO_UNSPECIFIED);
-    pg->SetPropertyEditor( wxT("CustomColourProperty3"), wxPG_EDITOR(ComboBox) );
+    pg->SetPropertyEditor( wxT("CustomColourProperty3"), wxPGEditor_ComboBox );
 
     pg->SetPropertyHelpString(wxT("CustomColourProperty3"),
         wxT("This is a MyColourProperty3 from the sample app. ")
@@ -755,13 +755,12 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
         pgman->SetPropertyValue(wxT("FloatProperty"),1024.0000000001);
         pgman->SetPropertyValue(wxT("BoolProperty"),FALSE);
         pgman->SetPropertyValue(wxT("EnumProperty"),120);
-        pgman->SetPropertyValue(wxT("Custom FlagsProperty"),FLAG_TEST_SET1);
         pgman->SetPropertyValue(wxT("ArrayStringProperty"),test_arrstr_1);
         wxColour emptyCol;
         pgman->SetPropertyValue(wxT("ColourProperty"),emptyCol);
         pgman->SetPropertyValue(wxT("ColourProperty"),(wxObject*)wxBLACK);
-        pgman->SetPropertyValue(wxT("Size"),wxSize(150,150));
-        pgman->SetPropertyValue(wxT("Position"),wxPoint(150,150));
+        pgman->SetPropertyValue(wxT("Size"),WXVARIANT(wxSize(150,150)));
+        pgman->SetPropertyValue(wxT("Position"),WXVARIANT(wxPoint(150,150)));
         pgman->SetPropertyValue(wxT("MultiChoiceProperty"),test_arrint_1);
 #if wxUSE_DATETIME
         pgman->SetPropertyValue(wxT("DateProperty"),dt1);
@@ -782,15 +781,13 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
             RT_FAILURE();
         if ( pg->GetPropertyValueAsArrayString(wxT("ArrayStringProperty")) != test_arrstr_1 )
             RT_FAILURE();
-        if ( pg->GetPropertyValueAsLong(wxT("Custom FlagsProperty")) != FLAG_TEST_SET1 )
-            RT_FAILURE();
         wxColour col;
         col << pgman->GetPropertyValue(wxT("ColourProperty"));
         if ( col != *wxBLACK )
             RT_FAILURE();
-        if ( pg->GetPropertyValueAsSize(wxT("Size")) != wxSize(150,150) )
+        if ( wxSizeRefFromVariant(pg->GetPropertyValue(wxT("Size"))) != wxSize(150,150) )
             RT_FAILURE();
-        if ( pg->GetPropertyValueAsPoint(wxT("Position")) != wxPoint(150,150) )
+        if ( wxPointRefFromVariant(pg->GetPropertyValue(wxT("Position"))) != wxPoint(150,150) )
             RT_FAILURE();
         if ( !(pg->GetPropertyValueAsArrayInt(wxT("MultiChoiceProperty")) == test_arrint_1) )
             RT_FAILURE();
@@ -809,10 +806,9 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
         pg->SetPropertyValue(wxT("BoolProperty"),TRUE);
         pg->SetPropertyValue(wxT("EnumProperty"),80);
         pg->SetPropertyValue(wxT("ArrayStringProperty"),test_arrstr_2);
-        pg->SetPropertyValue(wxT("Custom FlagsProperty"),FLAG_TEST_SET2);
         pg->SetPropertyValue(wxT("ColourProperty"),(wxObject*)wxWHITE);
-        pg->SetPropertyValue(wxT("Size"),wxSize(300,300));
-        pg->SetPropertyValue(wxT("Position"),wxPoint(300,300));
+        pg->SetPropertyValue(wxT("Size"),WXVARIANT(wxSize(300,300)));
+        pg->SetPropertyValue(wxT("Position"),WXVARIANT(wxPoint(300,300)));
         pg->SetPropertyValue(wxT("MultiChoiceProperty"),test_arrint_2);
 #if wxUSE_DATETIME
         pg->SetPropertyValue(wxT("DateProperty"),dt2);
@@ -834,14 +830,12 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
             RT_FAILURE();
         if ( pgman->GetPropertyValueAsArrayString(wxT("ArrayStringProperty")) != test_arrstr_2 )
             RT_FAILURE();
-        if ( pgman->GetPropertyValueAsLong(wxT("Custom FlagsProperty")) != FLAG_TEST_SET2 )
-            RT_FAILURE();
         col << pgman->GetPropertyValue(wxT("ColourProperty"));
         if ( col != *wxWHITE )
             RT_FAILURE();
-        if ( pgman->GetPropertyValueAsSize(wxT("Size")) != wxSize(300,300) )
+        if ( wxSizeRefFromVariant(pgman->GetPropertyValue(wxT("Size"))) != wxSize(300,300) )
             RT_FAILURE();
-        if ( pgman->GetPropertyValueAsPoint(wxT("Position")) != wxPoint(300,300) )
+        if ( wxPointRefFromVariant(pgman->GetPropertyValue(wxT("Position"))) != wxPoint(300,300) )
             RT_FAILURE();
         if ( !(pgman->GetPropertyValueAsArrayInt(wxT("MultiChoiceProperty")) == test_arrint_2) )
             RT_FAILURE();
@@ -854,6 +848,58 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
         if ( pgman->GetPropertyValueAsLongLong(wxT("IntProperty")) != wxLL(-80000000000) )
             RT_FAILURE();
 
+        //
+        // Flexible wx(U)LongLong << operator safety conformance tests
+        wxPGProperty* prop;
+        wxLongLong ll;
+        wxULongLong ull;
+
+        prop = pgman->GetProperty(wxT("IntProperty"));
+        prop->SetValue(128);
+        ll << prop->GetValue();
+        if ( ll != 128 )
+            RT_FAILURE();
+
+        prop->SetValue(WXVARIANT(wxLL(68719476736)));
+        ll << prop->GetValue();
+        if ( ll.GetValue() != wxLL(68719476736) )
+            RT_FAILURE();
+
+#if wxUSE_LONGLONG_NATIVE
+        wxLongLong_t ll_t;
+        ll_t << prop->GetValue();
+        if ( ll_t != wxLL(68719476736) )
+            RT_FAILURE();
+#endif
+
+        prop->SetValue(256);
+        ll << prop->GetValue();
+        if ( ll != 256 )
+            RT_FAILURE();
+
+        prop = pgman->GetProperty(wxT("UIntProperty"));
+        prop->SetValue(128);
+        ull << prop->GetValue();
+        if ( ull != 128 )
+            RT_FAILURE();
+
+        prop->SetValue(WXVARIANT(wxULL(68719476739)));
+        ull << prop->GetValue();
+        if ( ull.GetValue() != wxULL(68719476739) )
+            RT_FAILURE();
+
+#if wxUSE_LONGLONG_NATIVE
+        wxULongLong_t ull_t;
+        ull_t << prop->GetValue();
+        if ( ull_t != wxLL(68719476739) )
+            RT_FAILURE();
+#endif
+
+        prop->SetValue(256);
+        ull << prop->GetValue();
+        if ( ull != 256 )
+            RT_FAILURE();
+
         // Make sure children of composite parent get updated as well
         // Original string value: "Lamborghini Diablo SV; 5707; [300; 3.9; 8.6] 300000"
 
@@ -891,7 +937,6 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
         pgman->SetPropertyValueUnspecified(wxT("BoolProperty"));
         pgman->SetPropertyValueUnspecified(wxT("EnumProperty"));
         pgman->SetPropertyValueUnspecified(wxT("ArrayStringProperty"));
-        pgman->SetPropertyValueUnspecified(wxT("Custom FlagsProperty"));
         pgman->SetPropertyValueUnspecified(wxT("ColourProperty"));
         pgman->SetPropertyValueUnspecified(wxT("Size"));
         pgman->SetPropertyValueUnspecified(wxT("Position"));
@@ -901,6 +946,21 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
 #endif
     }
 
+    {
+        RT_START_TEST(Attributes)
+
+        wxPGProperty* prop = pgman->GetProperty(wxT("StringProperty"));
+        prop->SetAttribute(wxT("Dummy Attribute"), (long)15);
+
+        if ( prop->GetAttribute(wxT("Dummy Attribute")).GetLong() != 15 )
+            RT_FAILURE();
+
+        prop->SetAttribute(wxT("Dummy Attribute"), wxVariant());
+
+        if ( !prop->GetAttribute(wxT("Dummy Attribute")).IsNull() )
+            RT_FAILURE();
+    }
+
     {
         wxPropertyGridPage* page1;
         wxPropertyGridPage* page2;