]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/propgrid/propgridiface.h
unhide the second wxTextAreaBase::HitTest() overload to suppress a warning about it
[wxWidgets.git] / include / wx / propgrid / propgridiface.h
index 069a7049897247b2a010b88994148bbafeec39a9..8d8c010f4106da64a5b9f121d47ae4504808b079 100644 (file)
@@ -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); }
 
@@ -354,7 +373,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();
     }