.. 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, 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. .. method:: __init__(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **__init__** `(self, label, name, choices, value=0)` :param `label`: :type `label`: string :param `name`: :type `name`: string :param `choices`: :type `choices`: wx.propgrid.PGChoices :param `value`: :type `value`: int :html:`

` **__init__** `(self, label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=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 :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) :param `value`: :type `value`: int :rtype: `int` .. method:: GetItemCount(self) :rtype: `int` .. method:: IntToValue(self, number, argFlags=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: `tuple` :returns: ( `bool`, `variant` ) .. 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. .. 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, argFlags=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: `tuple` 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: ( `bool`, `variant` ) .. note:: Default implementation converts semicolon delimited tokens into child values. Only works for properties with children. .. method:: 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. :param `value`: :type `value`: PGVariant :param `validationInfo`: :type `validationInfo`: wx.propgrid.PGValidationInfo :rtype: `bool` .. note:: - Default implementation always returns ``True``. .. method:: ValueToString(self, value, argFlags=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: `string` .. 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`