Phoenix Logo

phoenix_title wx.propgrid.EnumProperty

You can derive custom properties with choices from this class.

See BaseEnumProperty for remarks.

Note

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

class_hierarchy Class Hierarchy

Inheritance diagram for class EnumProperty:


method_summary Methods Summary

__init__  
GetChoiceSelection Returns which choice is currently selected.
GetIndexForValue  
GetItemCount  
IntToValue Converts integer (possibly a choice selection) into Variant value appropriate for this property.
OnSetValue This virtual function is called after m_value has been set.
OnValidationFailure Called whenever validation has failed with given pending value.
StringToValue Converts text into Variant value appropriate for this property.
ValidateValue Implement this function in derived class to check the value.
ValueToString Converts property value into a text representation.

api Class API



class wx.propgrid.EnumProperty(PGProperty)

Possible constructors:

EnumProperty(label, name, choices, value=0)

EnumProperty(label=PG_LABEL, name=PG_LABEL, labels=[], values=[],
             value=0)

You can derive custom properties with choices from this class.


Methods



__init__(self, *args, **kw)

overload Overloaded Implementations:



__init__ (self, label, name, choices, value=0)

Parameters:



__init__ (self, label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=0)

Parameters:
  • label (string) –
  • name (string) –
  • labels (list of strings) –
  • values (list of integers) –
  • value (int) –





GetChoiceSelection(self)

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.

Return type:int


GetIndexForValue(self, value)
Parameters:value (int) –
Return type:int


GetItemCount(self)
Return type:int


IntToValue(self, variant, number, argFlags=0)

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

Parameters:
  • variant (PGVariant) – On function entry this is the old value (should not be NullVariant in normal cases). Translated value must be assigned back to it.
  • number (int) – Integer to be translated into variant.
  • argFlags (int) – If wx.propgrid.PG_FULL_VALUE is set, returns complete, storable value instead of displayable one.
Return type:

bool

Returns:

Returns True if resulting Variant value was different.

Note

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


OnSetValue(self)

This virtual function is called after m_value has been set.

Note

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


OnValidationFailure(self, pendingValue)

Called whenever validation has failed with given pending value.

Parameters:pendingValue (PGVariant) –

Note

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.



StringToValue(self, variant, text, argFlags=0)

Converts text into Variant value appropriate for this property.

Parameters:
  • variant (PGVariant) – On function entry this is the old value (should not be NullVariant in normal cases). Translated value must be assigned back to it.
  • text (string) – Text to be translated into variant.
  • argFlags (int) – If wx.propgrid.PG_FULL_VALUE is set, returns complete, storable value instead of displayable one (they may be different). If wx.propgrid.PG_COMPOSITE_FRAGMENT is set, text is interpreted as a part of composite property string value (as generated by ValueToString called with this same flag).
Return type:

bool

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

Returns:Returns True if resulting Variant value was different.

Note

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



ValidateValue(self, value, validationInfo)

Implement this function in derived class to check the value.

Return True if it is ok. Returning False prevents property change events from occurring.

Parameters:
Return type:

bool

Note

  • Default implementation always returns True.


ValueToString(self, value, argFlags=0)

Converts property value into a text representation.

Parameters:
  • value (PGVariant) – Value to be converted.
  • argFlags (int) – If 0 (default value), then displayed string is returned. If wx.propgrid.PG_FULL_VALUE is set, returns complete, storable string value instead of displayable. If wx.propgrid.PG_EDITABLE_VALUE is set, returns string value that must be editable in textctrl. If wx.propgrid.PG_COMPOSITE_FRAGMENT is set, returns text that is appropriate to display as a part of string property’s composite text representation.
Return type:

string

Note

Default implementation calls GenerateComposedValue .


Properties



ChoiceSelection

See GetChoiceSelection



ItemCount

See GetItemCount