]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/propgrid/propgridiface.h
no changes, just remove #if'd out code
[wxWidgets.git] / include / wx / propgrid / propgridiface.h
index 05592dca15430a6f34361d91dd100dbb48b7b9fd..7694e80027349fe27cb38a4da0b9c5fe31e7ff06 100644 (file)
@@ -76,7 +76,7 @@ public:
     /** This constructor is required for NULL. */
     wxPGPropArgCls( int )
     {
-        m_ptr.property = (wxPGProperty*) NULL;
+        m_ptr.property = NULL;
         m_flags = IsProperty;
     }
     wxPGProperty* GetPtr( wxPropertyGridInterface* iface ) const;
@@ -95,7 +95,7 @@ private:
         IsWxString      = 0x01,
         IsCharPtr       = 0x02,
         IsWCharPtr      = 0x04,
-        OwnsWxString    = 0x10,
+        OwnsWxString    = 0x10
     };
 
     union
@@ -200,9 +200,18 @@ public:
     */
     virtual void Clear() = 0;
 
-    /** Deselect current selection, if any. Returns true if success
-        (ie. validator did not intercept). */
-    bool ClearSelection();
+    /**
+        Clears current selection, if any.
+
+        @param validation
+            If set to @false, deselecting the property will always work,
+            even if its editor had invalid value in it.
+
+        @return Returns @true if successful or if there was no selection. May
+                fail if validation was enabled and active editor had invalid
+                value.
+    */
+    bool ClearSelection( bool validation = false);
 
     /** Resets modified status of all properties.
     */
@@ -236,6 +245,16 @@ public:
      */
     void DeleteProperty( wxPGPropArg id );
 
+    /**
+        Removes and returns a property.
+
+        @param id
+            Pointer or name of a property.
+
+        @remarks Removed property cannot have any children.
+    */
+    wxPGProperty* RemoveProperty( wxPGPropArg id );
+
     /** Disables property. */
     bool DisableProperty( wxPGPropArg id ) { return EnableProperty(id,false); }
 
