.. wxPython Phoenix documentation

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

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

.. include:: headings.inc



.. _wx.grid.GridCellEditor:

==========================================================================================================================================
|phoenix_title|  **wx.grid.GridCellEditor**
==========================================================================================================================================

This class is responsible for providing and manipulating the in-place edit controls for the grid.          

Instances of :ref:`wx.grid.GridCellEditor`  (actually, instances of derived classes since it is an abstract class) can be associated with the cell attributes for individual cells, rows, columns, or even for the entire grid. 







         



.. seealso:: :ref:`wx.grid.GridCellAutoWrapStringEditor`, :ref:`wx.grid.GridCellBoolEditor`, :ref:`wx.grid.GridCellChoiceEditor`, :ref:`wx.grid.GridCellEnumEditor`, :ref:`wx.grid.GridCellFloatEditor`, :ref:`wx.grid.GridCellNumberEditor`, :ref:`wx.grid.GridCellTextEditor`    







|

|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>GridCellEditor</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.grid.GridCellEditor_inheritance.png" alt="Inheritance diagram of GridCellEditor" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.grid.GridCellEditor.html" title="This class is responsible for providing and manipulating the in-place edit controls for the grid." alt="" coords="98,83,266,112"/> <area shape="rect" id="node2" href="wx.ClientDataContainer.html" title="This class is a mixin that provides storage and management of 'client data'." alt="" coords="5,5,185,35"/> <area shape="rect" id="node3" href="wx.RefCounter.html" title="This class is used to manage reference-counting providing a simple interface and a counter." alt="" coords="210,5,330,35"/> </map> 
   </p>
   </div>

|


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

:ref:`wx.grid.GridCellBoolEditor`, :ref:`wx.grid.GridCellChoiceEditor`, :ref:`wx.grid.GridCellTextEditor`

|


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

================================================================================ ================================================================================
:meth:`~wx.grid.GridCellEditor.__init__`                                         Default constructor.
:meth:`~wx.grid.GridCellEditor.ApplyEdit`                                        Effectively save the changes in the grid.
:meth:`~wx.grid.GridCellEditor.BeginEdit`                                        Fetch the value from the table and prepare the edit control to begin editing.
:meth:`~wx.grid.GridCellEditor.Clone`                                            Create a new object which is the copy of this one.
:meth:`~wx.grid.GridCellEditor.Create`                                           Creates the actual edit control.
:meth:`~wx.grid.GridCellEditor.Destroy`                                          Final cleanup.
:meth:`~wx.grid.GridCellEditor.EndEdit`                                          End editing the cell.
:meth:`~wx.grid.GridCellEditor.GetControl`                                       Get the :ref:`wx.Control`  used by this editor.
:meth:`~wx.grid.GridCellEditor.GetValue`                                         Returns the value currently in the editor control.
:meth:`~wx.grid.GridCellEditor.HandleReturn`                                     Some types of controls on some platforms may need some help with the Return key.
:meth:`~wx.grid.GridCellEditor.IsCreated`                                        Returns ``True`` if the edit control has been created.
:meth:`~wx.grid.GridCellEditor.PaintBackground`                                  Draws the part of the cell not occupied by the control: the base class version just fills it with background colour from the attribute.
:meth:`~wx.grid.GridCellEditor.Reset`                                            Reset the value in the control back to its starting value.
:meth:`~wx.grid.GridCellEditor.SetControl`                                       Set the :ref:`wx.Control`  that will be used by this cell editor for editing the value.
:meth:`~wx.grid.GridCellEditor.SetSize`                                          Size and position the edit control.
:meth:`~wx.grid.GridCellEditor.Show`                                             Show or hide the edit control, use the specified attributes to set colours/fonts for it.
:meth:`~wx.grid.GridCellEditor.StartingClick`                                    If the editor is enabled by clicking on the cell, this method will be called.
:meth:`~wx.grid.GridCellEditor.StartingKey`                                      If the editor is enabled by pressing keys on the grid, this will be called to let the editor do something about that first key if desired.
:meth:`~wx.grid.GridCellEditor.~wxGridCellEditor`                                The destructor is private because only :meth:`~GridCellEditor.DecRef`   can delete us.
================================================================================ ================================================================================


|


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

