.. wxPython Phoenix documentation
This file was generated by Phoenix's sphinx generator and associated
tools, do not edit by hand.
Copyright: (c) 2011-2020 by Total Control Software
License: wxWindows License
.. include:: headings.inc
.. _wx.propgrid.EnumProperty:
==========================================================================================================================================
|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 :meth:`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
=================================
.. raw:: html

Inheritance diagram for class
EnumProperty:
|
|sub_classes| Known Subclasses
==============================
:ref:`wx.propgrid.CursorProperty`, :ref:`wx.propgrid.EditEnumProperty`, :ref:`wx.propgrid.SystemColourProperty`
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.propgrid.EnumProperty.__init__`
:meth:`~wx.propgrid.EnumProperty.GetChoiceSelection` Returns which choice is currently selected.
:meth:`~wx.propgrid.EnumProperty.GetIndexForValue`
:meth:`~wx.propgrid.EnumProperty.GetItemCount`
:meth:`~wx.propgrid.EnumProperty.IntToValue` Converts integer (possibly a choice selection) into `Variant` value appropriate for this property.
:meth:`~wx.propgrid.EnumProperty.OnSetValue` This virtual function is called after m_value has been set.
:meth:`~wx.propgrid.EnumProperty.StringToValue` Converts text into `Variant` value appropriate for this property.
:meth:`~wx.propgrid.EnumProperty.ValidateValue` Implement this function in derived class to check the value.
:meth:`~wx.propgrid.EnumProperty.ValueToString` Converts property value into a text representation.
================================================================================ ================================================================================
|
|property_summary| Properties Summary
=====================================
================================================================================ ================================================================================
:attr:`~wx.propgrid.EnumProperty.ChoiceSelection` See :meth:`~wx.propgrid.EnumProperty.GetChoiceSelection`
:attr:`~wx.propgrid.EnumProperty.ItemCount` See :meth:`~wx.propgrid.EnumProperty.GetItemCount`
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: wx.propgrid.EnumProperty(PGProperty)
**Possible constructors**::
EnumProperty(label : str, name : str, choices : PGChoices, value: int=0)
-> None
EnumProperty(label: str=PG_LABEL, name: str=PG_LABEL, labels:
List[str]=[], values: List[int]=[], value: int=0) -> None
You can derive custom properties with choices from this class.
.. method:: __init__(self, *args, **kw)
|overload| **Overloaded Implementations:**
:html:`
`
**__init__** `(self, label : str, name : str, choices : PGChoices, value: int=0)`
:param `label`:
:type `label`: string
:param `name`:
:type `name`: string
:param `choices`:
:type `choices`: wx.propgrid.PGChoices
:param `value`:
:type `value`: int
:rtype: `None`
:html:`
`
**__init__** `(self, label: str=PG_LABEL, name: str=PG_LABEL, labels: List[str]=[], values: List[int]=[], value: int=0)`
:param `label`:
:type `label`: string
:param `name`:
:type `name`: string
:param `labels`:
:type `labels`: list of strings
:param `values`:
:type `values`: list of integers
:param `value`:
:type `value`: int
:rtype: `None`
:html:`
`
.. method:: 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.
:rtype: `int`
.. method:: GetIndexForValue(self, value : int)
:param `value`:
:type `value`: int
:rtype: `int`
.. method:: GetItemCount(self)
:rtype: `int`
.. method:: IntToValue(self, number : int, argFlags: int=0)
Converts integer (possibly a choice selection) into `Variant` value appropriate for this property.
:param `number`: Integer to be translated into variant.
:type `number`: int
:param `argFlags`: If ``PG_FULL_VALUE`` is set, returns complete, storable value instead of displayable one.
:type `argFlags`: int
:rtype: :ref:`Tuple[bool, PGVariant]`
: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).
.. method:: OnSetValue(self)
This virtual function is called after m_value has been set.
:rtype: `None`
.. note::
- If m_value was set to Null variant (i.e. unspecified value), :meth:`OnSetValue` will not be called.
- m_value may be of any variant type. Typically properties internally support only one variant type, and as such :meth:`OnSetValue` provides a good opportunity to convert supported values into internal type.
- Default implementation does nothing.
.. method:: StringToValue(self, text : str, argFlags: int=0)
Converts text into `Variant` value appropriate for this property.
:param `text`: Text to be translated into variant.
:type `text`: string
:param `argFlags`: If ``PG_FULL_VALUE`` is set, returns complete, storable value instead of displayable one (they may be different). If ``PG_COMPOSITE_FRAGMENT`` is set, text is interpreted as a part of composite property string value (as generated by :meth:`ValueToString` called with this same flag).
:type `argFlags`: int
:rtype: :ref:`Tuple[bool, PGVariant]`
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.
.. method:: ValidateValue(self, value : PGVariant, validationInfo : PGValidationInfo)
Implement this function in derived class to check the value.
Return ``True`` if it is ok. Returning ``False`` prevents property change events from occurring.
:param `value`:
:type `value`: PGVariant
:param `validationInfo`:
:type `validationInfo`: wx.propgrid.PGValidationInfo
:rtype: `bool`
.. note::
- Default implementation always returns ``True``.
.. method:: ValueToString(self, value : PGVariant, argFlags: int=0)
Converts property value into a text representation.
:param `value`: Value to be converted.
:type `value`: PGVariant
:param `argFlags`: If 0 (default value), then displayed string is returned. If ``PG_FULL_VALUE`` is set, returns complete, storable string value instead of displayable. If ``PG_EDITABLE_VALUE`` is set, returns string value that must be editable in textctrl. If ``PG_COMPOSITE_FRAGMENT`` is set, returns text that is appropriate to display as a part of string property's composite text representation.
:type `argFlags`: int
:rtype: `str`
.. note::
Default implementation calls :meth:`~wx.propgrid.PGProperty.GenerateComposedValue` .
.. attribute:: ChoiceSelection
See :meth:`~wx.propgrid.EnumProperty.GetChoiceSelection`
.. attribute:: ItemCount
See :meth:`~wx.propgrid.EnumProperty.GetItemCount`