X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2ca6599064412d76ad84076b8ba90db8cfef65c..2126732187091fcdb61329b9ba2821627469f44a:/include/wx/propgrid/propgridiface.h?ds=sidebyside diff --git a/include/wx/propgrid/propgridiface.h b/include/wx/propgrid/propgridiface.h index 069a704989..dda25e1faf 100644 --- a/include/wx/propgrid/propgridiface.h +++ b/include/wx/propgrid/propgridiface.h @@ -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(); } @@ -1008,7 +1030,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 @@ -1204,6 +1231,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):