]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/propgrid/advprops.h
Return old, not new, selection from wxMSW wxNotebook::ChangeSelection().
[wxWidgets.git] / include / wx / propgrid / advprops.h
index 22ae110b34074c65785be6dc564d3cbcddc9bf59..388eb9349a4fe8e7acfd0d9b6e007660fa09312f 100644 (file)
 // -----------------------------------------------------------------------
 
 
+#ifndef SWIG
+
 //
 // Additional Value Type Handlers
 //
-#ifndef SWIG
 bool WXDLLIMPEXP_PROPGRID
 operator==(const wxArrayInt& array1, const wxArrayInt& array2);
-#endif
-
 
 //
 // Additional Property Editors
@@ -39,6 +38,8 @@ WX_PG_DECLARE_EDITOR_WITH_DECL(SpinCtrl,WXDLLIMPEXP_PROPGRID)
 WX_PG_DECLARE_EDITOR_WITH_DECL(DatePickerCtrl,WXDLLIMPEXP_PROPGRID)
 #endif
 
+#endif  // !SWIG
+
 // -----------------------------------------------------------------------
 
 
@@ -126,7 +127,8 @@ public:
 #ifndef SWIG
     void operator=(const wxColourPropertyValue& cpv)
     {
-        Init( cpv.m_type, cpv.m_colour );
+        if (this != &cpv)
+            Init( cpv.m_type, cpv.m_colour );
     }
 
 private:
@@ -144,7 +146,7 @@ DECLARE_VARIANT_OBJECT_EXPORTED(wxColourPropertyValue, WXDLLIMPEXP_PROPGRID)
 #endif
 
 #ifndef SWIG
-    #define wxPG_EMPTY_CPV          (*((wxColourPropertyValue*)NULL))
+    #define wxPG_EMPTY_CPV          (*(NULL))
     #define wxPG_NORMAL_FONT        (*wxNORMAL_FONT)
 #else
     #define wxPG_EMPTY_CPV          wxCPV_wxPG_EMPTY
@@ -155,7 +157,7 @@ DECLARE_VARIANT_OBJECT_EXPORTED(wxColourPropertyValue, WXDLLIMPEXP_PROPGRID)
 // -----------------------------------------------------------------------
 // Declare part of custom colour property macro pairs.
 
-#if wxUSE_IMAGE || defined(SWIG)
+#if wxUSE_IMAGE
     #include "wx/image.h"
 #endif
 
@@ -181,8 +183,9 @@ public:
     virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
     virtual bool OnEvent( wxPropertyGrid* propgrid,
                           wxWindow* primary, wxEvent& event );
-    virtual void ChildChanged( wxVariant& thisValue,
-                               int childIndex, wxVariant& childValue ) const;
+    virtual wxVariant ChildChanged( wxVariant& thisValue,
+                                    int childIndex,
+                                    wxVariant& childValue ) const;
     virtual void RefreshChildren();
 
 protected:
@@ -254,10 +257,10 @@ protected:
 
     // Special constructors to be used by derived classes.
     wxSystemColourProperty( const wxString& label, const wxString& name,
-        const wxChar** labels, const long* values, wxPGChoices* choicesCache,
+        const wxChar* const* labels, const long* values, wxPGChoices* choicesCache,
         const wxColourPropertyValue& value );
     wxSystemColourProperty( const wxString& label, const wxString& name,
-        const wxChar** labels, const long* values, wxPGChoices* choicesCache,
+        const wxChar* const* labels, const long* values, wxPGChoices* choicesCache,
         const wxColour& value );
 
     void Init( int type, const wxColour& colour );
@@ -289,9 +292,10 @@ public:
                       const wxColour& value = *wxWHITE );
     virtual ~wxColourProperty();
 
-protected:
     virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
     virtual wxColour GetColour( int index ) const;
+
+protected:
     virtual wxVariant DoTranslateVal( wxColourPropertyValue& v ) const;
 
 private:
@@ -354,7 +358,7 @@ protected:
 
 #endif
 
-#if wxUSE_CHOICEDLG || defined(SWIG)
+#if wxUSE_CHOICEDLG
 
 /** @class wxMultiChoiceProperty
     @ingroup classes
@@ -428,7 +432,8 @@ protected:
     <b>Supported special attributes:</b>
     - "DateFormat": Determines displayed date format.
     - "PickerStyle": Determines window style used with wxDatePickerCtrl.
-       Default is wxDP_DEFAULT | wxDP_SHOWCENTURY.
+       Default is wxDP_DEFAULT | wxDP_SHOWCENTURY. Using wxDP_ALLOWNONE
+       enables additional support for unspecified property value.
 */
 class WXDLLIMPEXP_PROPGRID wxDateProperty : public wxPGProperty
 {
@@ -440,6 +445,7 @@ public:
                     const wxDateTime& value = wxDateTime() );
     virtual ~wxDateProperty();
 
+    virtual void OnSetValue();
     virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
     virtual bool StringToValue(wxVariant& variant,
                                const wxString& text,