.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2017 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.propgrid.PGChoiceEditor:

==========================================================================================================================================
|phoenix_title|  **wx.propgrid.PGChoiceEditor**
==========================================================================================================================================





|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>PGChoiceEditor</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.propgrid.PGChoiceEditor_inheritance.png" alt="Inheritance diagram of PGChoiceEditor" usemap="#dummy" class="inheritance"/></center>
   </div>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.propgrid.PGChoiceEditor.html" title="wx.propgrid.PGChoiceEditor" alt="" coords="5,160,203,189"/> <area shape="rect" id="node2" href="wx.propgrid.PGEditor.html" title="wx.propgrid.PGEditor" alt="" coords="27,83,180,112"/> <area shape="rect" id="node3" href="wx.Object.html" title="wx.Object" alt="" coords="63,5,144,35"/> </map> 
   </p>

|


|sub_classes| Known Subclasses
==============================

:ref:`wx.propgrid.PGChoiceAndButtonEditor`, :ref:`wx.propgrid.PGComboBoxEditor`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.propgrid.PGChoiceEditor.__init__`                                     
:meth:`~wx.propgrid.PGChoiceEditor.CanContainCustomImage`                        Returns ``True`` if control itself can contain the custom image.
:meth:`~wx.propgrid.PGChoiceEditor.CreateControls`                               Instantiates editor controls.
:meth:`~wx.propgrid.PGChoiceEditor.CreateControlsBase`                           
:meth:`~wx.propgrid.PGChoiceEditor.DeleteItem`                                   Deletes item from existing control.
:meth:`~wx.propgrid.PGChoiceEditor.GetName`                                      Returns pointer to the name of the editor.
:meth:`~wx.propgrid.PGChoiceEditor.GetValueFromControl`                          Returns value from control, via parameter 'variant'.
:meth:`~wx.propgrid.PGChoiceEditor.InsertItem`                                   Inserts item to existing control.
:meth:`~wx.propgrid.PGChoiceEditor.OnEvent`                                      Handles events.
:meth:`~wx.propgrid.PGChoiceEditor.SetControlIntValue`                           Sets control's value specifically from int (applies to choice etc.).
:meth:`~wx.propgrid.PGChoiceEditor.SetControlStringValue`                        Sets control's value specifically from string.
:meth:`~wx.propgrid.PGChoiceEditor.SetValueToUnspecified`                        Sets value in control to unspecified.
:meth:`~wx.propgrid.PGChoiceEditor.UpdateControl`                                Loads value from property to the control.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.propgrid.PGChoiceEditor.Name`                                         See :meth:`~wx.propgrid.PGChoiceEditor.GetName`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.propgrid.PGChoiceEditor(PGEditor)

   **Possible constructors**::

       PGChoiceEditor()
       



   .. method:: __init__(self)






   .. method:: CanContainCustomImage(self)

      Returns ``True`` if control itself can contain the custom image.                  

      Default implementation returns ``False``.                  

      :rtype: `bool`








   .. method:: CreateControls(self, propgrid, property, pos, size)

      Instantiates editor controls.                  




      :param `propgrid`: :ref:`wx.propgrid.PropertyGrid`  to which the property belongs (use as parent for control).  
      :type `propgrid`: wx.propgrid.PropertyGrid
      :param `property`: Property for which this method is called.  
      :type `property`: wx.propgrid.PGProperty
      :param `pos`: Position, inside :ref:`wx.propgrid.PropertyGrid`, to create control(s) to.  
      :type `pos`: wx.Point
      :param `size`: Initial size for control(s).  
      :type `size`: wx.Size












      :rtype: :ref:`wx.propgrid.PGWindowList`



                  



      .. note:: 

   

         - Primary control shall use id ``PG_SUBID1``, and secondary (button) control shall use ``PG_SUBID2``. 
         - Unlike in previous version of :ref:`wx.propgrid.PropertyGrid`, it is no longer necessary to call :meth:`wx.EvtHandler.Connect`   for interesting editor events. Instead, all events from control are now automatically forwarded to :meth:`wx.propgrid.PGEditor.OnEvent`   and :meth:`wx.propgrid.PGProperty.OnEvent` .  











   .. method:: CreateControlsBase(self, propgrid, property, pos, sz, extraStyle)




      :param `propgrid`: 
      :type `propgrid`: wx.propgrid.PropertyGrid
      :param `property`: 
      :type `property`: wx.propgrid.PGProperty
      :param `pos`: 
      :type `pos`: wx.Point
      :param `sz`: 
      :type `sz`: wx.Size
      :param `extraStyle`: 
      :type `extraStyle`: long




      :rtype: :ref:`Window`








   .. method:: DeleteItem(self, ctrl, index)

      Deletes item from existing control.                  

      Default implementation does nothing.                  


      :param `ctrl`: 
      :type `ctrl`: wx.Window
      :param `index`: 
      :type `index`: int







   .. method:: GetName(self)

      Returns pointer to the name of the editor.                  

      For example, PGEditor_TextCtrl has name "TextCtrl". If you dont' need to access your custom editor by string name, then you do not need to implement this function.                  

      :rtype: `string`








   .. method:: GetValueFromControl(self, variant, property, ctrl)

      Returns value from control, via parameter 'variant'.                  

      Usually ends up calling property's StringToValue() or IntToValue(). Returns ``True`` if value was different.                  


      :param `variant`: 
      :type `variant`: PGVariant
      :param `property`: 
      :type `property`: wx.propgrid.PGProperty
      :param `ctrl`: 
      :type `ctrl`: wx.Window




      :rtype: `bool`








   .. method:: InsertItem(self, ctrl, label, index)

      Inserts item to existing control.                  

      Index -1 means end of list. Default implementation does nothing. Returns index of item added.                  


      :param `ctrl`: 
      :type `ctrl`: wx.Window
      :param `label`: 
      :type `label`: string
      :param `index`: 
      :type `index`: int




      :rtype: `int`








   .. method:: OnEvent(self, propgrid, property, wnd_primary, event)

      Handles events.                  

      Returns ``True`` if value in control was modified (see :meth:`wx.propgrid.PGProperty.OnEvent`   for more information). 

                


      :param `propgrid`: 
      :type `propgrid`: wx.propgrid.PropertyGrid
      :param `property`: 
      :type `property`: wx.propgrid.PGProperty
      :param `wnd_primary`: 
      :type `wnd_primary`: wx.Window
      :param `event`: 
      :type `event`: wx.Event




      :rtype: `bool`







      .. note:: 

         :ref:`wx.propgrid.PropertyGrid`  will automatically unfocus the editor when  ``wxEVT_TEXT_ENTER``   is received and when it results in property value being modified. This happens regardless of editor type (ie. behaviour is same for any  :ref:`wx.TextCtrl`  and :ref:`wx.ComboBox`  based editor).   








   .. method:: SetControlIntValue(self, property, ctrl, value)

      Sets control's value specifically from int (applies to choice etc.).                  


      :param `property`: 
      :type `property`: wx.propgrid.PGProperty
      :param `ctrl`: 
      :type `ctrl`: wx.Window
      :param `value`: 
      :type `value`: int







   .. method:: SetControlStringValue(self, property, ctrl, txt)

      Sets control's value specifically from string.                  


      :param `property`: 
      :type `property`: wx.propgrid.PGProperty
      :param `ctrl`: 
      :type `ctrl`: wx.Window
      :param `txt`: 
      :type `txt`: string







   .. method:: SetValueToUnspecified(self, property, ctrl)

      Sets value in control to unspecified.                  


      :param `property`: 
      :type `property`: wx.propgrid.PGProperty
      :param `ctrl`: 
      :type `ctrl`: wx.Window







   .. method:: UpdateControl(self, property, ctrl)

      Loads value from property to the control.                  


      :param `property`: 
      :type `property`: wx.propgrid.PGProperty
      :param `ctrl`: 
      :type `ctrl`: wx.Window







   .. attribute:: Name

      See :meth:`~wx.propgrid.PGChoiceEditor.GetName`

