]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/propgrid/advprops.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / propgrid / advprops.h
index bb02c2eaea4560989ad8979d6bb70e4fa6e0c6b8..16bda4ed9120ce21eb5adf8e7c2ca802914b7903 100644 (file)
@@ -4,29 +4,26 @@
 // Author:      Jaakko Salli
 // Modified by:
 // Created:     2004-09-25
-// RCS-ID:      $Id$
 // Copyright:   (c) Jaakko Salli
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_PROPGRID_ADVPROPS_H_
 #define _WX_PROPGRID_ADVPROPS_H_
 
+#include "wx/defs.h"
+
 #if wxUSE_PROPGRID
 
 #include "wx/propgrid/props.h"
 
 // -----------------------------------------------------------------------
 
-
 //
 // Additional Value Type Handlers
 //
-#ifndef SWIG
 bool WXDLLIMPEXP_PROPGRID
 operator==(const wxArrayInt& array1, const wxArrayInt& array2);
-#endif
-
 
 //
 // Additional Property Editors
@@ -123,7 +120,6 @@ public:
         Init( type, colour );
     }
 
-#ifndef SWIG
     void operator=(const wxColourPropertyValue& cpv)
     {
         if (this != &cpv)
@@ -132,39 +128,23 @@ public:
 
 private:
     DECLARE_DYNAMIC_CLASS(wxColourPropertyValue)
-#endif
 };
 
 
-#ifndef SWIG
 bool WXDLLIMPEXP_PROPGRID
 operator==(const wxColourPropertyValue&, const wxColourPropertyValue&);
 
 DECLARE_VARIANT_OBJECT_EXPORTED(wxColourPropertyValue, WXDLLIMPEXP_PROPGRID)
 
-#endif
-
-#ifndef SWIG
-    #define wxPG_EMPTY_CPV          (*((wxColourPropertyValue*)NULL))
-    #define wxPG_NORMAL_FONT        (*wxNORMAL_FONT)
-#else
-    #define wxPG_EMPTY_CPV          wxCPV_wxPG_EMPTY
-    #define wxPG_NORMAL_FONT        wxFONT_wxPG_NORMAL_FONT
-#endif
-
-
 // -----------------------------------------------------------------------
 // Declare part of custom colour property macro pairs.
 
-#if wxUSE_IMAGE || defined(SWIG)
+#if wxUSE_IMAGE
     #include "wx/image.h"
 #endif
 
 // -----------------------------------------------------------------------
 
-// Exclude class from wxPython bindings
-#ifndef SWIG
-
 /** @class wxFontProperty
     @ingroup classes
     Property representing wxFont.
@@ -182,15 +162,14 @@ 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:
 };
 
-#endif  // !SWIG
-
 // -----------------------------------------------------------------------
 
 
@@ -223,7 +202,8 @@ public:
         Override in derived class to customize how colours are printed as
         strings.
     */
-    virtual wxString ColourToString( const wxColour& col, int index ) const;
+    virtual wxString ColourToString( const wxColour& col, int index,
+                                     int argFlags = 0 ) const;
 
     /** Returns index of entry that triggers colour picker dialog
         (default is last).
@@ -255,10 +235,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 );
@@ -302,9 +282,6 @@ private:
 
 // -----------------------------------------------------------------------
 
-// Exclude classes from wxPython bindings
-#ifndef SWIG
-
 /** @class wxCursorProperty
     @ingroup classes
     Property representing wxCursor.
@@ -356,7 +333,7 @@ protected:
 
 #endif
 
-#if wxUSE_CHOICEDLG || defined(SWIG)
+#if wxUSE_CHOICEDLG
 
 /** @class wxMultiChoiceProperty
     @ingroup classes
@@ -379,7 +356,6 @@ public:
                            const wxString& name,
                            const wxArrayString& strings,
                            const wxArrayString& value );
-#ifndef SWIG
     wxMultiChoiceProperty( const wxString& label,
                            const wxString& name,
                            const wxPGChoices& choices,
@@ -388,7 +364,7 @@ public:
     wxMultiChoiceProperty( const wxString& label = wxPG_LABEL,
                            const wxString& name = wxPG_LABEL,
                            const wxArrayString& value = wxArrayString() );
-#endif
+
     virtual ~wxMultiChoiceProperty();
 
     virtual void OnSetValue();
@@ -430,7 +406,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
 {
@@ -442,6 +419,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,
@@ -486,8 +464,6 @@ protected:
 
 #endif // wxUSE_DATETIME
 
-#endif // !SWIG
-
 // -----------------------------------------------------------------------
 
 #if wxUSE_SPINBTN