.. 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.richtext.RichTextTable:

==========================================================================================================================================
|phoenix_title|  **wx.richtext.RichTextTable**
==========================================================================================================================================

:ref:`wx.richtext.RichTextTable`  represents a table with arbitrary columns and rows.           




|

|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>RichTextTable</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.richtext.RichTextTable_inheritance.png" alt="Inheritance diagram of RichTextTable" 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.richtext.RichTextTable.html" title="wx.richtext.RichTextTable" alt="" coords="55,392,243,421"/> <area shape="rect" id="node2" href="wx.richtext.RichTextBox.html" title="wx.richtext.RichTextBox" alt="" coords="60,315,239,344"/> <area shape="rect" id="node3" href="wx.richtext.RichTextParagraphLayoutBox.html" title="wx.richtext.RichTextParagraphLayoutBox" alt="" coords="5,237,293,267"/> <area shape="rect" id="node4" href="wx.richtext.RichTextCompositeObject.html" title="wx.richtext.RichTextCompositeObject" alt="" coords="16,160,283,189"/> <area shape="rect" id="node5" href="wx.richtext.RichTextObject.html" title="wx.richtext.RichTextObject" alt="" coords="51,83,247,112"/> <area shape="rect" id="node6" href="wx.Object.html" title="wx.Object" alt="" coords="106,5,193,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.richtext.RichTextTable.__init__`                                      Default constructor; optionally pass the parent object.
:meth:`~wx.richtext.RichTextTable.AcceptsFocus`                                  Returns ``True`` if objects of this class can accept the focus, i.e. a call to SetFocusObject is possible.
:meth:`~wx.richtext.RichTextTable.AddColumns`                                    Adds columns from the given column position.
:meth:`~wx.richtext.RichTextTable.AddRows`                                       Adds rows from the given row position.
:meth:`~wx.richtext.RichTextTable.CalculateRange`                                Calculates the range of the object.
:meth:`~wx.richtext.RichTextTable.CanEditProperties`                             Returns ``True`` if we can edit the object's properties via a GUI.
:meth:`~wx.richtext.RichTextTable.ClearTable`                                    Clears the table.
:meth:`~wx.richtext.RichTextTable.Clone`                                         Clones the object.
:meth:`~wx.richtext.RichTextTable.Copy`                                          
:meth:`~wx.richtext.RichTextTable.CreateTable`                                   Creates a table of the given dimensions.
:meth:`~wx.richtext.RichTextTable.DeleteColumns`                                 Deletes columns from the given column position.
:meth:`~wx.richtext.RichTextTable.DeleteRange`                                   Deletes the given range.
:meth:`~wx.richtext.RichTextTable.DeleteRows`                                    Deletes rows from the given row position.
:meth:`~wx.richtext.RichTextTable.Draw`                                          Draw the item, within the given range.
:meth:`~wx.richtext.RichTextTable.EditProperties`                                Edits the object's properties via a GUI.
:meth:`~wx.richtext.RichTextTable.FindPosition`                                  Finds the absolute position and row height for the given character position.
:meth:`~wx.richtext.RichTextTable.GetCell`                                       Returns the cell at the given row/column position.
:meth:`~wx.richtext.RichTextTable.GetCellRowColumnPosition`                      Returns the row/column for a given character position.
:meth:`~wx.richtext.RichTextTable.GetCells`                                      Returns the cells array.
:meth:`~wx.richtext.RichTextTable.GetColumnCount`                                Returns the column count.
:meth:`~wx.richtext.RichTextTable.GetFocusedCell`                                Returns the coordinates of the cell with keyboard focus, or (-1,-1) if none.
:meth:`~wx.richtext.RichTextTable.GetPropertiesMenuLabel`                        Returns the label to be used for the properties context menu item.
:meth:`~wx.richtext.RichTextTable.GetRangeSize`                                  Returns the object size for the given range.
:meth:`~wx.richtext.RichTextTable.GetRowCount`                                   Returns the row count.
:meth:`~wx.richtext.RichTextTable.GetSelection`                                  Returns a selection object specifying the selections between start and end character positions.
:meth:`~wx.richtext.RichTextTable.GetTextForRange`                               Returns any text in this object for the given range.
:meth:`~wx.richtext.RichTextTable.GetXMLNodeName`                                Returns the ``XML`` node name of this object.
:meth:`~wx.richtext.RichTextTable.HandlesChildSelections`                        Returns ``True`` if this object can handle the selections of its children, fOr example a table.
:meth:`~wx.richtext.RichTextTable.HitTest`                                       Hit-testing: returns a flag indicating hit test details, plus information about position.
:meth:`~wx.richtext.RichTextTable.ImportFromXML`                                 Imports this object from ``XML``.
:meth:`~wx.richtext.RichTextTable.Layout`                                        Lay the item out at the specified position with the given size constraint.
:meth:`~wx.richtext.RichTextTable.SetCellStyle`                                  Sets the attributes for the cells specified by the selection.
================================================================================ ================================================================================