@@ -333,14 +352,12 @@ public:
     }
 
     /**
-        Returns id of property with given name (case-sensitive).
+        Returns pointer to a property with given name (case-sensitive).
+        If there is no property with such name, @NULL pointer is returned.
 
-        If there is no property with such name, returned property id is invalid
-        ( i.e. it will return false with IsOk method).
-        @remarks
-        - Sub-properties (i.e. properties which have parent that is not
-          category or root) can not be accessed globally by their name.
-          Instead, use "<property>.<subproperty>" in place of "<subproperty>".
+        @remarks Properties which have non-category, non-root parent
+                 can not be accessed globally by their name. Instead, use
+                 "<property>.<subproperty>" instead of "<subproperty>".
     */
     wxPGProperty* GetProperty( const wxString& name ) const
     {
@@ -354,7 +371,10 @@ public:
     */
     const wxPGAttributeStorage& GetPropertyAttributes( wxPGPropArg id ) const
     {
-        wxPG_PROP_ARG_CALL_PROLOG_RETVAL(*((const wxPGAttributeStorage*)NULL));
+        // If 'id' refers to invalid property, then we will return dummy
+        // attributes (ie. root property's attributes, which contents should
+        // should always be empty and of no consequence).
+        wxPG_PROP_ARG_CALL_PROLOG_RETVAL(m_pState->DoGetRoot()->GetAttributes());
         return p->GetAttributes();
     }
 
@@ -833,16 +853,6 @@ public:
     static void SetBoolChoices( const wxString& trueChoice,
                                 const wxString& falseChoice );
 
-    /** Sets or clears flag(s) of all properties in given array.
-        @param flags
-        Property flags to set or clear.
-        @param inverse
-        Set to true if you want to clear flag instead of setting them.
-    */
-    void SetPropertiesFlag( const wxArrayPGProperty& srcArr,
-                            wxPGProperty::FlagType flags,
-                            bool inverse = false );
-
     /** Sets an attribute for this property.
         @param name
             Text identifier of attribute. See @ref propgrid_property_attributes.
@@ -866,13 +876,60 @@ public:
     */
     void SetPropertyAttributeAll( const wxString& attrName, wxVariant value );
 
-    /** Sets attributes from a wxPGAttributeStorage.
+    /**
+        Sets background colour of a property.
+
+        @param id
+            Property name or pointer.
+
+        @param colour
+            New background colour.
+
+        @param recursively
+            If True, child properties are affected recursively. Property
+            categories are skipped if this flag is used.
+    */
+    void SetPropertyBackgroundColour( wxPGPropArg id,
+                                      const wxColour& colour,
+                                      bool recursively = true );
+
+    /** Resets text and background colours of given property.
+    */
+    void SetPropertyColoursToDefault( wxPGPropArg id );
+
+    /**
+        Sets text colour of a property.
+
+        @param id
+            Property name or pointer.
+
+        @param colour
+            New background colour.
+
+        @param recursively
+            If True, child properties are affected recursively. Property
+            categories are skipped if this flag is used.
+    */
+    void SetPropertyTextColour( wxPGPropArg id,
+                                const wxColour& col,
+                                bool recursively = true );
+
+    /**
+        Returns background colour of first cell of a property.
     */
-    void SetPropertyAttributes( wxPGPropArg id,
-                                const wxPGAttributeStorage& attributes )
+    wxColour GetPropertyBackgroundColour( wxPGPropArg id ) const
     {
-        wxPG_PROP_ARG_CALL_PROLOG()
-        p->SetAttributes(attributes);
+        wxPG_PROP_ARG_CALL_PROLOG_RETVAL(wxColour())
+        return p->GetCell(0).GetBgCol();
+    }
+
+    /**
+        Returns text colour of first cell of a property.
+    */
+    wxColour GetPropertyTextColour( wxPGPropArg id ) const
+    {
+        wxPG_PROP_ARG_CALL_PROLOG_RETVAL(wxColour())
+        return p->GetCell(0).GetFgCol();
     }
 
     /** Sets text, bitmap, and colours for given column's cell.
@@ -886,11 +943,7 @@ public:
                           const wxString& text = wxEmptyString,
                           const wxBitmap& bitmap = wxNullBitmap,
                           const wxColour& fgCol = wxNullColour,
-                          const wxColour& bgCol = wxNullColour )
-    {
-        wxPG_PROP_ARG_CALL_PROLOG()
-        p->SetCell( column, new wxPGCell(text, bitmap, fgCol, bgCol) );
-    }
+                          const wxColour& bgCol = wxNullColour );
 
 #ifndef SWIG
     /** Sets client data (void*) of a property.
@@ -975,7 +1028,12 @@ public:
         If it has children (it may be category), then the same thing is done to
         them.
     */
-    void SetPropertyValueUnspecified( wxPGPropArg id );
+    void SetPropertyValueUnspecified( wxPGPropArg id )
+    {
+        wxPG_PROP_ARG_CALL_PROLOG()
+        wxVariant nullVariant;
+        SetPropVal(p, nullVariant);
+    }
 
 #ifndef SWIG
     /** Sets various property values from a list of wxVariants. If property with
@@ -1171,6 +1229,37 @@ public:
     */
     void SetValidationFailureBehavior( int vfbFlags );
 
+    /**
+        Sorts all properties recursively.
+
+        @param flags
+            This can contain any of the following options:
+              wxPG_SORT_TOP_LEVEL_ONLY: Only sort categories and their
+                immediate children. Sorting done by wxPG_AUTO_SORT option
+                uses this.
+
+        @see SortChildren, wxPropertyGrid::SetSortFunction
+    */
+    void Sort( int flags = 0 );
+
+    /**
+        Sorts children of a property.
+
+        @param id
+            Name or pointer to a property.
+
+        @param flags
+            This can contain any of the following options:
+              wxPG_RECURSE: Sorts recursively.
+
+        @see Sort, wxPropertyGrid::SetSortFunction
+    */
+    void SortChildren( wxPGPropArg id, int flags = 0 )
+    {
+        wxPG_PROP_ARG_CALL_PROLOG()
+        m_pState->DoSortChildren(p, flags);
+    }
+
 #ifdef SWIG
     %pythoncode {
         def MapType(class_,factory):