# wxPropertyGridInterface Class Reference
[wxPropertyGrid]

`#include <wx/propgrid/propgridiface.h>`

Inheritance diagram for wxPropertyGridInterface:
[legend]

## Detailed Description

Most of the shared property manipulation interface shared by wxPropertyGrid, wxPropertyGridPage, and wxPropertyGridManager is defined in this class.

Remarks:
  - In separate wxPropertyGrid component this class was known as wxPropertyContainerMethods.

- wxPropertyGridInterface's property operation member functions all accept a special wxPGPropArg id argument, using which you can refer to properties either by their pointer (for performance) or by their name (for conveniency).

##

Library: wxPropertyGrid

Category: wxPropertyGrid

## Public Types
enum | EditableStateFlags { SelectionState = 0x01, ExpandedState = 0x02, ScrollPosState = 0x04, PageState = 0x08, SplitterPosState = 0x10, DescBoxState = 0x20, AllStates }
## Public Member Functions
virtual | ~wxPropertyGridInterface ()
| Destructor.
wxPGProperty * | Append (wxPGProperty *property)
| Appends property to the list.
wxPGProperty * | AppendIn (wxPGPropArg id, wxPGProperty *newProperty)
| Same as Append(), but appends under given parent property.
void | BeginAddChildren (wxPGPropArg id)
| In order to add new items into a property with private children (for instance, wxFlagsProperty), you need to call this method.
virtual void | Clear ()=0
| Deletes all properties.
bool | ClearSelection (bool validation=false)
| Clears current selection, if any.
void | ClearModifiedStatus ()
| Resets modified status of all properties.
bool | Collapse (wxPGPropArg id)
| Collapses given category or property with children.
bool | CollapseAll ()
| Collapses all items that can be collapsed.
bool | ChangePropertyValue (wxPGPropArg id, wxVariant newValue)
| Changes value of a property, as if by user.
void | DeleteProperty (wxPGPropArg id)
| Removes and deletes a property and any children.
bool | DisableProperty (wxPGPropArg id)
| Disables a property.
bool | EditorValidate ()
| Returns true if all property grid data changes have been committed.
bool | EnableProperty (wxPGPropArg id, bool enable=true)
| Enables or disables property.
void | EndAddChildren (wxPGPropArg id)
| Called after population of property with fixed children has finished.
bool | Expand (wxPGPropArg id)
| Expands given category or property with children.
bool | ExpandAll (bool expand=true)
| Expands all items that can be expanded.
int | GetColumnProportion (unsigned int column) const
| Returns auto-resize proportion of the given column.
wxPGProperty * | GetFirstChild (wxPGPropArg id)
| Returns id of first child of given property.
wxPGProperty * | GetFirst (int flags=wxPG_ITERATE_ALL)
| Returns id of first item that matches given criteria.
wxPGProperty * | GetProperty (const wxString &name) const
| Returns pointer to a property with given name (case-sensitive).
void | GetPropertiesWithFlag (wxArrayPGProperty *targetArr, wxPGProperty::FlagType flags, bool inverse=false, int iterFlags=(wxPG_ITERATE_PROPERTIES|wxPG_ITERATE_HIDDEN|wxPG_ITERATE_CATEGORIES)) const
| Adds to 'targetArr' pointers to properties that have given flags 'flags' set.
wxVariant | GetPropertyAttribute (wxPGPropArg id, const wxString &attrName) const
| Returns value of given attribute.
wxColour | GetPropertyBackgroundColour (wxPGPropArg id) const
| Returns background colour of first cell of a property.
wxPropertyCategory * | GetPropertyCategory (wxPGPropArg id) const
| Returns pointer of property's nearest parent category.
void * | GetPropertyClientData (wxPGPropArg id) const
| Returns client data (void*) of a property.
wxPGProperty * | GetPropertyByLabel (const wxString &label) const
| Returns first property which label matches given string.
wxPGProperty * | GetPropertyByName (const wxString &name) const
| Returns pointer to a property with given name (case-sensitive).
wxPGProperty * | GetPropertyByName (const wxString &name, const wxString &subname) const
| Returns child property 'subname' of property 'name'.
const wxPGEditor * | GetPropertyEditor (wxPGPropArg id) const
| Returns property's editor.
wxString | GetPropertyHelpString (wxPGPropArg id) const
| Returns help string associated with a property.
wxBitmap * | GetPropertyImage (wxPGPropArg id) const
| Returns property's custom value image (NULL of none).
const wxString & | GetPropertyLabel (wxPGPropArg id)
| Returns label of a property.
wxString | GetPropertyName (wxPGProperty *property)
| Returns property's name, by which it is globally accessible.
wxColour | GetPropertyTextColour (wxPGPropArg id) const
| Returns text colour of first cell of a property.
wxValidator * | GetPropertyValidator (wxPGPropArg id)
| Returns validator of a property as a reference, which you can pass to any number of SetPropertyValidator.
wxVariant | GetPropertyValue (wxPGPropArg id)
| Returns property's value as wxVariant.
wxArrayInt | GetPropertyValueAsArrayInt (wxPGPropArg id) const
| Return's property's value as wxArrayInt.
wxArrayString | GetPropertyValueAsArrayString (wxPGPropArg id) const
| Returns property's value as wxArrayString.
bool | GetPropertyValueAsBool (wxPGPropArg id) const
| Returns property's value as bool.
wxDateTime | GetPropertyValueAsDateTime (wxPGPropArg id) const
| Return's property's value as wxDateTime.
double | GetPropertyValueAsDouble (wxPGPropArg id) const
| Returns property's value as double-precision floating point number.
int | GetPropertyValueAsInt (wxPGPropArg id) const
| Returns property's value as integer.
long | GetPropertyValueAsLong (wxPGPropArg id) const
| Returns property's value as integer.
wxLongLong_t | GetPropertyValueAsLongLong (wxPGPropArg id) const
| Returns property's value as native signed 64-bit integer.
wxString | GetPropertyValueAsString (wxPGPropArg id) const
| Returns property's value as wxString.
unsigned long | GetPropertyValueAsULong (wxPGPropArg id) const
| Returns property's value as unsigned integer.
wxULongLong_t | GetPropertyValueAsULongLong (wxPGPropArg id) const
| Returns property's value as native unsigned 64-bit integer.
wxVariant | GetPropertyValues (const wxString &listname=wxEmptyString, wxPGProperty *baseparent=NULL, long flags=0) const
| Returns a wxVariant list containing wxVariant versions of all property values.
const wxArrayPGProperty & | GetSelectedProperties () const
| Returns list of currently selected properties.
wxPGProperty * | GetSelection () const
| Returns currently selected property.
virtual wxPGVIterator | GetVIterator (int flags) const
| Similar to GetIterator(), but instead returns wxPGVIterator instance, which can be useful for forward-iterating through arbitrary property containers.
bool | HideProperty (wxPGPropArg id, bool hide=true, int flags=wxPG_RECURSE)
| Hides or reveals a property.
wxPGProperty * | Insert (wxPGPropArg priorThis, wxPGProperty *newProperty)
| Inserts property to the property container.
wxPGProperty * | Insert (wxPGPropArg parent, int index, wxPGProperty *newProperty)
| Inserts property to the property container.
bool | IsPropertyCategory (wxPGPropArg id) const
| Returns true if property is a category.
bool | IsPropertyEnabled (wxPGPropArg id) const
| Returns true if property is enabled.
bool | IsPropertyExpanded (wxPGPropArg id) const
| Returns true if given property is expanded.
bool | IsPropertyModified (wxPGPropArg id) const
| Returns true if property has been modified after value set or modify flag clear by software.
virtual bool | IsPropertySelected (wxPGPropArg id) const
| Returns true if property is selected.
bool | IsPropertyShown (wxPGPropArg id) const
| Returns true if property is shown (ie.
bool | IsPropertyValueUnspecified (wxPGPropArg id) const
| Returns true if property value is set to unspecified.
void | LimitPropertyEditing (wxPGPropArg id, bool limit=true)
| Disables (limit = true) or enables (limit = false) wxTextCtrl editor of a property, if it is not the sole mean to edit the value.
wxPGProperty * | RemoveProperty (wxPGPropArg id)
| Removes a property.
wxPGProperty * | ReplaceProperty (wxPGPropArg id, wxPGProperty *property)
| Replaces property with id with newly created one.
bool | RestoreEditableState (const wxString &src, int restoreStates=AllStates)
| Restores user-editable state.
wxString | SaveEditableState (int includedStates=AllStates) const
| Used to acquire user-editable state (selected property, expanded properties, scrolled position, splitter positions).
bool | SetColumnProportion (unsigned int column, int proportion)
| Set proportion of a auto-stretchable column.
void | SetPropertyAttribute (wxPGPropArg id, const wxString &attrName, wxVariant value, long argFlags=0)
| Sets an attribute for this property.
void | SetPropertyAttributeAll (const wxString &attrName, wxVariant value)
| Sets property attribute for all applicapple properties.
void | SetPropertyBackgroundColour (wxPGPropArg id, const wxColour &colour, int flags=wxPG_RECURSE)
| Sets background colour of a property.
void | SetPropertyCell (wxPGPropArg id, int column, const wxString &text=wxEmptyString, const wxBitmap &bitmap=wxNullBitmap, const wxColour &fgCol=wxNullColour, const wxColour &bgCol=wxNullColour)
| Sets text, bitmap, and colours for given column's cell.
void | SetPropertyClientData (wxPGPropArg id, void *clientData)
| Sets client data (void*) of a property.
void | SetPropertyColoursToDefault (wxPGPropArg id)
| Resets text and background colours of given property.
void | SetPropertyEditor (wxPGPropArg id, const wxPGEditor *editor)
| Sets editor for a property.
void | SetPropertyEditor (wxPGPropArg id, const wxString &editorName)
| Sets editor control of a property.
void | SetPropertyLabel (wxPGPropArg id, const wxString &newproplabel)
| Sets label of a property.
void | SetPropertyName (wxPGPropArg id, const wxString &newName)
| Sets name of a property.
void | SetPropertyReadOnly (wxPGPropArg id, bool set=true, int flags=wxPG_RECURSE)
| Sets property (and, recursively, its children) to have read-only value.
void | SetPropertyValueUnspecified (wxPGPropArg id)
| Sets property's value to unspecified.
void | SetPropertyValues (const wxVariantList &list, wxPGPropArg defaultCategory=wxNullProperty)
| Sets property values from a list of wxVariants.
void | SetPropertyValues (const wxVariant &list, wxPGPropArg defaultCategory=wxNullProperty)
| Sets property values from a list of wxVariants.
void | SetPropertyHelpString (wxPGPropArg id, const wxString &helpString)
| Associates the help string with property.
void | SetPropertyImage (wxPGPropArg id, wxBitmap &bmp)
| Set wxBitmap in front of the value.
bool | SetPropertyMaxLength (wxPGPropArg id, int maxLen)
| Sets max length of property's text.
void | SetPropertyTextColour (wxPGPropArg id, const wxColour &colour, int flags=wxPG_RECURSE)
| Sets text colour of a property.
void | SetPropertyValidator (wxPGPropArg id, const wxValidator &validator)
| Sets validator of a property.
void | SetPropertyValue (wxPGPropArg id, long value)
| Sets value (integer) of a property.
void | SetPropertyValue (wxPGPropArg id, int value)
| Sets value (integer) of a property.
void | SetPropertyValue (wxPGPropArg id, double value)
| Sets value (floating point) of a property.
void | SetPropertyValue (wxPGPropArg id, bool value)
| Sets value (bool) of a property.
void | SetPropertyValue (wxPGPropArg id, const wxString &value)
| Sets value (string) of a property.
void | SetPropertyValue (wxPGPropArg id, const wxArrayString &value)
| Sets value (wxArrayString) of a property.
void | SetPropertyValue (wxPGPropArg id, const wxDateTime &value)
| Sets value (wxDateTime) of a property.
void | SetPropertyValue (wxPGPropArg id, wxObject *value)
| Sets value (wxObject*) of a property.
void | SetPropertyValue (wxPGPropArg id, wxObject &value)
| Sets value (wxObject&) of a property.
void | SetPropertyValue (wxPGPropArg id, wxLongLong_t value)
| Sets value (native 64-bit int) of a property.
void | SetPropertyValue (wxPGPropArg id, wxULongLong_t value)
| Sets value (native 64-bit unsigned int) of a property.
void | SetPropertyValue (wxPGPropArg id, const wxArrayInt &value)
| Sets value (wxArrayInt&) of a property.
void | SetPropertyValueString (wxPGPropArg id, const wxString &value)
| Sets value (wxString) of a property.
void | SetPropertyValue (wxPGPropArg id, wxVariant value)
| Sets value (wxVariant&) of a property.
void | SetValidationFailureBehavior (int vfbFlags)
| Adjusts how wxPropertyGrid behaves when invalid value is entered in a property.
void | Sort (int flags=0)
| Sorts all properties recursively.
void | SortChildren (wxPGPropArg id, int flags=0)
| Sorts children of a property.
wxPropertyGridIterator | GetIterator (int flags=wxPG_ITERATE_DEFAULT, wxPGProperty *firstProp=NULL)
| Returns iterator class instance.
wxPropertyGridConstIterator | GetIterator (int flags=wxPG_ITERATE_DEFAULT, wxPGProperty *firstProp=NULL) const
| Returns iterator class instance.
wxPropertyGridIterator | GetIterator (int flags, int startPos)
| Returns iterator class instance.
wxPropertyGridConstIterator | GetIterator (int flags, int startPos) const
| Returns iterator class instance.
## Static Public Member Functions
static void | InitAllTypeHandlers ()
| Initializes *all* property types.
static void | RegisterAdditionalEditors ()
| Initializes additional property editors (SpinCtrl etc.
static void | SetBoolChoices (const wxString &trueChoice, const wxString &falseChoice)
| Sets strings listed in the choice dropdown of a wxBoolProperty.
static wxPGEditor * | GetEditorByName (const wxString &editorName)
| Returns editor pointer of editor with given name;.

List of all members.

## Member Enumeration Documentation

enum wxPropertyGridInterface::EditableStateFlags

Flags for wxPropertyGridInterface::SaveEditableState() and wxPropertyGridInterface::RestoreEditableState().

Enumerator:

  SelectionState | Include selected property.
  ExpandedState | Include expanded/collapsed property information.
  ScrollPosState | Include scrolled position.
  PageState | Include selected page information. Only applies to wxPropertyGridManager.
  SplitterPosState | Include splitter position. Stored for each page.
  DescBoxState | Include description box size. Only applies to wxPropertyGridManager.
  AllStates | Include all supported user editable state information. This is usually the default value.

## Constructor & Destructor Documentation

virtual wxPropertyGridInterface::~wxPropertyGridInterface | ( |  | ) | `[inline, virtual]`

Destructor.

## Member Function Documentation

wxPGProperty* wxPropertyGridInterface::Append | ( | wxPGProperty * | property | ) |

Appends property to the list.

wxPropertyGrid assumes ownership of the object. Becomes child of most recently added category.

Remarks:
  - wxPropertyGrid takes the ownership of the property pointer.
  - If appending a category with name identical to a category already in the wxPropertyGrid, then newly created category is deleted, and most recently added category (under which properties are appended) is set to the one with same name. This allows easier adding of items to same categories in multiple passes.
  - Does not automatically redraw the control, so you may need to call Refresh() when calling this function after control has been shown for the first time.
  - 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.

wxPGProperty* wxPropertyGridInterface::AppendIn | ( | wxPGPropArg | id,
|  | wxPGProperty * | newProperty |
| ) |  |  |

Same as Append(), but appends under given parent property.

Parameters:

  | id | Name or pointer to parent property.
  | newProperty | Property to be added.

void wxPropertyGridInterface::BeginAddChildren | ( | wxPGPropArg | id | ) |

In order to add new items into a property with private children (for instance, wxFlagsProperty), you need to call this method.

After populating has been finished, you need to call EndAddChildren().

See also:
  EndAddChildren()

bool wxPropertyGridInterface::ChangePropertyValue | ( | wxPGPropArg | id,
|  | wxVariant | newValue |
| ) |  |  |

Changes value of a property, as if by user.

Use this instead of SetPropertyValue() if you need the value to run through validation process, and also send the property change event.

Returns:
  Returns true if value was successfully changed.

Reimplemented in wxPropertyGrid.

virtual void wxPropertyGridInterface::Clear | ( |  | ) | `[pure virtual]`

Deletes all properties.

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.

Implemented in wxPropertyGridPage, wxPropertyGridManager, and wxPropertyGrid.

void wxPropertyGridInterface::ClearModifiedStatus | ( |  | ) |

Resets modified status of all properties.

bool wxPropertyGridInterface::ClearSelection | ( | bool | validation = `false` | ) |

Clears current selection, if any.

Parameters:

  | validation | If set to false, deselecting the property will always work, even if its editor had invalid value in it.

Returns:
  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 also:
  wxPropertyGrid::SelectProperty()

bool wxPropertyGridInterface::Collapse | ( | wxPGPropArg | id | ) |

Collapses given category or property with children.

Returns:
  Returns true if actually collapsed.

Remarks:
  This function may deselect 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.

bool wxPropertyGridInterface::CollapseAll | ( |  | ) |

Collapses all items that can be collapsed.

Remarks:
  This functions clears selection. Validation failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, ie. selection is cleared even if editor had invalid value.

void wxPropertyGridInterface::DeleteProperty | ( | wxPGPropArg | id | ) |

Removes and deletes a property and any children.

Parameters:

  | 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.

bool wxPropertyGridInterface::DisableProperty | ( | wxPGPropArg | id | ) |

Disables a property.

See also:
  EnableProperty(), wxPGProperty::Enable()

bool wxPropertyGridInterface::EditorValidate | ( |  | ) |

Returns true if all property grid data changes have been committed.

Usually only returns false if value in active editor has been invalidated by a wxValidator.

bool wxPropertyGridInterface::EnableProperty | ( | wxPGPropArg | id,
|  | bool | enable = `true` |
| ) |  |  |

Enables or disables property.

Disabled property usually appears as having grey text.

Parameters:

  | id | Name or pointer to a property.
  | enable | If false, property is disabled instead.

See also:
  wxPGProperty::Enable()

void wxPropertyGridInterface::EndAddChildren | ( | wxPGPropArg | id | ) |

Called after population of property with fixed children has finished.

See also:
  BeginAddChildren()

bool wxPropertyGridInterface::Expand | ( | wxPGPropArg | id | ) |

Expands given category or property with children.

Returns:
  Returns true if actually expanded.

Remarks:
  This function may deselect 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.

bool wxPropertyGridInterface::ExpandAll | ( | bool | expand = `true` | ) |

Expands all items that can be expanded.

Remarks:
  This functions clears selection. Validation failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, ie. selection is cleared even if editor had invalid value.

int wxPropertyGridInterface::GetColumnProportion | ( | unsigned int | column | ) | const

Returns auto-resize proportion of the given column.

See also:
  SetColumnProportion()

static wxPGEditor* wxPropertyGridInterface::GetEditorByName | ( | const wxString & | editorName | ) | `[static]`

Returns editor pointer of editor with given name;.

wxPGProperty* wxPropertyGridInterface::GetFirst | ( | int | flags = `wxPG_ITERATE_ALL` | ) |

Returns id of first item that matches given criteria.

Parameters:

  | flags | See wxPropertyGridIterator Flags.

wxPGProperty* wxPropertyGridInterface::GetFirstChild | ( | wxPGPropArg | id | ) |

Returns id of first child of given property.

Remarks:
  Does not return private children!

wxPropertyGridConstIterator wxPropertyGridInterface::GetIterator | ( | int | flags,
|  | int | startPos |
| ) |  |  | const

Returns iterator class instance.

Parameters:

  | flags | See wxPropertyGridIterator Flags. Value wxPG_ITERATE_DEFAULT causes iteration over everything except private child properties.
  | startPos | Either wxTOP or wxBOTTOM. wxTOP will indicate that iterations start from the first property from the top, and wxBOTTOM means that the iteration will instead begin from bottommost valid item.

wxPython Note: Instead of ++ operator, use Next() method, and instead of * operator, use GetProperty() method. There is also GetPyIterator() method (which takes the same arguments but instead returns a pythonic iterator), `Properties` attribute which is an iterator over all non-category, non-private properties, and finally `Items` attribute which is an iterator over all items except private child properties.

wxPropertyGridIterator wxPropertyGridInterface::GetIterator | ( | int | flags,
|  | int | startPos |
| ) |  |  |

Returns iterator class instance.

Parameters:

  | flags | See wxPropertyGridIterator Flags. Value wxPG_ITERATE_DEFAULT causes iteration over everything except private child properties.
  | startPos | Either wxTOP or wxBOTTOM. wxTOP will indicate that iterations start from the first property from the top, and wxBOTTOM means that the iteration will instead begin from bottommost valid item.

wxPython Note: Instead of ++ operator, use Next() method, and instead of * operator, use GetProperty() method. There is also GetPyIterator() method (which takes the same arguments but instead returns a pythonic iterator), `Properties` attribute which is an iterator over all non-category, non-private properties, and finally `Items` attribute which is an iterator over all items except private child properties.

wxPropertyGridConstIterator wxPropertyGridInterface::GetIterator | ( | int | flags = `wxPG_ITERATE_DEFAULT`,
|  | wxPGProperty * | firstProp = `NULL` |
| ) |  |  | const

Returns iterator class instance.

Parameters:

  | flags | See wxPropertyGridIterator Flags. Value wxPG_ITERATE_DEFAULT causes iteration over everything except private child properties.
  | firstProp | Property to start iteration from. If NULL, then first child of root is used.

wxPython Note: Instead of ++ operator, use Next() method, and instead of * operator, use GetProperty() method. There is also GetPyIterator() method (which takes the same arguments but instead returns a pythonic iterator), `Properties` attribute which is an iterator over all non-category, non-private properties, and finally `Items` attribute which is an iterator over all items except private child properties.

wxPropertyGridIterator wxPropertyGridInterface::GetIterator | ( | int | flags = `wxPG_ITERATE_DEFAULT`,
|  | wxPGProperty * | firstProp = `NULL` |
| ) |  |  |

Returns iterator class instance.

Parameters:

  | flags | See wxPropertyGridIterator Flags. Value wxPG_ITERATE_DEFAULT causes iteration over everything except private child properties.
  | firstProp | Property to start iteration from. If NULL, then first child of root is used.

wxPython Note: Instead of ++ operator, use Next() method, and instead of * operator, use GetProperty() method. There is also GetPyIterator() method (which takes the same arguments but instead returns a pythonic iterator), `Properties` attribute which is an iterator over all non-category, non-private properties, and finally `Items` attribute which is an iterator over all items except private child properties.

void wxPropertyGridInterface::GetPropertiesWithFlag | ( | wxArrayPGProperty * | targetArr,
|  | wxPGProperty::FlagType | flags,
|  | bool | inverse = `false`,
|  | int | iterFlags = `(wxPG_ITERATE_PROPERTIES|wxPG_ITERATE_HIDDEN|wxPG_ITERATE_CATEGORIES)` |
| ) |  |  | const

Adds to 'targetArr' pointers to properties that have given flags 'flags' set.

However, if 'inverse' is set to true, then only properties without given flags are stored.

Parameters:

  | targetArr |

Todo:
  docme

Parameters:

  | flags | Property flags to use.
  | inverse |

Todo:
  docme

Parameters:

  | iterFlags | Iterator flags to use. Default is everything expect private children. See wxPropertyGridIterator Flags.

wxPGProperty* wxPropertyGridInterface::GetProperty | ( | const wxString & | name | ) | const

Returns pointer to a property with given name (case-sensitive).

If there is no property with such name, NULL pointer is returned.

Remarks:
  Properties which have non-category, non-root parent cannot be accessed globally by their name. Instead, use "<property>.<subproperty>" instead of "<subproperty>".

wxVariant wxPropertyGridInterface::GetPropertyAttribute | ( | wxPGPropArg | id,
|  | const wxString & | attrName |
| ) |  |  | const

Returns value of given attribute.

If none found, returns wxNullVariant.

wxColour wxPropertyGridInterface::GetPropertyBackgroundColour | ( | wxPGPropArg | id | ) | const

Returns background colour of first cell of a property.

wxPGProperty* wxPropertyGridInterface::GetPropertyByLabel | ( | const wxString & | label | ) | const

Returns first property which label matches given string.

NULL if none found. Note that this operation is very slow when compared to GetPropertyByName().

wxPGProperty* wxPropertyGridInterface::GetPropertyByName | ( | const wxString & | name,
|  | const wxString & | subname |
| ) |  |  | const

Returns child property 'subname' of property 'name'.

Same as calling GetPropertyByName("name.subname"), albeit slightly faster.

wxPGProperty* wxPropertyGridInterface::GetPropertyByName | ( | const wxString & | name | ) | const

Returns pointer to a property with given name (case-sensitive).

If there is no property with such name, NULL pointer is returned.

Remarks:
  Properties which have non-category, non-root parent cannot be accessed globally by their name. Instead, use "<property>.<subproperty>" instead of "<subproperty>".

wxPropertyCategory* wxPropertyGridInterface::GetPropertyCategory | ( | wxPGPropArg | id | ) | const

Returns pointer of property's nearest parent category.

If no category found, returns NULL.

void* wxPropertyGridInterface::GetPropertyClientData | ( | wxPGPropArg | id | ) | const

Returns client data (void*) of a property.

const wxPGEditor* wxPropertyGridInterface::GetPropertyEditor | ( | wxPGPropArg | id | ) | const

Returns property's editor.

wxString wxPropertyGridInterface::GetPropertyHelpString | ( | wxPGPropArg | id | ) | const

Returns help string associated with a property.

wxBitmap* wxPropertyGridInterface::GetPropertyImage | ( | wxPGPropArg | id | ) | const

Returns property's custom value image (NULL of none).

const wxString& wxPropertyGridInterface::GetPropertyLabel | ( | wxPGPropArg | id | ) |

Returns label of a property.

wxString wxPropertyGridInterface::GetPropertyName | ( | wxPGProperty * | property | ) |

Returns property's name, by which it is globally accessible.

wxColour wxPropertyGridInterface::GetPropertyTextColour | ( | wxPGPropArg | id | ) | const

Returns text colour of first cell of a property.

wxValidator* wxPropertyGridInterface::GetPropertyValidator | ( | wxPGPropArg | id | ) |

Returns validator of a property as a reference, which you can pass to any number of SetPropertyValidator.

wxVariant wxPropertyGridInterface::GetPropertyValue | ( | wxPGPropArg | id | ) |

Returns property's value as wxVariant.

If property value is unspecified, Null variant is returned.

wxArrayInt wxPropertyGridInterface::GetPropertyValueAsArrayInt | ( | wxPGPropArg | id | ) | const

Return's property's value as wxArrayInt.

wxArrayString wxPropertyGridInterface::GetPropertyValueAsArrayString | ( | wxPGPropArg | id | ) | const

Returns property's value as wxArrayString.

bool wxPropertyGridInterface::GetPropertyValueAsBool | ( | wxPGPropArg | id | ) | const

Returns property's value as bool.

wxDateTime wxPropertyGridInterface::GetPropertyValueAsDateTime | ( | wxPGPropArg | id | ) | const

Return's property's value as wxDateTime.

double wxPropertyGridInterface::GetPropertyValueAsDouble | ( | wxPGPropArg | id | ) | const

Returns property's value as double-precision floating point number.

int wxPropertyGridInterface::GetPropertyValueAsInt | ( | wxPGPropArg | id | ) | const

Returns property's value as integer.

long wxPropertyGridInterface::GetPropertyValueAsLong | ( | wxPGPropArg | id | ) | const

Returns property's value as integer.

wxLongLong_t wxPropertyGridInterface::GetPropertyValueAsLongLong | ( | wxPGPropArg | id | ) | const

Returns property's value as native signed 64-bit integer.

wxString wxPropertyGridInterface::GetPropertyValueAsString | ( | wxPGPropArg | id | ) | const

Returns property's value as wxString.

If property does not use string value type, then its value is converted using wxPGProperty::GetValueAsString().

unsigned long wxPropertyGridInterface::GetPropertyValueAsULong | ( | wxPGPropArg | id | ) | const

Returns property's value as unsigned integer.

wxULongLong_t wxPropertyGridInterface::GetPropertyValueAsULongLong | ( | wxPGPropArg | id | ) | const

Returns property's value as native unsigned 64-bit integer.

wxVariant wxPropertyGridInterface::GetPropertyValues | ( | const wxString & | listname = `wxEmptyString`,
|  | wxPGProperty * | baseparent = `NULL`,
|  | long | flags = `0` |
| ) |  |  | const

Returns a wxVariant list containing wxVariant versions of all property values.

Order is not guaranteed.

Parameters:

  | listname |

Todo:
  docme

Parameters:

  | baseparent |

Todo:
  docme

Parameters:

  | flags | Use wxPG_KEEP_STRUCTURE to retain category structure; each sub category will be its own wxVariantList of wxVariant.

Use wxPG_INC_ATTRIBUTES to include property attributes as well. Each attribute will be stored as list variant named "@@<propname>@@attr."

const wxArrayPGProperty& wxPropertyGridInterface::GetSelectedProperties | ( |  | ) | const

Returns list of currently selected properties.

Remarks:
  wxArrayPGProperty should be compatible with std::vector API.

wxPGProperty* wxPropertyGridInterface::GetSelection | ( |  | ) | 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.

Reimplemented in wxPropertyGridManager, and wxPropertyGrid.

virtual wxPGVIterator wxPropertyGridInterface::GetVIterator | ( | int | flags | ) | const`[virtual]`

Similar to GetIterator(), but instead returns wxPGVIterator instance, which can be useful for forward-iterating through arbitrary property containers.

Parameters:

  | flags | See wxPropertyGridIterator Flags.

wxPython Note: Instead of ++ operator, use Next() method, and instead of * operator, use GetProperty() method. There is also GetPyVIterator() method (which takes the same arguments but instead returns a pythonic iterator), `Properties` attribute which is an iterator over all non-category, non-private properties, and finally `Items` attribute which is an iterator over all items except private child properties.

Reimplemented in wxPropertyGridManager.

bool wxPropertyGridInterface::HideProperty | ( | wxPGPropArg | id,
|  | bool | hide = `true`,
|  | int | flags = `wxPG_RECURSE` |
| ) |  |  |

Hides or reveals a property.

Parameters:

  | id |

Todo:
  docme

Parameters:

  | hide | If true, hides property, otherwise reveals it.
  | flags | By default changes are applied recursively. Set this parameter wxPG_DONT_RECURSE to prevent this.

static void wxPropertyGridInterface::InitAllTypeHandlers | ( |  | ) | `[static]`

Initializes *all* property types.

Causes references to most object files in the library, so calling this may cause significant increase in executable size when linking with static library.

wxPGProperty* wxPropertyGridInterface::Insert | ( | wxPGPropArg | parent,
|  | int | index,
|  | wxPGProperty * | newProperty |
| ) |  |  |

Inserts property to the property container.

See the other overload for more details.

Parameters:

  | parent | New property is inserted under this category. Available only in the second variant. There are two versions of this function to allow this parameter to be either an id or name to a property.
  | index | Index under category. Available only in the second variant. If index is < 0, property is appended in category.
  | newProperty | Pointer to the inserted property. wxPropertyGrid will take ownership of this object.

Returns:
  Returns newProperty.

wxPGProperty* wxPropertyGridInterface::Insert | ( | wxPGPropArg | priorThis,
|  | wxPGProperty * | newProperty |
| ) |  |  |

Inserts property to the property container.

Parameters:

  | priorThis | New property is inserted just prior to this. Available only in the first variant. There are two versions of this function to allow this parameter to be either an id or name to a property.
  | newProperty | Pointer to the inserted property. wxPropertyGrid will take ownership of this object.

Returns:
  Returns newProperty.

Remarks:

- wxPropertyGrid takes the ownership of the property pointer.

- While Append may be faster way to add items, make note that when both types of data storage (categoric and non-categoric) are active, Insert becomes even more slow. This is especially true if current mode is non-categoric.

- 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.

Example of use:

                // append category
                wxPGProperty* my_cat_id = propertygrid->Append( new wxPropertyCategory("My Category") );

                ...

                // insert into category - using second variant
                wxPGProperty* my_item_id_1 = propertygrid->Insert( my_cat_id, 0, new wxStringProperty("My String 1") );

                // insert before to first item - using first variant
                wxPGProperty* my_item_id_2 = propertygrid->Insert( my_item_id, new wxStringProperty("My String 2") );

bool wxPropertyGridInterface::IsPropertyCategory | ( | wxPGPropArg | id | ) | const

Returns true if property is a category.

bool wxPropertyGridInterface::IsPropertyEnabled | ( | wxPGPropArg | id | ) | const

Returns true if property is enabled.

bool wxPropertyGridInterface::IsPropertyExpanded | ( | wxPGPropArg | id | ) | const

Returns true if given property is expanded.

Naturally, always returns false for properties that cannot be expanded.

bool wxPropertyGridInterface::IsPropertyModified | ( | wxPGPropArg | id | ) | const

Returns true if property has been modified after value set or modify flag clear by software.

virtual bool wxPropertyGridInterface::IsPropertySelected | ( | wxPGPropArg | id | ) | const`[virtual]`

Returns true if property is selected.

Reimplemented in wxPropertyGridManager.

bool wxPropertyGridInterface::IsPropertyShown | ( | wxPGPropArg | id | ) | const

Returns true if property is shown (ie.

HideProperty() with true not called for it).

bool wxPropertyGridInterface::IsPropertyValueUnspecified | ( | wxPGPropArg | id | ) | const

Returns true if property value is set to unspecified.

void wxPropertyGridInterface::LimitPropertyEditing | ( | wxPGPropArg | id,
|  | bool | limit = `true` |
| ) |  |  |

Disables (limit = true) or enables (limit = false) wxTextCtrl editor of a property, if it is not the sole mean to edit the value.

static void wxPropertyGridInterface::RegisterAdditionalEditors | ( |  | ) | `[static]`

Initializes additional property editors (SpinCtrl etc.

). Causes references to most object files in the library, so calling this may cause significant increase in executable size when linking with static library.

wxPGProperty* wxPropertyGridInterface::RemoveProperty | ( | wxPGPropArg | id | ) |

Removes a property.

Does not delete the property object, but instead returns it.

Parameters:

  | 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* wxPropertyGridInterface::ReplaceProperty | ( | wxPGPropArg | id,
|  | wxPGProperty * | property |
| ) |  |  |

Replaces property with id with newly created one.

For example, this code replaces existing property named "Flags" with one that will have different set of items:

                pg->ReplaceProperty("Flags",
                    wxFlagsProperty("Flags", wxPG_LABEL, newItems))

See also:
  Insert()

bool wxPropertyGridInterface::RestoreEditableState | ( | const wxString & | src,
|  | int | restoreStates = `AllStates` |
| ) |  |  |

Restores user-editable state.

See also wxPropertyGridInterface::SaveEditableState().

Parameters:

  | src | String generated by SaveEditableState.
  | restoreStates | Which parts to restore from source string. See list of editable state flags.

Returns:
  Returns false if there was problem reading the string.

Remarks:
  If some parts of state (such as scrolled or splitter position) fail to restore correctly, please make sure that you call this function after wxPropertyGrid size has been set (this may sometimes be tricky when sizers are used).

wxString wxPropertyGridInterface::SaveEditableState | ( | int | includedStates = `AllStates` | ) | const

Used to acquire user-editable state (selected property, expanded properties, scrolled position, splitter positions).

Parameters:

  | includedStates | Which parts of state to include. See list of editable state flags.

static void wxPropertyGridInterface::SetBoolChoices | ( | const wxString & | trueChoice,
|  | const wxString & | falseChoice |
| ) |  |  | `[static]`

Sets strings listed in the choice dropdown of a wxBoolProperty.

Defaults are "True" and "False", so changing them to, say, "Yes" and "No" may be useful in some less technical applications.

bool wxPropertyGridInterface::SetColumnProportion | ( | unsigned int | column,
|  | int | proportion |
| ) |  |  |

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 also:
  GetColumnProportion()

void wxPropertyGridInterface::SetPropertyAttribute | ( | wxPGPropArg | id,
|  | const wxString & | attrName,
|  | wxVariant | value,
|  | long | argFlags = `0` |
| ) |  |  |

Sets an attribute for this property.

Parameters:

  | id |

Todo:
  docme

Parameters:

  | attrName | Text identifier of attribute. See wxPropertyGrid Property Attribute Identifiers.
  | value | Value of attribute.
  | argFlags | Optional. Use wxPG_RECURSE to set the attribute to child properties recursively.

Remarks:
  Setting attribute's value to Null variant will simply remove it from property's set of attributes.

void wxPropertyGridInterface::SetPropertyAttributeAll | ( | const wxString & | attrName,
|  | wxVariant | value |
| ) |  |  |

Sets property attribute for all applicapple properties.

Be sure to use this method only after all properties have been added to the grid.

void wxPropertyGridInterface::SetPropertyBackgroundColour | ( | wxPGPropArg | id,
|  | const wxColour & | colour,
|  | int | flags = `wxPG_RECURSE` |
| ) |  |  |

Sets background colour of a property.

Parameters:

  | id | Property name or pointer.
  | colour | New background colour.
  | 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 wxPropertyGridInterface::SetPropertyCell | ( | wxPGPropArg | id,
|  | int | column,
|  | const wxString & | text = `wxEmptyString`,
|  | const wxBitmap & | bitmap = `wxNullBitmap`,
|  | const wxColour & | fgCol = `wxNullColour`,
|  | const wxColour & | bgCol = `wxNullColour` |
| ) |  |  |

Sets text, bitmap, and colours for given column's cell.

Remarks:
  - You can set label cell by using column 0.
  - You can use wxPG_LABEL as text to use default text for column.

void wxPropertyGridInterface::SetPropertyClientData | ( | wxPGPropArg | id,
|  | void * | clientData |
| ) |  |  |

Sets client data (void*) of a property.

Remarks:
  This untyped client data has to be deleted manually.

void wxPropertyGridInterface::SetPropertyColoursToDefault | ( | wxPGPropArg | id | ) |

Resets text and background colours of given property.

void wxPropertyGridInterface::SetPropertyEditor | ( | wxPGPropArg | id,
|  | const wxString & | editorName |
| ) |  |  |

Sets editor control of a property.

As editor argument, use editor name string, such as "TextCtrl" or "Choice".

void wxPropertyGridInterface::SetPropertyEditor | ( | wxPGPropArg | id,
|  | const wxPGEditor * | editor |
| ) |  |  |

Sets editor for a property.

Parameters:

  | id |

Todo:
  docme

Parameters:

  | editor | For builtin editors, use wxPGEditor_X, where X is builtin editor's name (TextCtrl, Choice, etc. see wxPGEditor documentation for full list).

For custom editors, use pointer you received from wxPropertyGrid::RegisterEditorClass().

void wxPropertyGridInterface::SetPropertyHelpString | ( | wxPGPropArg | id,
|  | const wxString & | helpString |
| ) |  |  |

Associates the help string with property.

Remarks:
  By default, text is shown either in the manager's "description" text box or in the status bar. If extra window style wxPG_EX_HELP_AS_TOOLTIPS is used, then the text will appear as a tooltip.

void wxPropertyGridInterface::SetPropertyImage | ( | wxPGPropArg | id,
|  | wxBitmap & | bmp |
| ) |  |  |

Set wxBitmap in front of the value.

Remarks:
  Bitmap will be scaled to a size returned by wxPropertyGrid::GetImageSize();

void wxPropertyGridInterface::SetPropertyLabel | ( | wxPGPropArg | id,
|  | const wxString & | newproplabel |
| ) |  |  |

Sets label of a property.

Remarks:
  - Properties under same parent may have same labels. However, property names must still remain unique.

bool wxPropertyGridInterface::SetPropertyMaxLength | ( | wxPGPropArg | id,
|  | int | maxLen |
| ) |  |  |

Sets max length of property's text.

void wxPropertyGridInterface::SetPropertyName | ( | wxPGPropArg | id,
|  | const wxString & | newName |
| ) |  |  |

Sets name of a property.

Parameters:

  | id | Name or pointer of property which name to change.
  | newName | New name for property.

void wxPropertyGridInterface::SetPropertyReadOnly | ( | wxPGPropArg | id,
|  | bool | set = `true`,
|  | int | flags = `wxPG_RECURSE` |
| ) |  |  |

Sets property (and, recursively, its children) to have read-only value.

In other words, user cannot change the value in the editor, but they can still copy it.

Parameters:

  | id | Property name or pointer.
  | set | Use true to enable read-only, false to disable it.
  | 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 wxPropertyGridInterface::SetPropertyTextColour | ( | wxPGPropArg | id,
|  | const wxColour & | colour,
|  | int | flags = `wxPG_RECURSE` |
| ) |  |  |

Sets text colour of a property.

Parameters:

  | id | Property name or pointer.
  | colour | New background colour.
  | 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 wxPropertyGridInterface::SetPropertyValidator | ( | wxPGPropArg | id,
|  | const wxValidator & | validator |
| ) |  |  |

Sets validator of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | wxVariant | value |
| ) |  |  |

Sets value (wxVariant&) of a property.

Remarks:
  Use wxPropertyGrid::ChangePropertyValue() instead if you need to run through validation process and send property change event.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | const wxArrayInt & | value |
| ) |  |  |

