| Version: 3.0.5

- Main Page
- Related Pages
- Categories
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
wxEnumProperty Class Reference

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

Inheritance diagram for wxEnumProperty:
[legend]

## Detailed Description

You can derive custom properties with choices from this class.

See wxBaseEnumProperty for remarks.

Remarks
  - Updating private index is important. You can do this either by calling SetIndex() in IntToValue, and then letting wxBaseEnumProperty::OnSetValue be called (by not implementing it, or by calling super class function in it) -OR- you can just call SetIndex in OnSetValue.

## Public Member Functions

| wxEnumProperty (const wxString &label=wxPG_LABEL, const wxString &name=wxPG_LABEL, const wxChar *const *labels=NULL, const long *values=NULL, int value=0)
| wxEnumProperty (const wxString &label, const wxString &name, wxPGChoices &choices, int value=0)
| wxEnumProperty (const wxString &label, const wxString &name, const wxChar *const *labels, const long *values, wxPGChoices *choicesCache, int value=0)
| wxEnumProperty (const wxString &label, const wxString &name, const wxArrayString &labels, const wxArrayInt &values=wxArrayInt(), int value=0)
virtual | ~wxEnumProperty ()
size_t | GetItemCount () const
virtual void | OnSetValue ()
| This virtual function is called after m_value has been set. More...
virtual wxString | ValueToString (wxVariant &value, int argFlags=0) const
| Converts property value into a text representation. More...
virtual bool | StringToValue (wxVariant &variant, const wxString &text, int argFlags=0) const
| Converts text into wxVariant value appropriate for this property. More...
virtual bool | ValidateValue (wxVariant &value, wxPGValidationInfo &validationInfo) const
| Implement this function in derived class to check the value. More...
virtual bool | IntToValue (wxVariant &variant, int number, int argFlags=0) const
| Converts integer (possibly a choice selection) into wxVariant value appropriate for this property. More...
virtual int | GetIndexForValue (int value) const
virtual int | GetChoiceSelection () const
| Returns which choice is currently selected. More...
virtual void | OnValidationFailure (wxVariant &pendingValue)
| Called whenever validation has failed with given pending value. More...
Public Member Functions inherited from wxPGProperty
| wxPGProperty ()
| Default constructor. More...
| wxPGProperty (const wxString &label, const wxString &name)
| Constructor. More...
virtual | ~wxPGProperty ()
| Virtual destructor. More...
virtual wxVariant | DoGetValue () const
| Override this to return something else than m_value as the value. More...
bool | SetValueFromString (const wxString &text, int flags=0)
| Converts string to a value, and if successful, calls SetValue() on it. More...
bool | SetValueFromInt (long value, int flags=0)
| Converts integer to a value, and if successful, calls SetValue() on it. More...
virtual wxSize | OnMeasureImage (int item=-1) const
| Returns size of the custom painted image in front of property. More...
virtual bool | OnEvent (wxPropertyGrid *propgrid, wxWindow *wnd_primary, wxEvent &event)
| Events received by editor widgets are processed here. More...
virtual wxVariant | ChildChanged (wxVariant &thisValue, int childIndex, wxVariant &childValue) const
| Called after value of a child property has been altered. More...
virtual const wxPGEditor * | DoGetEditorClass () const
| Returns pointer to an instance of used editor. More...
virtual wxValidator * | DoGetValidator () const
| Returns pointer to the wxValidator that should be used with the editor of this property (NULL for no validator). More...
virtual void | OnCustomPaint (wxDC &dc, const wxRect &rect, wxPGPaintData &paintdata)
| Override to paint an image in front of the property value text or drop-down list item (but only if wxPGProperty::OnMeasureImage is overridden as well). More...
virtual wxPGCellRenderer * | GetCellRenderer (int column) const
| Returns used wxPGCellRenderer instance for given property column (label=0, value=1). More...
virtual void | RefreshChildren ()
| Refresh values of child properties. More...
virtual bool | DoSetAttribute (const wxString &name, wxVariant &value)
| Reimplement this member function to add special handling for attributes of this property. More...
virtual wxVariant | DoGetAttribute (const wxString &name) const
| Returns value of an attribute. More...
virtual wxPGEditorDialogAdapter * | GetEditorDialog () const
| Returns instance of a new wxPGEditorDialogAdapter instance, which is used when user presses the (optional) button next to the editor control;. More...
int | AddChoice (const wxString &label, int value=wxPG_INVALID_VALUE)
| Append a new choice to property's list of choices. More...
void | AddChild (wxPGProperty *prop)
| Adds a private child property. More...
void | AddPrivateChild (wxPGProperty *prop)
| Adds a private child property. More...
void | AdaptListToValue (wxVariant &list, wxVariant *value) const
| Adapts list variant into proper value using consecutive ChildChanged() calls. More...
wxPGProperty * | AppendChild (wxPGProperty *childProperty)
| Use this member function to add independent (ie. More...
bool | AreAllChildrenSpecified (wxVariant *pendingList=NULL) const
| Determines, recursively, if all children are not unspecified. More...
bool | AreChildrenComponents () const
| Returns true if children of this property are component values (for instance, points size, face name, and is_underlined are component values of a font). More...
void | ChangeFlag (wxPGPropertyFlags flag, bool set)
| Sets or clears given property flag. More...
void | DeleteChildren ()
| Deletes children of the property. More...
void | DeleteChoice (int index)
| Removes entry from property's wxPGChoices and editor control (if it is active). More...
void | Enable (bool enable=true)
| Enables or disables the property. More...
void | EnableCommonValue (bool enable=true)
| Call to enable or disable usage of common value (integer value that can be selected for properties instead of their normal values) for this property. More...
wxString | GenerateComposedValue () const
| Composes text from values of child properties. More...
wxVariant | GetAttribute (const wxString &name) const
| Returns property attribute value, null variant if not found. More...
wxString | GetAttribute (const wxString &name, const wxString &defVal) const
| Returns named attribute, as string, if found. More...
long | GetAttributeAsLong (const wxString &name, long defVal) const
| Returns named attribute, as long, if found. More...
double | GetAttributeAsDouble (const wxString &name, double defVal) const
| Returns named attribute, as double, if found. More...
wxVariant | GetAttributesAsList () const
| Returns attributes as list wxVariant. More...
const wxPGAttributeStorage & | GetAttributes () const
| Return attributes storage map. More...
const wxPGEditor * | GetColumnEditor (int column) const
| Returns editor used for given column. More...
const wxString & | GetBaseName () const
| Returns property's base name (ie. More...
const wxPGCell & | GetCell (unsigned int column) const
| Returns wxPGCell of given column. More...
wxPGCell & | GetCell (unsigned int column)
| Returns wxPGCell of given column, creating one if necessary. More...
wxPGCell & | GetOrCreateCell (unsigned int column)
| Returns wxPGCell of given column, creating one if necessary. More...
unsigned int | GetChildCount () const
| Returns number of child properties. More...
int | GetChildrenHeight (int lh, int iMax=-1) const
| Returns height of children, recursively, and by taking expanded/collapsed status into account. More...
const wxPGChoices & | GetChoices () const
| Returns read-only reference to property's list of choices. More...
void * | GetClientData () const
| Returns client data (void*) of a property. More...
wxClientData * | GetClientObject () const
| Sets managed client object of a property. More...
wxVariant | GetDefaultValue () const
| Returns property's default value. More...
wxString | GetDisplayedString () const
| Returns property's displayed text. More...
const wxPGEditor * | GetEditorClass () const
| Returns wxPGEditor that will be used and created when property becomes selected. More...
FlagType | GetFlags () const
| Returns property flags. More...
wxPropertyGrid * | GetGrid () const
| Returns property grid where property lies. More...
wxPropertyGrid * | GetGridIfDisplayed () const
| Returns owner wxPropertyGrid, but only if one is currently on a page displaying this property. More...
const wxString & | GetHelpString () const
| Returns property's help or description text. More...
unsigned int | GetIndexInParent () const
| Returns position in parent's array. More...
const wxString & | GetLabel () const
| Returns property's label. More...
const wxPGProperty * | GetLastVisibleSubItem () const
| Returns last visible child property, recursively. More...
wxPGProperty * | GetMainParent () const
| Returns highest level non-category, non-root parent. More...
int | GetMaxLength () const
| Returns maximum allowed length of property's text value. More...
wxString | GetName () const
| Returns property's name with all (non-category, non-root) parents. More...
wxPGProperty * | GetParent () const
| Return parent of property. More...
wxPGProperty * | GetPropertyByName (const wxString &name) const
| Returns (direct) child property with given name (or NULL if not found). More...
wxValidator * | GetValidator () const
| Gets assignable version of property's validator. More...
wxVariant | GetValue () const
| Returns property's value. More...
wxBitmap * | GetValueImage () const
| Returns bitmap that appears next to value text. More...
virtual wxString | GetValueAsString (int argFlags=0) const
| Returns text representation of property's value. More...
wxString | GetValueString (int argFlags=0) const
| Synonymous to GetValueAsString(). More...
wxString | GetValueType () const
| Returns value type used by this property. More...
int | GetY () const
| Returns coordinate to the top y of the property. More...
FlagType | HasFlag (wxPGPropertyFlags flag) const
| Returns non-zero if property has given flag set. More...
bool | HasVisibleChildren () const
| Returns true if property has even one visible child. More...
bool | Hide (bool hide, int flags=wxPG_RECURSE)
| Hides or reveals the property. More...
int | Index (const wxPGProperty *p) const
| Returns index of given child property. More...
wxPGProperty * | InsertChild (int index, wxPGProperty *childProperty)
| Use this member function to add independent (ie. More...
int | InsertChoice (const wxString &label, int index, int value=wxPG_INVALID_VALUE)
| Inserts a new choice to property's list of choices. More...
bool | IsCategory () const
| Returns true if this property is actually a wxPropertyCategory. More...
bool | IsEnabled () const
| Returns true if property is enabled. More...
bool | IsExpanded () const
| Returns true if property has visible children. More...
bool | IsRoot () const
| Returns true if this property is actually a wxRootProperty. More...
bool | IsSubProperty () const
| Returns true if this is a sub-property. More...
bool | IsSomeParent (wxPGProperty *candidateParent) const
| Returns true if candidateParent is some parent of this property. More...
bool | IsTextEditable () const
| Returns true if property has editable wxTextCtrl when selected. More...
bool | IsValueUnspecified () const
| Returns true if property's value is considered unspecified. More...
bool | IsVisible () const
| Returns true if all parents expanded. More...
wxPGProperty * | Item (unsigned int i) const
| Returns child property at index i. More...
void | RefreshEditor ()
| If property's editor is active, then update it's value. More...
void | SetAttribute (const wxString &name, wxVariant value)
| Sets an attribute for this property. More...
void | SetAttributes (const wxPGAttributeStorage &attributes)
void | SetAutoUnspecified (bool enable=true)
| Set if user can change the property's value to unspecified by modifying the value of the editor control (usually by clearing it). More...
void | SetBackgroundColour (const wxColour &colour, int flags=wxPG_RECURSE)
| Sets property's background colour. More...
void | SetEditor (const wxPGEditor *editor)
| Sets editor for a property. More...
void | SetEditor (const wxString &editorName)
| Sets editor for a property, by editor name. More...
void | SetCell (int column, const wxPGCell &cell)
| Sets cell information for given column. More...
bool | SetChoices (wxPGChoices &choices)
| Sets new set of choices for the property. More...
void | SetClientData (void *clientData)
| Sets client data (void*) of a property. More...
void | SetClientObject (wxClientData *clientObject)
| Returns client object of a property. More...
void | SetChoiceSelection (int newValue)
| Sets selected choice and changes property value. More...
void | SetDefaultValue (wxVariant &value)
| Set default value of a property. More...
void | SetFlagRecursively (wxPGPropertyFlags flag, bool set)
| Sets or clears given property flag, recursively. More...
void | SetHelpString (const wxString &helpString)
| Sets property's help string, which is shown, for example, in wxPropertyGridManager's description text box. More...
void | SetLabel (const wxString &label)
| Sets property's label. More...
bool | SetMaxLength (int maxLen)
| Set max length of text in text editor. More...
void | SetModifiedStatus (bool modified)
| Sets property's "is it modified?" flag. More...
void | SetName (const wxString &newName)
| Sets new (base) name for property. More...
void | SetParentalType (int flag)
| Changes what sort of parent this property is for its children. More...
void | SetTextColour (const wxColour &colour, int flags=wxPG_RECURSE)
| Sets property's text colour. More...
void | SetValidator (const wxValidator &validator)
| Sets wxValidator for a property. More...
void | SetValue (wxVariant value, wxVariant *pList=NULL, int flags=wxPG_SETVAL_REFRESH_EDITOR)
| Call this to set value of the property. More...
void | SetValueImage (wxBitmap &bmp)
| Set wxBitmap in front of the value. More...
void | SetValueInEvent (wxVariant value) const
| Call this function in OnEvent(), OnButtonClick() etc. More...
void | SetValueToUnspecified ()
| Sets property's value to unspecified (ie. More...
void | SetWasModified (bool set=true)
| Call with false in OnSetValue() to cancel value changes after all (ie. More...
wxPGProperty * | UpdateParentValues ()
| Updates composed values of parent non-category properties, recursively. More...
bool | UsesAutoUnspecified () const
| Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES. More...
void | SetValuePlain (wxVariant value)
| Helper for language bindings. More...
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to NULL the internal reference data. More...
| wxObject (const wxObject &other)
| Copy ctor. More...
virtual | ~wxObject ()
| Destructor. More...
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class. More...
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj. More...
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone. More...
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer. More...
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
void | UnShare ()
| This is the same of AllocExclusive() but this method is public. More...
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `WXDEBUG` is defined. More...
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `WXDEBUG` is defined. More...

## Protected Member Functions

int | GetIndex () const
void | SetIndex (int index)
bool | ValueFromString_ (wxVariant &value, const wxString &text, int argFlags) const
bool | ValueFromInt_ (wxVariant &value, int intVal, int argFlags) const
Protected Member Functions inherited from wxPGProperty
void | Empty ()
| Deletes all child properties. More...
void | SetFlag (wxPGPropertyFlags flag)
void | ClearFlag (FlagType flag)
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object. More...
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...

## Static Protected Member Functions

static void | ResetNextIndex ()

## Additional Inherited Members

Public Types inherited from wxPGProperty
typedef wxUint32 | FlagType
Public Attributes inherited from wxPGProperty
void * | m_clientData
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data. More...

## Constructor & Destructor Documentation

wxEnumProperty::wxEnumProperty | ( | const wxString & | label = `wxPG_LABEL`,
|  | const wxString & | name = `wxPG_LABEL`,
|  | const wxChar *const * | labels = `NULL`,
|  | const long * | values = `NULL`,
|  | int | value = `0`
| ) |  |

wxEnumProperty::wxEnumProperty | ( | const wxString & | label,
|  | const wxString & | name,
|  | wxPGChoices & | choices,
|  | int | value = `0`
| ) |  |

wxEnumProperty::wxEnumProperty | ( | const wxString & | label,
|  | const wxString & | name,
|  | const wxChar *const * | labels,
|  | const long * | values,
|  | wxPGChoices * | choicesCache,
|  | int | value = `0`
| ) |  |

wxEnumProperty::wxEnumProperty | ( | const wxString & | label,
|  | const wxString & | name,
|  | const wxArrayString & | labels,
|  | const wxArrayInt & | values = `wxArrayInt()`,
|  | int | value = `0`
| ) |  |

virtual wxEnumProperty::~wxEnumProperty | ( |  | ) |

virtual

## Member Function Documentation

virtual int wxEnumProperty::GetChoiceSelection | ( |  | ) | const

virtual

Returns which choice is currently selected.

Only applies to properties which have choices.

Needs to reimplemented in derived class if property value does not map directly to a choice. Integer as index, bool, and string usually do.

Reimplemented from wxPGProperty.

int wxEnumProperty::GetIndex | ( |  | ) | const

protected

virtual int wxEnumProperty::GetIndexForValue | ( | int | value | ) | const

virtual

size_t wxEnumProperty::GetItemCount | ( |  | ) | const

virtual bool wxEnumProperty::IntToValue | ( | wxVariant & | variant,
|  | int | number,
|  | int | argFlags = `0`
| ) |  | const

virtual

Converts integer (possibly a choice selection) into wxVariant value appropriate for this property.

Parameters

  variant | On function entry this is the old value (should not be wxNullVariant in normal cases). Translated value must be assigned back to it.
  number | Integer to be translated into variant.
  argFlags | If wxPG_FULL_VALUE is set, returns complete, storable value instead of displayable one.

Returns
  Returns true if resulting wxVariant value was different.

Remarks
  - If property is not supposed to use choice or spinctrl or other editor with int-based value, it is not necessary to implement this method.
  - Default implementation simply assign given int to m_value.
  - If property uses choice control, and displays a dialog on some choice items, then it is preferred to display that dialog in IntToValue instead of OnEvent.
  - You might want to take into account that m_value is Mull variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).

Reimplemented from wxPGProperty.

Reimplemented in wxSystemColourProperty.

virtual void wxEnumProperty::OnSetValue | ( |  | ) |

virtual

This virtual function is called after m_value has been set.

Remarks
  - If m_value was set to Null variant (ie. unspecified value), OnSetValue() will not be called.
  - m_value may be of any variant type. Typically properties internally support only one variant type, and as such OnSetValue() provides a good opportunity to convert supported values into internal type.
  - Default implementation does nothing.

Reimplemented from wxPGProperty.

Reimplemented in wxSystemColourProperty.

virtual void wxEnumProperty::OnValidationFailure | ( | wxVariant & | pendingValue | ) |

virtual

Called whenever validation has failed with given pending value.

Remarks
  If you implement this in your custom property class, please remember to call the baser implementation as well, since they may use it to revert property into pre-change state.

Reimplemented from wxPGProperty.

static void wxEnumProperty::ResetNextIndex | ( |  | ) |

staticprotected

void wxEnumProperty::SetIndex | ( | int | index | ) |

protected

virtual bool wxEnumProperty::StringToValue | ( | wxVariant & | variant,
|  | const wxString & | text,
|  | int | argFlags = `0`
| ) |  | const

virtual

Converts text into wxVariant value appropriate for this property.

Parameters

  variant | On function entry this is the old value (should not be wxNullVariant in normal cases). Translated value must be assigned back to it.
  text | Text to be translated into variant.
  argFlags | If wxPG_FULL_VALUE is set, returns complete, storable value instead of displayable one (they may be different). If wxPG_COMPOSITE_FRAGMENT is set, text is interpreted as a part of composite property string value (as generated by ValueToString() called with this same flag).

Returns
  Returns true if resulting wxVariant value was different.

Remarks
  Default implementation converts semicolon delimited tokens into child values. Only works for properties with children.

You might want to take into account that m_value is Null variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).

Reimplemented from wxPGProperty.

Reimplemented in wxSystemColourProperty.

virtual bool wxEnumProperty::ValidateValue | ( | wxVariant & | value,
|  | wxPGValidationInfo & | validationInfo
| ) |  | const

virtual

Implement this function in derived class to check the value.

Return true if it is ok. Returning false prevents property change events from occurring.

Remarks
  - Default implementation always returns true.

Reimplemented from wxPGProperty.

bool wxEnumProperty::ValueFromInt_ | ( | wxVariant & | value,
|  | int | intVal,
|  | int | argFlags
| ) |  | const

protected

bool wxEnumProperty::ValueFromString_ | ( | wxVariant & | value,
|  | const wxString & | text,
|  | int | argFlags
| ) |  | const

protected

virtual wxString wxEnumProperty::ValueToString | ( | wxVariant & | value,
|  | int | argFlags = `0`
| ) |  | const

virtual

Converts property value into a text representation.

Parameters

  value | Value to be converted.
  argFlags | If 0 (default value), then displayed string is returned. If wxPG_FULL_VALUE is set, returns complete, storable string value instead of displayable. If wxPG_EDITABLE_VALUE is set, returns string value that must be editable in textctrl. If wxPG_COMPOSITE_FRAGMENT is set, returns text that is appropriate to display as a part of string property's composite text representation.

Remarks
  Default implementation calls GenerateComposedValue().

Reimplemented from wxPGProperty.

Reimplemented in wxColourProperty, and wxSystemColourProperty.