================================================================================ ================================================================================
:attr:`~wx.grid.GridCellEditor.Control`                                          See :meth:`~wx.grid.GridCellEditor.GetControl` and :meth:`~wx.grid.GridCellEditor.SetControl`
:attr:`~wx.grid.GridCellEditor.Value`                                            See :meth:`~wx.grid.GridCellEditor.GetValue`
================================================================================ ================================================================================


|


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


.. class:: wx.grid.GridCellEditor(ClientDataContainer, RefCounter)

   **Possible constructors**::

       GridCellEditor()
       
   
   This class is responsible for providing and manipulating the in-place
   edit controls for the grid.



   .. method:: __init__(self)

      Default constructor.                   





   .. method:: ApplyEdit(self, row, col, grid)

      Effectively save the changes in the grid.                  

      This function should save the value of the control in the grid. It is called only after :meth:`EndEdit`   returns ``True``.                  


      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int
      :param `grid`: 
      :type `grid`: wx.grid.Grid







   .. method:: BeginEdit(self, row, col, grid)

      Fetch the value from the table and prepare the edit control to begin editing.                  

      This function should save the original value of the grid cell at the given `row`  and `col`  and show the control allowing the user to change it. 

                


      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int
      :param `grid`: 
      :type `grid`: wx.grid.Grid






      .. seealso:: :meth:`EndEdit`     








   .. method:: Clone(self)

      Create a new object which is the copy of this one.                  

      :rtype: :ref:`wx.grid.GridCellEditor`








   .. method:: Create(self, parent, id, evtHandler)

      Creates the actual edit control.                  


      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `evtHandler`: 
      :type `evtHandler`: wx.EvtHandler







   .. method:: Destroy(self)

      Final cleanup.                   





   .. method:: EndEdit(self, row, col, grid, oldval)

                                      End editing the cell.

                                      This function must check if the current value of the editing cell
                                      is valid and different from the original value in its string
                                      form. If not then simply return None.  If it has changed then
                                      this method should save the new value so that ApplyEdit can
                                      apply it later and the string representation of the new value
                                      should be returned.

                                      Notice that this method shoiuld not modify the grid as the
                                      change could still be vetoed.
                                  





   .. method:: GetControl(self)

      Get the :ref:`wx.Control`  used by this editor.                  

      :rtype: `Control`     








   .. method:: GetValue(self)

      Returns the value currently in the editor control.                  

      :rtype: `string`








   .. method:: HandleReturn(self, event)

      Some types of controls on some platforms may need some help with the Return key.                  


      :param `event`: 
      :type `event`: wx.KeyEvent







   .. method:: IsCreated(self)

      Returns ``True`` if the edit control has been created.                  

      :rtype: `bool`








   .. method:: PaintBackground(self, dc, rectCell, attr)

      Draws the part of the cell not occupied by the control: the base class version just fills it with background colour from the attribute.                  


      :param `dc`: 
      :type `dc`: wx.DC
      :param `rectCell`: 
      :type `rectCell`: wx.Rect
      :param `attr`: 
      :type `attr`: wx.grid.GridCellAttr







   .. method:: Reset(self)

      Reset the value in the control back to its starting value.                   





   .. method:: SetControl(self, control)

      Set the :ref:`wx.Control`  that will be used by this cell editor for editing the value.                  


      :param `control`: 
      :type `control`: wx.Control







   .. method:: SetSize(self, rect)

      Size and position the edit control.                  


      :param `rect`: 
      :type `rect`: wx.Rect







   .. method:: Show(self, show, attr=None)

      Show or hide the edit control, use the specified attributes to set colours/fonts for it.                  


      :param `show`: 
      :type `show`: bool
      :param `attr`: 
      :type `attr`: wx.grid.GridCellAttr







   .. method:: StartingClick(self)

      If the editor is enabled by clicking on the cell, this method will be called.                   





   .. method:: StartingKey(self, event)

      If the editor is enabled by pressing keys on the grid, this will be called to let the editor do something about that first key if desired.                  


      :param `event`: 
      :type `event`: wx.KeyEvent







   .. method:: ~wxGridCellEditor(self)

      The destructor is private because only :meth:`~wx.RefCounter.DecRef`   can delete us.                   





   .. attribute:: Control

      See :meth:`~wx.grid.GridCellEditor.GetControl` and :meth:`~wx.grid.GridCellEditor.SetControl`


   .. attribute:: Value

      See :meth:`~wx.grid.GridCellEditor.GetValue`