Sets value (wxArrayInt&) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | wxULongLong_t | value |
| ) |  |  |

Sets value (native 64-bit unsigned int) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | wxLongLong_t | value |
| ) |  |  |

Sets value (native 64-bit int) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | wxObject & | value |
| ) |  |  |

Sets value (wxObject&) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | wxObject * | value |
| ) |  |  |

Sets value (wxObject*) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | const wxDateTime & | value |
| ) |  |  |

Sets value (wxDateTime) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | const wxArrayString & | value |
| ) |  |  |

Sets value (wxArrayString) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | const wxString & | value |
| ) |  |  |

Sets value (string) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | bool | value |
| ) |  |  |

Sets value (bool) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | double | value |
| ) |  |  |

Sets value (floating point) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | int | value |
| ) |  |  |

Sets value (integer) of a property.

void wxPropertyGridInterface::SetPropertyValue | ( | wxPGPropArg | id,
|  | long | value |
| ) |  |  |

Sets value (integer) of a property.

void wxPropertyGridInterface::SetPropertyValues | ( | const wxVariant & | list,
|  | wxPGPropArg | defaultCategory = `wxNullProperty` |
| ) |  |  |

Sets property values from a list of wxVariants.

void wxPropertyGridInterface::SetPropertyValues | ( | const wxVariantList & | list,
|  | wxPGPropArg | defaultCategory = `wxNullProperty` |
| ) |  |  |

