X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ea5af9c5356676a5c4d81b4d4915ad32ca3c9c6e..83a7ab5c711237d32068cce4c82b7e16808d5614:/include/wx/propgrid/propgridiface.h diff --git a/include/wx/propgrid/propgridiface.h b/include/wx/propgrid/propgridiface.h index d71db90dea..a2139e45e9 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. */ @@ -230,15 +239,6 @@ public: */ bool ChangePropertyValue( wxPGPropArg id, wxVariant newValue ); - /** Resets value of a property to its default. */ - bool ClearPropertyValue( wxPGPropArg id ) - { - wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false) - p->SetValue(p->GetDefaultValue()); - RefreshProperty(p); - return true; - } - /** Deletes a property by id. If category is deleted, all children are automatically deleted as well. @@ -275,16 +275,6 @@ public: */ bool ExpandAll( bool expand = true ); - /** Returns list of expanded properties. - */ - wxArrayPGProperty GetExpandedProperties() const - { - wxArrayPGProperty array; - GetPropertiesWithFlag(&array, wxPG_PROP_COLLAPSED, true, - wxPG_ITERATE_ALL_PARENTS_RECURSIVELY|wxPG_ITERATE_HIDDEN); - return array; - } - /** Returns id of first child of given property. @remarks Does not return sub-properties! @@ -373,7 +363,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(); } @@ -852,16 +845,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. @@ -885,13 +868,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 SetPropertyAttributes( wxPGPropArg id, - const wxPGAttributeStorage& attributes ) + 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. + */ + 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. @@ -905,11 +935,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.