|


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

================================================================================ ================================================================================
:attr:`~wx.richtext.RichTextTable.Cells`                                         See :meth:`~wx.richtext.RichTextTable.GetCells`
:attr:`~wx.richtext.RichTextTable.ColumnCount`                                   See :meth:`~wx.richtext.RichTextTable.GetColumnCount`
:attr:`~wx.richtext.RichTextTable.FocusedCell`                                   See :meth:`~wx.richtext.RichTextTable.GetFocusedCell`
:attr:`~wx.richtext.RichTextTable.PropertiesMenuLabel`                           See :meth:`~wx.richtext.RichTextTable.GetPropertiesMenuLabel`
:attr:`~wx.richtext.RichTextTable.RowCount`                                      See :meth:`~wx.richtext.RichTextTable.GetRowCount`
:attr:`~wx.richtext.RichTextTable.XMLNodeName`                                   See :meth:`~wx.richtext.RichTextTable.GetXMLNodeName`
================================================================================ ================================================================================


|


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


.. class:: wx.richtext.RichTextTable(RichTextBox)

   **Possible constructors**::

       RichTextTable(parent=None)
       
       RichTextTable(obj)
       
   
   RichTextTable represents a table with arbitrary columns and rows.



   .. method:: __init__(self, *args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, parent=None)`
      
      Default constructor; optionally pass the parent object.                  
      
      
      :param `parent`: 
      :type `parent`: wx.richtext.RichTextObject
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, obj)`
      
      Copy constructor.                  
      
      
      :param `obj`: 
      :type `obj`: wx.richtext.RichTextTable
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: AcceptsFocus(self)

      Returns ``True`` if objects of this class can accept the focus, i.e. a call to SetFocusObject is possible.                  

      For example, containers supporting text, such as a text box object, can accept the focus, but a table can't (set the focus to individual cells instead).                  

      :rtype: `bool`








   .. method:: AddColumns(self, startCol, noCols=1, attr=RichTextAttr())

      Adds columns from the given column position.                  


      :param `startCol`: 
      :type `startCol`: int
      :param `noCols`: 
      :type `noCols`: int
      :param `attr`: 
      :type `attr`: wx.richtext.RichTextAttr




      :rtype: `bool`








   .. method:: AddRows(self, startRow, noRows=1, attr=RichTextAttr())

      Adds rows from the given row position.                  


      :param `startRow`: 
      :type `startRow`: int
      :param `noRows`: 
      :type `noRows`: int
      :param `attr`: 
      :type `attr`: wx.richtext.RichTextAttr




      :rtype: `bool`








   .. method:: CalculateRange(self, start)

      Calculates the range of the object.                  

      By default, guess that the object is 1 unit long.                  


      :param `start`: 
      :type `start`: long




      :rtype: `end`








   .. method:: CanEditProperties(self)

      Returns ``True`` if we can edit the object's properties via a GUI.                  

      :rtype: `bool`








   .. method:: ClearTable(self)

      Clears the table.                   





   .. method:: Clone(self)

      Clones the object.                  

      :rtype: :ref:`wx.richtext.RichTextObject`








   .. method:: Copy(self, obj)




      :param `obj`: 
      :type `obj`: wx.richtext.RichTextTable







   .. method:: CreateTable(self, rows, cols)

      Creates a table of the given dimensions.                  


      :param `rows`: 
      :type `rows`: int
      :param `cols`: 
      :type `cols`: int




      :rtype: `bool`








   .. method:: DeleteColumns(self, startCol, noCols=1)

      Deletes columns from the given column position.                  


      :param `startCol`: 
      :type `startCol`: int
      :param `noCols`: 
      :type `noCols`: int




      :rtype: `bool`








   .. method:: DeleteRange(self, range)

      Deletes the given range.                  


      :param `range`: 
      :type `range`: wx.richtext.RichTextRange




      :rtype: `bool`








   .. method:: DeleteRows(self, startRow, noRows=1)

      Deletes rows from the given row position.                  


      :param `startRow`: 
      :type `startRow`: int
      :param `noRows`: 
      :type `noRows`: int




      :rtype: `bool`








   .. method:: Draw(self, dc, context, range, selection, rect, descent, style)

      Draw the item, within the given range.                  

      Some objects may ignore the range (for example paragraphs) while others must obey it (lines, to implement wrapping)                  


      :param `dc`: 
      :type `dc`: wx.DC
      :param `context`: 
      :type `context`: wx.richtext.RichTextDrawingContext
      :param `range`: 
      :type `range`: wx.richtext.RichTextRange
      :param `selection`: 
      :type `selection`: wx.richtext.RichTextSelection
      :param `rect`: 
      :type `rect`: wx.Rect
      :param `descent`: 
      :type `descent`: int
      :param `style`: 
      :type `style`: int




      :rtype: `bool`








   .. method:: EditProperties(self, parent, buffer)

      Edits the object's properties via a GUI.                  


      :param `parent`: 
      :type `parent`: wx.Window
      :param `buffer`: 
      :type `buffer`: wx.richtext.RichTextBuffer




      :rtype: `bool`








   .. method:: FindPosition(self, dc, context, index, forceLineStart)

      Finds the absolute position and row height for the given character position.                  


      :param `dc`: 
      :type `dc`: wx.DC
      :param `context`: 
      :type `context`: wx.richtext.RichTextDrawingContext
      :param `index`: 
      :type `index`: long
      :param `forceLineStart`: 
      :type `forceLineStart`: bool




      :rtype: `tuple`







      :returns: 

         ( `bool`, `pt`, `height` ) 








   .. method:: GetCell(self, *args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **GetCell** `(self, row, col)`
      
      Returns the cell at the given row/column position.                  
      
      
      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int
      
      
      
      
      :rtype: :ref:`wx.richtext.RichTextCell`
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **GetCell** `(self, pos)`
      
      Returns the cell at the given character position (in the range of the table).                  
      
      
      :param `pos`: 
      :type `pos`: long
      
      
      
      
      :rtype: :ref:`wx.richtext.RichTextCell`
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: GetCellRowColumnPosition(self, pos, row, col)

      Returns the row/column for a given character position.                  


      :param `pos`: 
      :type `pos`: long
      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int




      :rtype: `bool`








   .. method:: GetCells(self)

      Returns the cells array.                  

      :rtype: :ref:`RichTextObjectPtrArrayArray`








   .. method:: GetColumnCount(self)

      Returns the column count.                  

      :rtype: `int`








   .. method:: GetFocusedCell(self)

      Returns the coordinates of the cell with keyboard focus, or (-1,-1) if none.                  

      :rtype: :ref:`Position`








   .. method:: GetPropertiesMenuLabel(self)

      Returns the label to be used for the properties context menu item.                  

      :rtype: `string`








   .. method:: GetRangeSize(self, range, size, descent, dc, context, flags, position=Point(0,0), parentSize=DefaultSize, partialExtents=None)

      Returns the object size for the given range.                  

      Returns ``False`` if the range is invalid for this object.                  


      :param `range`: 
      :type `range`: wx.richtext.RichTextRange
      :param `size`: 
      :type `size`: wx.Size
      :param `descent`: 
      :type `descent`: int
      :param `dc`: 
      :type `dc`: wx.DC
      :param `context`: 
      :type `context`: wx.richtext.RichTextDrawingContext
      :param `flags`: 
      :type `flags`: int
      :param `position`: 
      :type `position`: wx.Point
      :param `parentSize`: 
      :type `parentSize`: wx.Size
      :param `partialExtents`: 
      :type `partialExtents`: list of integers




      :rtype: `bool`








   .. method:: GetRowCount(self)

      Returns the row count.                  

      :rtype: `int`








   .. method:: GetSelection(self, start, end)

      Returns a selection object specifying the selections between start and end character positions.                  

      For example, a table would deduce what cells (of range length 1) are selected when dragging across the table.                  


      :param `start`: 
      :type `start`: long
      :param `end`: 
      :type `end`: long




      :rtype: :ref:`wx.richtext.RichTextSelection`








   .. method:: GetTextForRange(self, range)

      Returns any text in this object for the given range.                  


      :param `range`: 
      :type `range`: wx.richtext.RichTextRange




      :rtype: `string`








   .. method:: GetXMLNodeName(self)

      Returns the ``XML`` node name of this object.                  

      This must be overridden for XmlNode-base ``XML`` export to work.                  

      :rtype: `string`








   .. method:: HandlesChildSelections(self)

      Returns ``True`` if this object can handle the selections of its children, fOr example a table.                  

      Required for composite selection handling to work.                  

      :rtype: `bool`








   .. method:: HitTest(self, dc, context, pt, flags=0)

      Hit-testing: returns a flag indicating hit test details, plus information about position.                  

      `contextObj`  is returned to specify what object position is relevant to, since otherwise there's an ambiguity. @ obj might not be a child of `contextObj`, since we may be referring to the container itself if we have no hit on a child - for example if we click outside an object. 

      The function puts the position in `textPosition`  if one is found. `pt`  is in logical units (a zero y position is at the beginning of the buffer). 

                


      :param `dc`: 
      :type `dc`: wx.DC
      :param `context`: 
      :type `context`: wx.richtext.RichTextDrawingContext
      :param `pt`: 
      :type `pt`: wx.Point
      :param `flags`: 
      :type `flags`: int




      :rtype: `tuple`







      :returns: 

         ( `int`, `textPosition`, `obj`, `contextObj` ) 








   .. method:: ImportFromXML(self, buffer, node, handler, recurse)

      Imports this object from ``XML``.                  


      :param `buffer`: 
      :type `buffer`: wx.richtext.RichTextBuffer
      :param `node`: 
      :type `node`: wx.xml.XmlNode
      :param `handler`: 
      :type `handler`: wx.richtext.RichTextXMLHandler
      :param `recurse`: 
      :type `recurse`: bool




      :rtype: `bool`








   .. method:: Layout(self, dc, context, rect, parentRect, style)

      Lay the item out at the specified position with the given size constraint.                  

      Layout must set the cached size. `rect`  is the available space for the object, and `parentRect`  is the container that is used to determine a relative size or position (for example if a text box must be 50% of the parent text box).                  


      :param `dc`: 
      :type `dc`: wx.DC
      :param `context`: 
      :type `context`: wx.richtext.RichTextDrawingContext
      :param `rect`: 
      :type `rect`: wx.Rect
      :param `parentRect`: 
      :type `parentRect`: wx.Rect
      :param `style`: 
      :type `style`: int




      :rtype: `bool`








   .. method:: SetCellStyle(self, selection, style, flags=RICHTEXT_SETSTYLE_WITH_UNDO)

      Sets the attributes for the cells specified by the selection.                  


      :param `selection`: 
      :type `selection`: wx.richtext.RichTextSelection
      :param `style`: 
      :type `style`: wx.richtext.RichTextAttr
      :param `flags`: 
      :type `flags`: int




      :rtype: `bool`








   .. attribute:: Cells

      See :meth:`~wx.richtext.RichTextTable.GetCells`


   .. attribute:: ColumnCount

      See :meth:`~wx.richtext.RichTextTable.GetColumnCount`


   .. attribute:: FocusedCell

      See :meth:`~wx.richtext.RichTextTable.GetFocusedCell`


   .. attribute:: PropertiesMenuLabel

      See :meth:`~wx.richtext.RichTextTable.GetPropertiesMenuLabel`


   .. attribute:: RowCount

      See :meth:`~wx.richtext.RichTextTable.GetRowCount`


   .. attribute:: XMLNodeName

      See :meth:`~wx.richtext.RichTextTable.GetXMLNodeName`