Sets property values from a list of wxVariants.

void wxPropertyGridInterface::SetPropertyValueString | ( | wxPGPropArg | id,
|  | const wxString & | value |
| ) |  |  |

Sets value (wxString) of a property.

Remarks:
  This method uses wxPGProperty::SetValueFromString(), which all properties should implement. This means that there should not be a type error, and instead the string is converted to property's actual value type.

void wxPropertyGridInterface::SetPropertyValueUnspecified | ( | wxPGPropArg | id | ) |

Sets property's value to unspecified.

If it has children (it may be category), then the same thing is done to them.

void wxPropertyGridInterface::SetValidationFailureBehavior | ( | int | vfbFlags | ) |

Adjusts how wxPropertyGrid behaves when invalid value is entered in a property.

Parameters:

  | vfbFlags | See wxPropertyGrid Validation Failure behaviour Flags for possible values.

void wxPropertyGridInterface::Sort | ( | int | flags = `0` | ) |

Sorts all properties recursively.

Parameters:

  | 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 also:
  SortChildren, wxPropertyGrid::SetSortFunction

void wxPropertyGridInterface::SortChildren | ( | wxPGPropArg | id,
|  | int | flags = `0` |
| ) |  |  |

Sorts children of a property.

Parameters:

  | id | Name or pointer to a property.
  | flags | This can contain any of the following options: wxPG_RECURSE: Sorts recursively.

See also:
  Sort, wxPropertyGrid::SetSortFunction

|  | [ top ]