X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c9cc9a2f3e41341a4c04c67137b58faaeaa55366..b09857ae000a60704207d63290be937584805fb0:/interface/wx/propgrid/propgridiface.h diff --git a/interface/wx/propgrid/propgridiface.h b/interface/wx/propgrid/propgridiface.h index 39375cb6a1..98585bf42e 100644 --- a/interface/wx/propgrid/propgridiface.h +++ b/interface/wx/propgrid/propgridiface.h @@ -3,7 +3,7 @@ // Purpose: interface of wxPGProperty // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // ----------------------------------------------------------------------- @@ -91,6 +91,12 @@ public: @return Returns @true if successful or if there was no selection. May fail if validation was enabled and active editor had invalid value. + + @remarks In wxPropertyGrid 1.4, this member function used to send + wxPG_EVT_SELECTED. In wxWidgets 2.9 and later, it no longer + does that. + + @see wxPropertyGrid::SelectProperty() */ bool ClearSelection( bool validation = false); @@ -129,16 +135,26 @@ public: bool ChangePropertyValue( wxPGPropArg id, wxVariant newValue ); /** - Deletes a property. + Removes and deletes a property and any children. - @remarks This functions deselects selected property, if any. Validation - failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, ie. - selection is cleared even if editor had invalid value. + @param id + Pointer or name of a property. + + @remarks If you delete a property in a wxPropertyGrid event + handler, the actual deletion is postponed until the next + idle event. + + This functions deselects selected property, if any. + Validation failure option wxPG_VFB_STAY_IN_PROPERTY is not + respected, ie. selection is cleared even if editor had + invalid value. */ void DeleteProperty( wxPGPropArg id ); /** Disables a property. + + @see EnableProperty(), wxPGProperty::Enable() */ bool DisableProperty( wxPGPropArg id ); @@ -150,12 +166,15 @@ public: bool EditorValidate(); /** - Enables or disables property. + Enables or disables property. Disabled property usually appears as + having grey text. @param id Name or pointer to a property. @param enable If @false, property is disabled instead. + + @see wxPGProperty::Enable() */ bool EnableProperty( wxPGPropArg id, bool enable = true ); @@ -186,6 +205,13 @@ public: */ bool ExpandAll( bool expand = true ); + /** + Returns auto-resize proportion of the given column. + + @see SetColumnProportion() + */ + int GetColumnProportion( unsigned int column ) const; + /** Returns id of first child of given property. @@ -204,10 +230,6 @@ public: Property to start iteration from. If @NULL, then first child of root is used. - @beginWxPythonOnly - wxPython Note: Instead of ++ operator, use Next() method, and - instead of * operator, use GetProperty() method. - @endWxPythonOnly */ wxPropertyGridIterator GetIterator( int flags = wxPG_ITERATE_DEFAULT, wxPGProperty* firstProp = NULL ); @@ -227,10 +249,6 @@ public: from the first property from the top, and wxBOTTOM means that the iteration will instead begin from bottommost valid item. - @beginWxPythonOnly - wxPython Note: Instead of ++ operator, use Next() method, and - instead of * operator, use GetProperty() method. - @endWxPythonOnly */ wxPropertyGridIterator GetIterator( int flags, int startPos ); wxPropertyGridConstIterator GetIterator( int flags, int startPos ) const; @@ -249,7 +267,7 @@ public: If there is no property with such name, @NULL pointer is returned. @remarks Properties which have non-category, non-root parent - can not be accessed globally by their name. Instead, use + cannot be accessed globally by their name. Instead, use "." instead of "". */ wxPGProperty* GetProperty( const wxString& name ) const; @@ -305,7 +323,7 @@ public: If there is no property with such name, @NULL pointer is returned. @remarks Properties which have non-category, non-root parent - can not be accessed globally by their name. Instead, use + cannot be accessed globally by their name. Instead, use "." instead of "". */ wxPGProperty* GetPropertyByName( const wxString& name ) const; @@ -412,7 +430,20 @@ public: wxVariant GetPropertyValues( const wxString& listname = wxEmptyString, wxPGProperty* baseparent = NULL, long flags = 0 ) const; - /** Returns currently selected property. */ + /** + Returns list of currently selected properties. + + @remarks wxArrayPGProperty should be compatible with std::vector API. + */ + const wxArrayPGProperty& GetSelectedProperties() const; + + /** + Returns currently selected property. NULL if none. + + @remarks When wxPG_EX_MULTIPLE_SELECTION extra style is used, this + member function returns the focused property, that is the + one which can have active editor. + */ wxPGProperty* GetSelection() const; /** @@ -422,9 +453,6 @@ public: @param flags See @ref propgrid_iterator_flags. - - wxPython Note: Instead of ++ operator, use Next() method, and - instead of * operator, use GetProperty() method. */ virtual wxPGVIterator GetVIterator( int flags ) const; @@ -532,6 +560,11 @@ public: */ bool IsPropertyModified( wxPGPropArg id ) const; + /** + Returns true if property is selected. + */ + virtual bool IsPropertySelected( wxPGPropArg id ) const; + /** Returns @true if property is shown (ie. HideProperty() with @true not called for it). @@ -558,12 +591,17 @@ public: static void RegisterAdditionalEditors(); /** - Removes and returns a property. + Removes a property. Does not delete the property object, but + instead returns it. @param id Pointer or name of a property. @remarks Removed property cannot have any children. + + Also, if you remove property in a wxPropertyGrid event + handler, the actual removal is postponed until the next + idle event. */ wxPGProperty* RemoveProperty( wxPGPropArg id ); @@ -654,6 +692,20 @@ public: static void SetBoolChoices( const wxString& trueChoice, const wxString& falseChoice ); + /** + Set proportion of a auto-stretchable column. wxPG_SPLITTER_AUTO_CENTER + window style needs to be used to indicate that columns are auto- + resizable. + + @returns Returns @false on failure. + + @remarks You should call this for individual pages of + wxPropertyGridManager (if used). + + @see GetColumnProportion() + */ + bool SetColumnProportion( unsigned int column, int proportion ); + /** Sets an attribute for this property. @@ -689,13 +741,14 @@ public: @param colour New background colour. - @param recursively - If True, child properties are affected recursively. Property - categories are skipped if this flag is used. + @param flags + Default is wxPG_RECURSE which causes colour to be set recursively. + Omit this flag to only set colour for the property in question + and not any of its children. */ void SetPropertyBackgroundColour( wxPGPropArg id, const wxColour& colour, - bool recursively = true ); + int flags = wxPG_RECURSE ); /** Sets text, bitmap, and colours for given column's cell. @@ -769,9 +822,6 @@ public: In other words, user cannot change the value in the editor, but they can still copy it. - @remarks This is mainly for use with textctrl editor. Only some other - editors fully support it. - @param id Property name or pointer. @@ -781,6 +831,9 @@ public: @param flags By default changes are applied recursively. Set this parameter wxPG_DONT_RECURSE to prevent this. + + @remarks This is mainly for use with textctrl editor. Only some other + editors fully support it. */ void SetPropertyReadOnly( wxPGPropArg id, bool set = true, int flags = wxPG_RECURSE ); @@ -836,13 +889,14 @@ public: @param colour New background colour. - @param recursively - If True, child properties are affected recursively. Property - categories are skipped if this flag is used. + @param flags + Default is wxPG_RECURSE which causes colour to be set recursively. + Omit this flag to only set colour for the property in question + and not any of its children. */ void SetPropertyTextColour( wxPGPropArg id, const wxColour& colour, - bool recursively = true ); + int flags = wxPG_RECURSE ); /** Sets validator of a property.