<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<!-- THIS FILE IS GENERATED DO NOT EDIT -->


<erlref>
<header>
  <copyright>
    <year>2020</year>
    <holder>Ericsson AB. All Rights Reserved.</holder></copyright>
  <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

  </legalnotice>
  <title>wxGrid</title>
</header>
<module>wxGrid</module>
<modulesummary>Functions for wxGrid class</modulesummary>
<description><p><seeerl marker="wxGrid"><c>wxGrid</c></seeerl> and its related classes are used for displaying and editing tabular data. They provide a rich set of features for display, editing, and interacting with a variety of data sources. For simple applications, and to help you get started, <seeerl marker="wxGrid"><c>wxGrid</c></seeerl> is the only class you need to refer to directly. It will set up default instances of the other classes and manage them for you. For more complex applications you can derive your own classes for custom grid views, grid data tables, cell editors and renderers. The overview_grid has examples of simple and more complex applications, explains the relationship between the various grid classes and has a summary of the keyboard shortcuts and mouse functions provided by <seeerl marker="wxGrid"><c>wxGrid</c></seeerl>.
      </p><p>A <c>wxGridTableBase</c> (not implemented in wx) class holds the actual data to be displayed by a <seeerl marker="wxGrid"><c>wxGrid</c></seeerl> class. One or more <seeerl marker="wxGrid"><c>wxGrid</c></seeerl> classes may act as a view for one table class. The default table class is called <c>wxGridStringTable</c> (not implemented in wx) and holds an array of strings. An instance of such a class is created by <seemfa marker="#createGrid/4"><c>createGrid/4</c></seemfa>.
      </p><p><seeerl marker="wxGridCellRenderer"><c>wxGridCellRenderer</c></seeerl> is the abstract base class for rendering contents in a cell. The following renderers are predefined:
      </p><p>The look of a cell can be further defined using <seeerl marker="wxGridCellAttr"><c>wxGridCellAttr</c></seeerl>. An object of this type may be returned by <c>wxGridTableBase::GetAttr()</c> (not implemented in wx).
      </p><p><seeerl marker="wxGridCellEditor"><c>wxGridCellEditor</c></seeerl> is the abstract base class for editing the value of a cell. The following editors are predefined:
      </p><p>Please see <seeerl marker="wxGridEvent"><c>wxGridEvent</c></seeerl>, <c>wxGridSizeEvent</c> (not implemented in wx), <c>wxGridRangeSelectEvent</c> (not implemented in wx), and <c>wxGridEditorCreatedEvent</c> (not implemented in wx) for the documentation of all event types you can use with <seeerl marker="wxGrid"><c>wxGrid</c></seeerl>.
      </p><p>See: <url href="https://docs.wxwidgets.org/3.1/overview_grid.html#overview_grid">Overview grid</url>, <c>wxGridUpdateLocker</c> (not implemented in wx)
      </p>
  <p>This class is derived (and can use functions) from: 
    <seeerl marker="wxScrolledWindow"><c>wxScrolledWindow</c></seeerl> <seeerl marker="wxPanel"><c>wxPanel</c></seeerl> <seeerl marker="wxWindow"><c>wxWindow</c></seeerl> <seeerl marker="wxEvtHandler"><c>wxEvtHandler</c></seeerl></p>
  
  <p>wxWidgets docs: <url href="https://docs.wxwidgets.org/3.1/classwx_grid.html">wxGrid</url></p>
  </description>
<datatypes><datatype><name name="wxGrid"/></datatype></datatypes>

<funcs>
  <func>
    <name name="new" arity="0" clause_i="1" since=""/>
    <fsummary>Default constructor. </fsummary>
    <desc><p>Default constructor. 
      </p><p>You must call <c>Create()</c> (not implemented in wx) to really create the grid window and also call <seemfa marker="#createGrid/4"><c>createGrid/4</c></seemfa> or <c>SetTable()</c> (not implemented in wx) or <c>AssignTable()</c> (not implemented in wx) to initialize its contents. 
      </p></desc>
  </func>
  
  <func>
    <name name="new" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>new/3</c></fsummary>
  </func>
  
  <func>
    <name name="new" arity="3" clause_i="1" since=""/>
    <fsummary>Constructor creating the grid window. </fsummary>
    <desc><p>Constructor creating the grid window. 
      </p><p>You must call either <seemfa marker="#createGrid/4"><c>createGrid/4</c></seemfa> or <c>SetTable()</c> (not implemented in wx) or <c>AssignTable()</c> (not implemented in wx) to initialize the grid contents before using it. 
      </p></desc>
  </func>
  
  <func>
    <name name="destroy" arity="1" clause_i="1" since=""/>
    <fsummary>Destructor. </fsummary>
    <desc><p>Destructor. 
      </p><p>This will also destroy the associated grid table unless you passed a table object to the grid and specified that the grid should not take ownership of the table (see <c>SetTable()</c> (not implemented in wx)). 
      </p></desc>
  </func>
  
  <func>
    <name name="appendCols" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>appendCols/2</c></fsummary>
  </func>
  
  <func>
    <name name="appendCols" arity="2" clause_i="1" since=""/>
    <fsummary>Appends one or more new columns to the right of the grid. </fsummary>
    <desc><p>Appends one or more new columns to the right of the grid. 
      </p><p>The <c>updateLabels</c> argument is not used at present. If you are using a derived grid table class you will need to override <c>wxGridTableBase::AppendCols()</c> (not implemented in wx). See <seemfa marker="#insertCols/2"><c>insertCols/2</c></seemfa> for further information.
      </p><p>Return: true on success or false if appending columns failed. 
      </p></desc>
  </func>
  
  <func>
    <name name="appendRows" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>appendRows/2</c></fsummary>
  </func>
  
  <func>
    <name name="appendRows" arity="2" clause_i="1" since=""/>
    <fsummary>Appends one or more new rows to the bottom of the grid. </fsummary>
    <desc><p>Appends one or more new rows to the bottom of the grid. 
      </p><p>The <c>updateLabels</c> argument is not used at present. If you are using a derived grid table class you will need to override <c>wxGridTableBase::AppendRows()</c> (not implemented in wx). See <seemfa marker="#insertRows/2"><c>insertRows/2</c></seemfa> for further information.
      </p><p>Return: true on success or false if appending rows failed. 
      </p></desc>
  </func>
  
  <func>
    <name name="autoSize" arity="1" clause_i="1" since=""/>
    <fsummary>Automatically sets the height and width of all rows and columns to fit their contents. </fsummary>
    <desc><p>Automatically sets the height and width of all rows and columns to fit their contents. 
      </p></desc>
  </func>
  
  <func>
    <name name="autoSizeColumn" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>autoSizeColumn/3</c></fsummary>
  </func>
  
  <func>
    <name name="autoSizeColumn" arity="3" clause_i="1" since=""/>
    <fsummary>Automatically sizes the column to fit its contents. </fsummary>
    <desc><p>Automatically sizes the column to fit its contents. 
      </p><p>If <c>setAsMin</c> is true the calculated width will also be set as the minimal width for the column. 
      </p></desc>
  </func>
  
  <func>
    <name name="autoSizeColumns" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>autoSizeColumns/2</c></fsummary>
  </func>
  
  <func>
    <name name="autoSizeColumns" arity="2" clause_i="1" since=""/>
    <fsummary>Automatically sizes all columns to fit their contents. </fsummary>
    <desc><p>Automatically sizes all columns to fit their contents. 
      </p><p>If <c>setAsMin</c> is true the calculated widths will also be set as the minimal widths for the columns. 
      </p></desc>
  </func>
  
  <func>
    <name name="autoSizeRow" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>autoSizeRow/3</c></fsummary>
  </func>
  
  <func>
    <name name="autoSizeRow" arity="3" clause_i="1" since=""/>
    <fsummary>Automatically sizes the row to fit its contents. </fsummary>
    <desc><p>Automatically sizes the row to fit its contents. 
      </p><p>If <c>setAsMin</c> is true the calculated height will also be set as the minimal height for the row. 
      </p></desc>
  </func>
  
  <func>
    <name name="autoSizeRows" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>autoSizeRows/2</c></fsummary>
  </func>
  
  <func>
    <name name="autoSizeRows" arity="2" clause_i="1" since=""/>
    <fsummary>Automatically sizes all rows to fit their contents. </fsummary>
    <desc><p>Automatically sizes all rows to fit their contents. 
      </p><p>If <c>setAsMin</c> is true the calculated heights will also be set as the minimal heights for the rows. 
      </p></desc>
  </func>
  
  <func>
    <name name="beginBatch" arity="1" clause_i="1" since=""/>
    <fsummary>Increments the grid's batch count. </fsummary>
    <desc><p>Increments the grid's batch count. 
      </p><p>When the count is greater than zero repainting of the grid is suppressed. Each call to BeginBatch must be matched by a later call to <seemfa marker="#endBatch/1"><c>endBatch/1</c></seemfa>. Code that does a lot of grid modification can be enclosed between <seemfa marker="#beginBatch/1"><c>beginBatch/1</c></seemfa> and <seemfa marker="#endBatch/1"><c>endBatch/1</c></seemfa> calls to avoid screen flicker. The final <seemfa marker="#endBatch/1"><c>endBatch/1</c></seemfa> call will cause the grid to be repainted.
      </p><p>Notice that you should use <c>wxGridUpdateLocker</c> (not implemented in wx) which ensures that there is always a matching <seemfa marker="#endBatch/1"><c>endBatch/1</c></seemfa> call for this <seemfa marker="#beginBatch/1"><c>beginBatch/1</c></seemfa> if possible instead of calling this method directly. 
      </p></desc>
  </func>
  
  <func>
    <name name="blockToDeviceRect" arity="3" clause_i="1" since=""/>
    <fsummary>Convert grid cell coordinates to grid window pixel coordinates. </fsummary>
    <desc><p>Convert grid cell coordinates to grid window pixel coordinates. 
      </p><p>This function returns the rectangle that encloses the block of cells limited by <c>topLeft</c> and <c>bottomRight</c> cell in device coords and clipped to the client size of the grid window.
      </p><p>Since: 3.1.3 Parameter <c>gridWindow</c> has been added.
      </p><p>See: <seemfa marker="#cellToRect/3"><c>cellToRect/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="canDragCell" arity="1" clause_i="1" since=""/>
    <fsummary>Return true if the dragging of cells is enabled or false otherwise. </fsummary>
    <desc><p>Return true if the dragging of cells is enabled or false otherwise. 
      </p></desc>
  </func>
  
  <func>
    <name name="canDragColMove" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if columns can be moved by dragging with the mouse. </fsummary>
    <desc><p>Returns true if columns can be moved by dragging with the mouse. 
      </p><p>Columns can be moved by dragging on their labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="canDragGridRowEdges" arity="1" clause_i="1" since=""/>
    <fsummary>Return true if row edges inside the grid can be dragged to resize the rows. </fsummary>
    <desc><p>Return true if row edges inside the grid can be dragged to resize the rows. 
      </p><p>See: <seemfa marker="#canDragGridSize/1"><c>canDragGridSize/1</c></seemfa>, <seemfa marker="#canDragRowSize/2"><c>canDragRowSize/2</c></seemfa>
      </p><p>Since: 3.1.4 
      </p></desc>
  </func>
  
  <func>
    <name name="canDragColSize" arity="2" clause_i="1" since=""/>
    <fsummary>Returns true if the given column can be resized by dragging with the mouse. </fsummary>
    <desc><p>Returns true if the given column can be resized by dragging with the mouse. 
      </p><p>This function returns true if resizing the columns interactively is globally enabled, i.e. if <seemfa marker="#disableDragColSize/1"><c>disableDragColSize/1</c></seemfa> hadn't been called, and if this column wasn't explicitly marked as non-resizable with <c>DisableColResize()</c> (not implemented in wx). 
      </p></desc>
  </func>
  
  <func>
    <name name="canDragRowSize" arity="2" clause_i="1" since=""/>
    <fsummary>Returns true if the given row can be resized by dragging with the mouse. </fsummary>
    <desc><p>Returns true if the given row can be resized by dragging with the mouse. 
      </p><p>This is the same as <seemfa marker="#canDragColSize/2"><c>canDragColSize/2</c></seemfa> but for rows. 
      </p></desc>
  </func>
  
  <func>
    <name name="canDragGridSize" arity="1" clause_i="1" since=""/>
    <fsummary>Return true if the dragging of grid lines to resize rows and columns is enabled or false otherwise. </fsummary>
    <desc><p>Return true if the dragging of grid lines to resize rows and columns is enabled or false otherwise. 
      </p></desc>
  </func>
  
  <func>
    <name name="canEnableCellControl" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if the in-place edit control for the current grid cell can be used and false otherwise. </fsummary>
    <desc><p>Returns true if the in-place edit control for the current grid cell can be used and false otherwise. 
      </p><p>This function always returns false for the read-only cells. 
      </p></desc>
  </func>
  
  <func>
    <name name="cellToRect" arity="2" clause_i="1" since=""/>
    <fsummary>Return the rectangle corresponding to the grid cell's size and position in logical coordinates. </fsummary>
    <desc><p>Return the rectangle corresponding to the grid cell's size and position in logical coordinates. 
      </p><p>See: <seemfa marker="#blockToDeviceRect/3"><c>blockToDeviceRect/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="cellToRect" arity="3" clause_i="1" since=""/>
    <fsummary>Return the rectangle corresponding to the grid cell's size and position in logical coordinates. </fsummary>
    <desc><p>Return the rectangle corresponding to the grid cell's size and position in logical coordinates. 
      </p><p>See: <seemfa marker="#blockToDeviceRect/3"><c>blockToDeviceRect/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="clearGrid" arity="1" clause_i="1" since=""/>
    <fsummary>Clears all data in the underlying grid table and repaints the grid. </fsummary>
    <desc><p>Clears all data in the underlying grid table and repaints the grid. 
      </p><p>The table is not deleted by this function. If you are using a derived table class then you need to override <c>wxGridTableBase::Clear()</c> (not implemented in wx) for this function to have any effect. 
      </p></desc>
  </func>
  
  <func>
    <name name="clearSelection" arity="1" clause_i="1" since=""/>
    <fsummary>Deselects all cells that are currently selected. </fsummary>
    <desc><p>Deselects all cells that are currently selected. 
      </p></desc>
  </func>
  
  <func>
    <name name="createGrid" arity="3" clause_i="1" since=""/>
    <fsummary>See: <c>createGrid/4</c></fsummary>
  </func>
  
  <func>
    <name name="createGrid" arity="4" clause_i="1" since=""/>
    <fsummary>Creates a grid with the specified initial number of rows and columns. </fsummary>
    <desc><p>Creates a grid with the specified initial number of rows and columns. 
      </p><p>Call this directly after the grid constructor. When you use this function <seeerl marker="wxGrid"><c>wxGrid</c></seeerl> will create and manage a simple table of string values for you. All of the grid data will be stored in memory.
      </p><p>For applications with more complex data types or relationships, or for dealing with very large datasets, you should derive your own grid table class and pass a table object to the grid with <c>SetTable()</c> (not implemented in wx) or <c>AssignTable()</c> (not implemented in wx). 
      </p></desc>
  </func>
  
  <func>
    <name name="deleteCols" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>deleteCols/2</c></fsummary>
  </func>
  
  <func>
    <name name="deleteCols" arity="2" clause_i="1" since=""/>
    <fsummary>Deletes one or more columns from a grid starting at the specified position. </fsummary>
    <desc><p>Deletes one or more columns from a grid starting at the specified position. 
      </p><p>The <c>updateLabels</c> argument is not used at present. If you are using a derived grid table class you will need to override <c>wxGridTableBase::DeleteCols()</c> (not implemented in wx). See <seemfa marker="#insertCols/2"><c>insertCols/2</c></seemfa> for further information.
      </p><p>Return: true on success or false if deleting columns failed. 
      </p></desc>
  </func>
  
  <func>
    <name name="deleteRows" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>deleteRows/2</c></fsummary>
  </func>
  
  <func>
    <name name="deleteRows" arity="2" clause_i="1" since=""/>
    <fsummary>Deletes one or more rows from a grid starting at the specified position. </fsummary>
    <desc><p>Deletes one or more rows from a grid starting at the specified position. 
      </p><p>The <c>updateLabels</c> argument is not used at present. If you are using a derived grid table class you will need to override <c>wxGridTableBase::DeleteRows()</c> (not implemented in wx). See <seemfa marker="#insertRows/2"><c>insertRows/2</c></seemfa> for further information.
      </p><p>Return: true on success or false if deleting rows failed. 
      </p></desc>
  </func>
  
  <func>
    <name name="disableCellEditControl" arity="1" clause_i="1" since=""/>
    <fsummary>Disables in-place editing of grid cells. </fsummary>
    <desc><p>Disables in-place editing of grid cells. 
      </p><p>Equivalent to calling EnableCellEditControl(false). 
      </p></desc>
  </func>
  
  <func>
    <name name="disableDragColSize" arity="1" clause_i="1" since=""/>
    <fsummary>Disables column sizing by dragging with the mouse. </fsummary>
    <desc><p>Disables column sizing by dragging with the mouse. 
      </p><p>Equivalent to passing false to <seemfa marker="#enableDragColSize/2"><c>enableDragColSize/2</c></seemfa>. 
      </p></desc>
  </func>
  
  <func>
    <name name="disableDragGridSize" arity="1" clause_i="1" since=""/>
    <fsummary>Disable mouse dragging of grid lines to resize rows and columns. </fsummary>
    <desc><p>Disable mouse dragging of grid lines to resize rows and columns. 
      </p><p>Equivalent to passing false to <seemfa marker="#enableDragGridSize/2"><c>enableDragGridSize/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="disableDragRowSize" arity="1" clause_i="1" since=""/>
    <fsummary>Disables row sizing by dragging with the mouse. </fsummary>
    <desc><p>Disables row sizing by dragging with the mouse. 
      </p><p>Equivalent to passing false to <seemfa marker="#enableDragRowSize/2"><c>enableDragRowSize/2</c></seemfa>. 
      </p></desc>
  </func>
  
  <func>
    <name name="enableCellEditControl" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>enableCellEditControl/2</c></fsummary>
  </func>
  
  <func>
    <name name="enableCellEditControl" arity="2" clause_i="1" since=""/>
    <fsummary>Enables or disables in-place editing of grid cell data. </fsummary>
    <desc><p>Enables or disables in-place editing of grid cell data. 
      </p><p>Enabling in-place editing generates <c>wxEVT_GRID_EDITOR_SHOWN</c> and, if it isn't vetoed by the application, shows the in-place editor which allows the user to change the cell value.
      </p><p>Disabling in-place editing does nothing if the in-place editor isn't currently shown, otherwise the <c>wxEVT_GRID_EDITOR_HIDDEN</c> event is generated but, unlike the "shown" event, it can't be vetoed and the in-place editor is dismissed unconditionally.
      </p><p>Note that it is an error to call this function if the current cell is read-only, use <seemfa marker="#canEnableCellControl/1"><c>canEnableCellControl/1</c></seemfa> to check for this precondition. 
      </p></desc>
  </func>
  
  <func>
    <name name="enableDragColSize" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>enableDragColSize/2</c></fsummary>
  </func>
  
  <func>
    <name name="enableDragColSize" arity="2" clause_i="1" since=""/>
    <fsummary>Enables or disables column sizing by dragging with the mouse. </fsummary>
    <desc><p>Enables or disables column sizing by dragging with the mouse. 
      </p><p>See: <c>DisableColResize()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="enableDragGridSize" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>enableDragGridSize/2</c></fsummary>
  </func>
  
  <func>
    <name name="enableDragGridSize" arity="2" clause_i="1" since=""/>
    <fsummary>Enables or disables row and column resizing by dragging gridlines with the mouse. </fsummary>
    <desc><p>Enables or disables row and column resizing by dragging gridlines with the mouse. 
      </p></desc>
  </func>
  
  <func>
    <name name="enableDragRowSize" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>enableDragRowSize/2</c></fsummary>
  </func>
  
  <func>
    <name name="enableDragRowSize" arity="2" clause_i="1" since=""/>
    <fsummary>Enables or disables row sizing by dragging with the mouse. </fsummary>
    <desc><p>Enables or disables row sizing by dragging with the mouse. 
      </p><p>See: <c>DisableRowResize()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="enableEditing" arity="2" clause_i="1" since=""/>
    <fsummary>Makes the grid globally editable or read-only. </fsummary>
    <desc><p>Makes the grid globally editable or read-only. 
      </p><p>If the edit argument is false this function sets the whole grid as read-only. If the argument is true the grid is set to the default state where cells may be editable. In the default state you can set single grid cells and whole rows and columns to be editable or read-only via <seemfa marker="wxGridCellAttr#setReadOnly/2"><c>wxGridCellAttr:setReadOnly/2</c></seemfa>. For single cells you can also use the shortcut function <seemfa marker="#setReadOnly/4"><c>setReadOnly/4</c></seemfa>.
      </p><p>For more information about controlling grid cell attributes see the <seeerl marker="wxGridCellAttr"><c>wxGridCellAttr</c></seeerl> class and the overview_grid. 
      </p></desc>
  </func>
  
  <func>
    <name name="enableGridLines" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>enableGridLines/2</c></fsummary>
  </func>
  
  <func>
    <name name="enableGridLines" arity="2" clause_i="1" since=""/>
    <fsummary>Turns the drawing of grid lines on or off. </fsummary>
    <desc><p>Turns the drawing of grid lines on or off. 
      </p></desc>
  </func>
  
  <func>
    <name name="endBatch" arity="1" clause_i="1" since=""/>
    <fsummary>Decrements the grid's batch count. </fsummary>
    <desc><p>Decrements the grid's batch count. 
      </p><p>When the count is greater than zero repainting of the grid is suppressed. Each previous call to <seemfa marker="#beginBatch/1"><c>beginBatch/1</c></seemfa> must be matched by a later call to <seemfa marker="#endBatch/1"><c>endBatch/1</c></seemfa>. Code that does a lot of grid modification can be enclosed between <seemfa marker="#beginBatch/1"><c>beginBatch/1</c></seemfa> and <seemfa marker="#endBatch/1"><c>endBatch/1</c></seemfa> calls to avoid screen flicker. The final <seemfa marker="#endBatch/1"><c>endBatch/1</c></seemfa> will cause the grid to be repainted.
      </p><p>See: <c>wxGridUpdateLocker</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="fit" arity="1" clause_i="1" since=""/>
    <fsummary>Overridden <c>wxWindow</c> method. </fsummary>
    <desc><p>Overridden <seeerl marker="wxWindow"><c>wxWindow</c></seeerl> method. 
      </p></desc>
  </func>
  
  <func>
    <name name="forceRefresh" arity="1" clause_i="1" since=""/>
    <fsummary>Causes immediate repainting of the grid. </fsummary>
    <desc><p>Causes immediate repainting of the grid. 
      </p><p>Use this instead of the usual <seemfa marker="wxWindow#refresh/2"><c>wxWindow:refresh/2</c></seemfa>. 
      </p></desc>
  </func>
  
  <func>
    <name name="getBatchCount" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the number of times that <c>beginBatch/1</c> has been called without (yet) matching calls to <c>endBatch/1</c>. </fsummary>
    <desc><p>Returns the number of times that <seemfa marker="#beginBatch/1"><c>beginBatch/1</c></seemfa> has been called without (yet) matching calls to <seemfa marker="#endBatch/1"><c>endBatch/1</c></seemfa>. 
      </p><p>While the grid's batch count is greater than zero the display will not be updated. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellAlignment" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the arguments to the horizontal and vertical text alignment values for the grid cell at the specified location. </fsummary>
    <desc><p>Sets the arguments to the horizontal and vertical text alignment values for the grid cell at the specified location. 
      </p><p>Horizontal alignment will be one of <c>wxALIGN_LEFT</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_RIGHT</c>.
      </p><p>Vertical alignment will be one of <c>wxALIGN_TOP</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_BOTTOM</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellBackgroundColour" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the background colour of the cell at the specified location. </fsummary>
    <desc><p>Returns the background colour of the cell at the specified location. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellEditor" arity="3" clause_i="1" since=""/>
    <fsummary>Returns a pointer to the editor for the cell at the specified location. </fsummary>
    <desc><p>Returns a pointer to the editor for the cell at the specified location. 
      </p><p>See <seeerl marker="wxGridCellEditor"><c>wxGridCellEditor</c></seeerl> and the overview_grid for more information about cell editors and renderers.
      </p><p>The caller must call DecRef() on the returned pointer. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellFont" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the font for text in the grid cell at the specified location. </fsummary>
    <desc><p>Returns the font for text in the grid cell at the specified location. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellRenderer" arity="3" clause_i="1" since=""/>
    <fsummary>Returns a pointer to the renderer for the grid cell at the specified location. </fsummary>
    <desc><p>Returns a pointer to the renderer for the grid cell at the specified location. 
      </p><p>See <seeerl marker="wxGridCellRenderer"><c>wxGridCellRenderer</c></seeerl> and the overview_grid for more information about cell editors and renderers.
      </p><p>The caller must call DecRef() on the returned pointer. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellTextColour" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the text colour for the grid cell at the specified location. </fsummary>
    <desc><p>Returns the text colour for the grid cell at the specified location. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellValue" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the string contained in the cell at the specified location. </fsummary>
    <desc><p>Returns the string contained in the cell at the specified location. 
      </p><p>For simple applications where a grid object automatically uses a default grid table of string values you use this function together with <seemfa marker="#setCellValue/4"><c>setCellValue/4</c></seemfa> to access cell values. For more complex applications where you have derived your own grid table class that contains various data types (e.g. numeric, boolean or user-defined custom types) then you only use this function for those cells that contain string values.
      </p><p>See <c>wxGridTableBase::CanGetValueAs()</c> (not implemented in wx) and the overview_grid for more information. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellValue" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the string contained in the cell at the specified location. </fsummary>
    <desc><p>Returns the string contained in the cell at the specified location. 
      </p><p>For simple applications where a grid object automatically uses a default grid table of string values you use this function together with <seemfa marker="#setCellValue/4"><c>setCellValue/4</c></seemfa> to access cell values. For more complex applications where you have derived your own grid table class that contains various data types (e.g. numeric, boolean or user-defined custom types) then you only use this function for those cells that contain string values.
      </p><p>See <c>wxGridTableBase::CanGetValueAs()</c> (not implemented in wx) and the overview_grid for more information. 
      </p></desc>
  </func>
  
  <func>
    <name name="getColLabelAlignment" arity="1" clause_i="1" since=""/>
    <fsummary>Sets the arguments to the current column label alignment values. </fsummary>
    <desc><p>Sets the arguments to the current column label alignment values. 
      </p><p>Horizontal alignment will be one of <c>wxALIGN_LEFT</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_RIGHT</c>.
      </p><p>Vertical alignment will be one of <c>wxALIGN_TOP</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_BOTTOM</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="getColLabelSize" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current height of the column labels. </fsummary>
    <desc><p>Returns the current height of the column labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="getColLabelValue" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the specified column label. </fsummary>
    <desc><p>Returns the specified column label. 
      </p><p>The default grid table class provides column labels of the form A,B...Z,AA,AB...ZZ,AAA... If you are using a custom grid table you can override <c>wxGridTableBase::GetColLabelValue()</c> (not implemented in wx) to provide your own labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="getColMinimalAcceptableWidth" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the minimal width to which a column may be resized. </fsummary>
    <desc><p>Returns the minimal width to which a column may be resized. 
      </p><p>Use <seemfa marker="#setColMinimalAcceptableWidth/2"><c>setColMinimalAcceptableWidth/2</c></seemfa> to change this value globally or <seemfa marker="#setColMinimalWidth/3"><c>setColMinimalWidth/3</c></seemfa> to do it for individual columns.
      </p><p>See: <seemfa marker="#getRowMinimalAcceptableHeight/1"><c>getRowMinimalAcceptableHeight/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultCellAlignment" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the default cell alignment. </fsummary>
    <desc><p>Returns the default cell alignment. 
      </p><p>Horizontal alignment will be one of <c>wxALIGN_LEFT</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_RIGHT</c>.
      </p><p>Vertical alignment will be one of <c>wxALIGN_TOP</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_BOTTOM</c>.
      </p><p>See: <seemfa marker="#setDefaultCellAlignment/3"><c>setDefaultCellAlignment/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultCellBackgroundColour" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current default background colour for grid cells. </fsummary>
    <desc><p>Returns the current default background colour for grid cells. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultCellFont" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current default font for grid cell text. </fsummary>
    <desc><p>Returns the current default font for grid cell text. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultCellTextColour" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current default colour for grid cell text. </fsummary>
    <desc><p>Returns the current default colour for grid cell text. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultColLabelSize" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the default height for column labels. </fsummary>
    <desc><p>Returns the default height for column labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultColSize" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current default width for grid columns. </fsummary>
    <desc><p>Returns the current default width for grid columns. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultEditor" arity="1" clause_i="1" since=""/>
    <fsummary>Returns a pointer to the current default grid cell editor. </fsummary>
    <desc><p>Returns a pointer to the current default grid cell editor. 
      </p><p>See <seeerl marker="wxGridCellEditor"><c>wxGridCellEditor</c></seeerl> and the overview_grid for more information about cell editors and renderers. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultEditorForCell" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the default editor for the specified cell. </fsummary>
    <desc><p>Returns the default editor for the specified cell. 
      </p><p>The base class version returns the editor appropriate for the current cell type but this method may be overridden in the derived classes to use custom editors for some cells by default.
      </p><p>Notice that the same may be achieved in a usually simpler way by associating a custom editor with the given cell or cells.
      </p><p>The caller must call DecRef() on the returned pointer. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultEditorForCell" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the default editor for the specified cell. </fsummary>
    <desc><p>Returns the default editor for the specified cell. 
      </p><p>The base class version returns the editor appropriate for the current cell type but this method may be overridden in the derived classes to use custom editors for some cells by default.
      </p><p>Notice that the same may be achieved in a usually simpler way by associating a custom editor with the given cell or cells.
      </p><p>The caller must call DecRef() on the returned pointer. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultEditorForType" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the default editor for the cells containing values of the given type. </fsummary>
    <desc><p>Returns the default editor for the cells containing values of the given type. 
      </p><p>The base class version returns the editor which was associated with the specified <c>typeName</c> when it was registered <seemfa marker="#registerDataType/4"><c>registerDataType/4</c></seemfa> but this function may be overridden to return something different. This allows overriding an editor used for one of the standard types.
      </p><p>The caller must call DecRef() on the returned pointer. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultRenderer" arity="1" clause_i="1" since=""/>
    <fsummary>Returns a pointer to the current default grid cell renderer. </fsummary>
    <desc><p>Returns a pointer to the current default grid cell renderer. 
      </p><p>See <seeerl marker="wxGridCellRenderer"><c>wxGridCellRenderer</c></seeerl> and the overview_grid for more information about cell editors and renderers.
      </p><p>The caller must call DecRef() on the returned pointer. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultRendererForCell" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the default renderer for the given cell. </fsummary>
    <desc><p>Returns the default renderer for the given cell. 
      </p><p>The base class version returns the renderer appropriate for the current cell type but this method may be overridden in the derived classes to use custom renderers for some cells by default.
      </p><p>The caller must call DecRef() on the returned pointer. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultRendererForType" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the default renderer for the cell containing values of the given type. </fsummary>
    <desc><p>Returns the default renderer for the cell containing values of the given type. 
      </p><p>See: <seemfa marker="#getDefaultEditorForType/2"><c>getDefaultEditorForType/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultRowLabelSize" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the default width for the row labels. </fsummary>
    <desc><p>Returns the default width for the row labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="getDefaultRowSize" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current default height for grid rows. </fsummary>
    <desc><p>Returns the current default height for grid rows. 
      </p></desc>
  </func>
  
  <func>
    <name name="getGridCursorCol" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current grid cell column position. </fsummary>
    <desc><p>Returns the current grid cell column position. 
      </p><p>See: <c>GetGridCursorCoords()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="getGridCursorRow" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current grid cell row position. </fsummary>
    <desc><p>Returns the current grid cell row position. 
      </p><p>See: <c>GetGridCursorCoords()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="getGridLineColour" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the colour used for grid lines. </fsummary>
    <desc><p>Returns the colour used for grid lines. 
      </p><p>See: <c>GetDefaultGridLinePen()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="gridLinesEnabled" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if drawing of grid lines is turned on, false otherwise. </fsummary>
    <desc><p>Returns true if drawing of grid lines is turned on, false otherwise. 
      </p></desc>
  </func>
  
  <func>
    <name name="getLabelBackgroundColour" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the colour used for the background of row and column labels. </fsummary>
    <desc><p>Returns the colour used for the background of row and column labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="getLabelFont" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the font used for row and column labels. </fsummary>
    <desc><p>Returns the font used for row and column labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="getLabelTextColour" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the colour used for row and column label text. </fsummary>
    <desc><p>Returns the colour used for row and column label text. 
      </p></desc>
  </func>
  
  <func>
    <name name="getNumberCols" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the total number of grid columns. </fsummary>
    <desc><p>Returns the total number of grid columns. 
      </p><p>This is the same as the number of columns in the underlying grid table. 
      </p></desc>
  </func>
  
  <func>
    <name name="getNumberRows" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the total number of grid rows. </fsummary>
    <desc><p>Returns the total number of grid rows. 
      </p><p>This is the same as the number of rows in the underlying grid table. 
      </p></desc>
  </func>
  
  <func>
    <name name="getOrCreateCellAttr" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the attribute for the given cell creating one if necessary. </fsummary>
    <desc><p>Returns the attribute for the given cell creating one if necessary. 
      </p><p>If the cell already has an attribute, it is returned. Otherwise a new attribute is created, associated with the cell and returned. In any case the caller must call DecRef() on the returned pointer.
      </p><p>Prefer to use <c>GetOrCreateCellAttrPtr()</c> (not implemented in wx) to avoid the need to call DecRef() on the returned pointer.
      </p><p>This function may only be called if <c>CanHaveAttributes()</c> (not implemented in wx) returns true. 
      </p></desc>
  </func>
  
  <func>
    <name name="getRowMinimalAcceptableHeight" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the minimal size to which rows can be resized. </fsummary>
    <desc><p>Returns the minimal size to which rows can be resized. 
      </p><p>Use <seemfa marker="#setRowMinimalAcceptableHeight/2"><c>setRowMinimalAcceptableHeight/2</c></seemfa> to change this value globally or <seemfa marker="#setRowMinimalHeight/3"><c>setRowMinimalHeight/3</c></seemfa> to do it for individual cells.
      </p><p>See: <seemfa marker="#getColMinimalAcceptableWidth/1"><c>getColMinimalAcceptableWidth/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getRowLabelAlignment" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the alignment used for row labels. </fsummary>
    <desc><p>Returns the alignment used for row labels. 
      </p><p>Horizontal alignment will be one of <c>wxALIGN_LEFT</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_RIGHT</c>.
      </p><p>Vertical alignment will be one of <c>wxALIGN_TOP</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_BOTTOM</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="getRowLabelSize" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the current width of the row labels. </fsummary>
    <desc><p>Returns the current width of the row labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="getRowLabelValue" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the specified row label. </fsummary>
    <desc><p>Returns the specified row label. 
      </p><p>The default grid table class provides numeric row labels. If you are using a custom grid table you can override <c>wxGridTableBase::GetRowLabelValue()</c> (not implemented in wx) to provide your own labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="getRowSize" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the height of the specified row. </fsummary>
    <desc><p>Returns the height of the specified row. 
      </p></desc>
  </func>
  
  <func>
    <name name="getScrollLineX" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the number of pixels per horizontal scroll increment. </fsummary>
    <desc><p>Returns the number of pixels per horizontal scroll increment. 
      </p><p>The default is 15.
      </p><p>See: <seemfa marker="#getScrollLineY/1"><c>getScrollLineY/1</c></seemfa>, <seemfa marker="#setScrollLineX/2"><c>setScrollLineX/2</c></seemfa>, <seemfa marker="#setScrollLineY/2"><c>setScrollLineY/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getScrollLineY" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the number of pixels per vertical scroll increment. </fsummary>
    <desc><p>Returns the number of pixels per vertical scroll increment. 
      </p><p>The default is 15.
      </p><p>See: <seemfa marker="#getScrollLineX/1"><c>getScrollLineX/1</c></seemfa>, <seemfa marker="#setScrollLineX/2"><c>setScrollLineX/2</c></seemfa>, <seemfa marker="#setScrollLineY/2"><c>setScrollLineY/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getSelectedCells" arity="1" clause_i="1" since=""/>
    <fsummary>Returns an array of individually selected cells. </fsummary>
    <desc><p>Returns an array of individually selected cells. 
      </p><p>Notice that this array does <c>not</c> contain all the selected cells in general as it doesn't include the cells selected as part of column, row or block selection. You must use this method, <seemfa marker="#getSelectedCols/1"><c>getSelectedCols/1</c></seemfa>, <seemfa marker="#getSelectedRows/1"><c>getSelectedRows/1</c></seemfa> and <seemfa marker="#getSelectionBlockTopLeft/1"><c>getSelectionBlockTopLeft/1</c></seemfa> and <seemfa marker="#getSelectionBlockBottomRight/1"><c>getSelectionBlockBottomRight/1</c></seemfa> methods to obtain the entire selection in general.
      </p><p>Please notice this behaviour is by design and is needed in order to support grids of arbitrary size (when an entire column is selected in a grid with a million of columns, we don't want to create an array with a million of entries in this function, instead it returns an empty array and <seemfa marker="#getSelectedCols/1"><c>getSelectedCols/1</c></seemfa> returns an array containing one element).
      </p><p>The function can be slow for the big grids, use <c>GetSelectedBlocks()</c> (not implemented in wx) in the new code. 
      </p></desc>
  </func>
  
  <func>
    <name name="getSelectedCols" arity="1" clause_i="1" since=""/>
    <fsummary>Returns an array of selected columns. </fsummary>
    <desc><p>Returns an array of selected columns. 
      </p><p>Please notice that this method alone is not sufficient to find all the selected columns as it contains only the columns which were individually selected but not those being part of the block selection or being selected in virtue of all of their cells being selected individually, please see <seemfa marker="#getSelectedCells/1"><c>getSelectedCells/1</c></seemfa> for more details.
      </p><p>The function can be slow for the big grids, use <c>GetSelectedBlocks()</c> (not implemented in wx) in the new code. 
      </p></desc>
  </func>
  
  <func>
    <name name="getSelectedRows" arity="1" clause_i="1" since=""/>
    <fsummary>Returns an array of selected rows. </fsummary>
    <desc><p>Returns an array of selected rows. 
      </p><p>Please notice that this method alone is not sufficient to find all the selected rows as it contains only the rows which were individually selected but not those being part of the block selection or being selected in virtue of all of their cells being selected individually, please see <seemfa marker="#getSelectedCells/1"><c>getSelectedCells/1</c></seemfa> for more details.
      </p><p>The function can be slow for the big grids, use <c>GetSelectedBlocks()</c> (not implemented in wx) in the new code. 
      </p></desc>
  </func>
  
  <func>
    <name name="getSelectionBackground" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the colour used for drawing the selection background. </fsummary>
    <desc><p>Returns the colour used for drawing the selection background. 
      </p></desc>
  </func>
  
  <func>
    <name name="getSelectionBlockTopLeft" arity="1" clause_i="1" since=""/>
    <fsummary>Returns an array of the top left corners of blocks of selected cells. </fsummary>
    <desc><p>Returns an array of the top left corners of blocks of selected cells. 
      </p><p>Please see <seemfa marker="#getSelectedCells/1"><c>getSelectedCells/1</c></seemfa> for more information about the selection representation in <seeerl marker="wxGrid"><c>wxGrid</c></seeerl>.
      </p><p>The function can be slow for the big grids, use <c>GetSelectedBlocks()</c> (not implemented in wx) in the new code.
      </p><p>See: <seemfa marker="#getSelectionBlockBottomRight/1"><c>getSelectionBlockBottomRight/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getSelectionBlockBottomRight" arity="1" clause_i="1" since=""/>
    <fsummary>Returns an array of the bottom right corners of blocks of selected cells. </fsummary>
    <desc><p>Returns an array of the bottom right corners of blocks of selected cells. 
      </p><p>Please see <seemfa marker="#getSelectedCells/1"><c>getSelectedCells/1</c></seemfa> for more information about the selection representation in <seeerl marker="wxGrid"><c>wxGrid</c></seeerl>.
      </p><p>The function can be slow for the big grids, use <c>GetSelectedBlocks()</c> (not implemented in wx) in the new code.
      </p><p>See: <seemfa marker="#getSelectionBlockTopLeft/1"><c>getSelectionBlockTopLeft/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getSelectionForeground" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the colour used for drawing the selection foreground. </fsummary>
    <desc><p>Returns the colour used for drawing the selection foreground. 
      </p></desc>
  </func>
  
  <func>
    <name name="getGridWindow" arity="1" clause_i="1" since=""/>
    <fsummary>Return the main grid window containing the grid cells. </fsummary>
    <desc><p>Return the main grid window containing the grid cells. 
      </p><p>This window is always shown. 
      </p></desc>
  </func>
  
  <func>
    <name name="getGridRowLabelWindow" arity="1" clause_i="1" since=""/>
    <fsummary>Return the row labels window. </fsummary>
    <desc><p>Return the row labels window. 
      </p><p>This window is not shown if the row labels were hidden using <c>HideRowLabels()</c> (not implemented in wx). 
      </p></desc>
  </func>
  
  <func>
    <name name="getGridColLabelWindow" arity="1" clause_i="1" since=""/>
    <fsummary>Return the column labels window. </fsummary>
    <desc><p>Return the column labels window. 
      </p><p>This window is not shown if the columns labels were hidden using <c>HideColLabels()</c> (not implemented in wx).
      </p><p>Depending on whether <c>UseNativeColHeader()</c> (not implemented in wx) was called or not this can be either a <c>wxHeaderCtrl</c> (not implemented in wx) or a plain <seeerl marker="wxWindow"><c>wxWindow</c></seeerl>. This function returns a valid window pointer in either case but in the former case you can also use <c>GetGridColHeader()</c> (not implemented in wx) to access it if you need wxHeaderCtrl-specific functionality. 
      </p></desc>
  </func>
  
  <func>
    <name name="getGridCornerLabelWindow" arity="1" clause_i="1" since=""/>
    <fsummary>Return the window in the top left grid corner. </fsummary>
    <desc><p>Return the window in the top left grid corner. 
      </p><p>This window is shown only of both columns and row labels are shown and normally doesn't contain anything. Clicking on it is handled by <seeerl marker="wxGrid"><c>wxGrid</c></seeerl> however and can be used to select the entire grid. 
      </p></desc>
  </func>
  
  <func>
    <name name="hideCellEditControl" arity="1" clause_i="1" since=""/>
    <fsummary>Hides the in-place cell edit control. </fsummary>
    <desc><p>Hides the in-place cell edit control. 
      </p></desc>
  </func>
  
  <func>
    <name name="insertCols" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>insertCols/2</c></fsummary>
  </func>
  
  <func>
    <name name="insertCols" arity="2" clause_i="1" since=""/>
    <fsummary>Inserts one or more new columns into a grid with the first new column at the specified position. </fsummary>
    <desc><p>Inserts one or more new columns into a grid with the first new column at the specified position. 
      </p><p>Notice that inserting the columns in the grid requires grid table cooperation: when this method is called, grid object begins by requesting the underlying grid table to insert new columns. If this is successful the table notifies the grid and the grid updates the display. For a default grid (one where you have called <seemfa marker="#createGrid/4"><c>createGrid/4</c></seemfa>) this process is automatic. If you are using a custom grid table (specified with <c>SetTable()</c> (not implemented in wx) or <c>AssignTable()</c> (not implemented in wx)) then you must override <c>wxGridTableBase::InsertCols()</c> (not implemented in wx) in your derived table class.
      </p><p>Return: true if the columns were successfully inserted, false if an error occurred (most likely the table couldn't be updated). 
      </p></desc>
  </func>
  
  <func>
    <name name="insertRows" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>insertRows/2</c></fsummary>
  </func>
  
  <func>
    <name name="insertRows" arity="2" clause_i="1" since=""/>
    <fsummary>Inserts one or more new rows into a grid with the first new row at the specified position. </fsummary>
    <desc><p>Inserts one or more new rows into a grid with the first new row at the specified position. 
      </p><p>Notice that you must implement <c>wxGridTableBase::InsertRows()</c> (not implemented in wx) if you use a grid with a custom table, please see <seemfa marker="#insertCols/2"><c>insertCols/2</c></seemfa> for more information.
      </p><p>Return: true if the rows were successfully inserted, false if an error occurred (most likely the table couldn't be updated). 
      </p></desc>
  </func>
  
  <func>
    <name name="isCellEditControlEnabled" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if the in-place edit control is currently enabled. </fsummary>
    <desc><p>Returns true if the in-place edit control is currently enabled. 
      </p></desc>
  </func>
  
  <func>
    <name name="isCurrentCellReadOnly" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if the current cell is read-only. </fsummary>
    <desc><p>Returns true if the current cell is read-only. 
      </p><p>See: <seemfa marker="#setReadOnly/4"><c>setReadOnly/4</c></seemfa>, <seemfa marker="#isReadOnly/3"><c>isReadOnly/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="isEditable" arity="1" clause_i="1" since=""/>
    <fsummary>Returns false if the whole grid has been set as read-only or true otherwise. </fsummary>
    <desc><p>Returns false if the whole grid has been set as read-only or true otherwise. 
      </p><p>See <seemfa marker="#enableEditing/2"><c>enableEditing/2</c></seemfa> for more information about controlling the editing status of grid cells. 
      </p></desc>
  </func>
  
  <func>
    <name name="isInSelection" arity="2" clause_i="1" since=""/>
    <fsummary>Returns true if the given cell is selected. </fsummary>
    <desc><p>Returns true if the given cell is selected. 
      </p></desc>
  </func>
  
  <func>
    <name name="isInSelection" arity="3" clause_i="1" since=""/>
    <fsummary>Returns true if the given cell is selected. </fsummary>
    <desc><p>Returns true if the given cell is selected. 
      </p></desc>
  </func>
  
  <func>
    <name name="isReadOnly" arity="3" clause_i="1" since=""/>
    <fsummary>Returns true if the cell at the specified location can't be edited. </fsummary>
    <desc><p>Returns true if the cell at the specified location can't be edited. 
      </p><p>See: <seemfa marker="#setReadOnly/4"><c>setReadOnly/4</c></seemfa>, <seemfa marker="#isCurrentCellReadOnly/1"><c>isCurrentCellReadOnly/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="isSelection" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if there are currently any selected cells, rows, columns or blocks. </fsummary>
    <desc><p>Returns true if there are currently any selected cells, rows, columns or blocks. 
      </p></desc>
  </func>
  
  <func>
    <name name="isVisible" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>isVisible/3</c></fsummary>
  </func>
  
  <func>
    <name name="isVisible" arity="3" clause_i="1" since=""/>
  
    <name name="isVisible" arity="3" clause_i="2" since=""/>
    <fsummary>Returns true if a cell is either entirely or at least partially visible in the grid window. </fsummary>
    <desc><p>Returns true if a cell is either entirely or at least partially visible in the grid window. 
      </p><p>By default, the cell must be entirely visible for this function to return true but if <c>wholeCellVisible</c> is false, the function returns true even if the cell is only partially visible. 
      </p></desc>
  </func>
  
  <func>
    <name name="isVisible" arity="4" clause_i="1" since=""/>
    <fsummary>Returns true if a cell is either entirely or at least partially visible in the grid window. </fsummary>
    <desc><p>Returns true if a cell is either entirely or at least partially visible in the grid window. 
      </p><p>By default, the cell must be entirely visible for this function to return true but if <c>wholeCellVisible</c> is false, the function returns true even if the cell is only partially visible. 
      </p></desc>
  </func>
  
  <func>
    <name name="makeCellVisible" arity="2" clause_i="1" since=""/>
    <fsummary>Brings the specified cell into the visible grid cell area with minimal scrolling. </fsummary>
    <desc><p>Brings the specified cell into the visible grid cell area with minimal scrolling. 
      </p><p>Does nothing if the cell is already visible. 
      </p></desc>
  </func>
  
  <func>
    <name name="makeCellVisible" arity="3" clause_i="1" since=""/>
    <fsummary>Brings the specified cell into the visible grid cell area with minimal scrolling. </fsummary>
    <desc><p>Brings the specified cell into the visible grid cell area with minimal scrolling. 
      </p><p>Does nothing if the cell is already visible. 
      </p></desc>
  </func>
  
  <func>
    <name name="moveCursorDown" arity="2" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor down by one row. </fsummary>
    <desc><p>Moves the grid cursor down by one row. 
      </p><p>If a block of cells was previously selected it will expand if the argument is true or be cleared if the argument is false. 
      </p></desc>
  </func>
  
  <func>
    <name name="moveCursorLeft" arity="2" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor left by one column. </fsummary>
    <desc><p>Moves the grid cursor left by one column. 
      </p><p>If a block of cells was previously selected it will expand if the argument is true or be cleared if the argument is false. 
      </p></desc>
  </func>
  
  <func>
    <name name="moveCursorRight" arity="2" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor right by one column. </fsummary>
    <desc><p>Moves the grid cursor right by one column. 
      </p><p>If a block of cells was previously selected it will expand if the argument is true or be cleared if the argument is false. 
      </p></desc>
  </func>
  
  <func>
    <name name="moveCursorUp" arity="2" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor up by one row. </fsummary>
    <desc><p>Moves the grid cursor up by one row. 
      </p><p>If a block of cells was previously selected it will expand if the argument is true or be cleared if the argument is false. 
      </p></desc>
  </func>
  
  <func>
    <name name="moveCursorDownBlock" arity="2" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor down in the current column such that it skips to the beginning or end of a block of non-empty cells. </fsummary>
    <desc><p>Moves the grid cursor down in the current column such that it skips to the beginning or end of a block of non-empty cells. 
      </p><p>If a block of cells was previously selected it will expand if the argument is true or be cleared if the argument is false. 
      </p></desc>
  </func>
  
  <func>
    <name name="moveCursorLeftBlock" arity="2" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor left in the current row such that it skips to the beginning or end of a block of non-empty cells. </fsummary>
    <desc><p>Moves the grid cursor left in the current row such that it skips to the beginning or end of a block of non-empty cells. 
      </p><p>If a block of cells was previously selected it will expand if the argument is true or be cleared if the argument is false. 
      </p></desc>
  </func>
  
  <func>
    <name name="moveCursorRightBlock" arity="2" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor right in the current row such that it skips to the beginning or end of a block of non-empty cells. </fsummary>
    <desc><p>Moves the grid cursor right in the current row such that it skips to the beginning or end of a block of non-empty cells. 
      </p><p>If a block of cells was previously selected it will expand if the argument is true or be cleared if the argument is false. 
      </p></desc>
  </func>
  
  <func>
    <name name="moveCursorUpBlock" arity="2" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor up in the current column such that it skips to the beginning or end of a block of non-empty cells. </fsummary>
    <desc><p>Moves the grid cursor up in the current column such that it skips to the beginning or end of a block of non-empty cells. 
      </p><p>If a block of cells was previously selected it will expand if the argument is true or be cleared if the argument is false. 
      </p></desc>
  </func>
  
  <func>
    <name name="movePageDown" arity="1" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor down by some number of rows so that the previous bottom visible row becomes the top visible row. </fsummary>
    <desc><p>Moves the grid cursor down by some number of rows so that the previous bottom visible row becomes the top visible row. 
      </p></desc>
  </func>
  
  <func>
    <name name="movePageUp" arity="1" clause_i="1" since=""/>
    <fsummary>Moves the grid cursor up by some number of rows so that the previous top visible row becomes the bottom visible row. </fsummary>
    <desc><p>Moves the grid cursor up by some number of rows so that the previous top visible row becomes the bottom visible row. 
      </p></desc>
  </func>
  
  <func>
    <name name="registerDataType" arity="4" clause_i="1" since=""/>
    <fsummary>Register a new data type. </fsummary>
    <desc><p>Register a new data type. 
      </p><p>The data types allow to naturally associate specific renderers and editors to the cells containing values of the given type. For example, the grid automatically registers a data type with the name <c>wxGRID_VALUE_STRING</c> which uses <seeerl marker="wxGridCellStringRenderer"><c>wxGridCellStringRenderer</c></seeerl> and <seeerl marker="wxGridCellTextEditor"><c>wxGridCellTextEditor</c></seeerl> as its renderer and editor respectively - this is the data type used by all the cells of the default <c>wxGridStringTable</c> (not implemented in wx), so this renderer and editor are used by default for all grid cells.
      </p><p>However if a custom table returns <c>wxGRID_VALUE_BOOL</c> from its <c>wxGridTableBase::GetTypeName()</c> (not implemented in wx) method, then <seeerl marker="wxGridCellBoolRenderer"><c>wxGridCellBoolRenderer</c></seeerl> and <seeerl marker="wxGridCellBoolEditor"><c>wxGridCellBoolEditor</c></seeerl> are used for it because the grid also registers a boolean data type with this name.
      </p><p>And as this mechanism is completely generic, you may register your own data types using your own custom renderers and editors. Just remember that the table must identify a cell as being of the given type for them to be used for this cell.
      </p></desc>
  </func>
  
  <func>
    <name name="saveEditControlValue" arity="1" clause_i="1" since=""/>
    <fsummary>Sets the value of the current grid cell to the current in-place edit control value. </fsummary>
    <desc><p>Sets the value of the current grid cell to the current in-place edit control value. 
      </p><p>This is called automatically when the grid cursor moves from the current cell to a new cell. It is also a good idea to call this function when closing a grid since any edits to the final cell location will not be saved otherwise. 
      </p></desc>
  </func>
  
  <func>
    <name name="selectAll" arity="1" clause_i="1" since=""/>
    <fsummary>Selects all cells in the grid. </fsummary>
    <desc><p>Selects all cells in the grid. 
      </p></desc>
  </func>
  
  <func>
    <name name="selectBlock" arity="3" clause_i="1" since=""/>
    <fsummary>See: <c>selectBlock/4</c></fsummary>
  </func>
  
  <func>
    <name name="selectBlock" arity="4" clause_i="1" since=""/>
    <fsummary>Selects a rectangular block of cells. </fsummary>
    <desc><p>Selects a rectangular block of cells. 
      </p><p>If <c>addToSelected</c> is false then any existing selection will be deselected; if true the column will be added to the existing selection. 
      </p></desc>
  </func>
  
  <func>
    <name name="selectBlock" arity="5" clause_i="1" since=""/>
    <fsummary>See: <c>selectBlock/6</c></fsummary>
  </func>
  
  <func>
    <name name="selectBlock" arity="6" clause_i="1" since=""/>
    <fsummary>Selects a rectangular block of cells. </fsummary>
    <desc><p>Selects a rectangular block of cells. 
      </p><p>If <c>addToSelected</c> is false then any existing selection will be deselected; if true the column will be added to the existing selection. 
      </p></desc>
  </func>
  
  <func>
    <name name="selectCol" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>selectCol/3</c></fsummary>
  </func>
  
  <func>
    <name name="selectCol" arity="3" clause_i="1" since=""/>
    <fsummary>Selects the specified column. </fsummary>
    <desc><p>Selects the specified column. 
      </p><p>If <c>addToSelected</c> is false then any existing selection will be deselected; if true the column will be added to the existing selection.
      </p><p>This method won't select anything if the current selection mode is wxGridSelectRows. 
      </p></desc>
  </func>
  
  <func>
    <name name="selectRow" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>selectRow/3</c></fsummary>
  </func>
  
  <func>
    <name name="selectRow" arity="3" clause_i="1" since=""/>
    <fsummary>Selects the specified row. </fsummary>
    <desc><p>Selects the specified row. 
      </p><p>If <c>addToSelected</c> is false then any existing selection will be deselected; if true the row will be added to the existing selection.
      </p><p>This method won't select anything if the current selection mode is wxGridSelectColumns. 
      </p></desc>
  </func>
  
  <func>
    <name name="setCellAlignment" arity="5" clause_i="1" since=""/>
    <fsummary>Sets the horizontal and vertical alignment for grid cell text at the specified location. </fsummary>
    <desc><p>Sets the horizontal and vertical alignment for grid cell text at the specified location. 
      </p><p>Horizontal alignment should be one of <c>wxALIGN_LEFT</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_RIGHT</c>.
      </p><p>Vertical alignment should be one of <c>wxALIGN_TOP</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_BOTTOM</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="setCellBackgroundColour" arity="4" clause_i="1" since=""/>
    <fsummary>Set the background colour for the given cell or all cells by default. </fsummary>
    <desc><p>Set the background colour for the given cell or all cells by default. 
      </p></desc>
  </func>
  
  <func>
    <name name="setCellEditor" arity="4" clause_i="1" since=""/>
    <fsummary>Sets the editor for the grid cell at the specified location. </fsummary>
    <desc><p>Sets the editor for the grid cell at the specified location. 
      </p><p>The grid will take ownership of the pointer.
      </p><p>See <seeerl marker="wxGridCellEditor"><c>wxGridCellEditor</c></seeerl> and the overview_grid for more information about cell editors and renderers. 
      </p></desc>
  </func>
  
  <func>
    <name name="setCellFont" arity="4" clause_i="1" since=""/>
    <fsummary>Sets the font for text in the grid cell at the specified location. </fsummary>
    <desc><p>Sets the font for text in the grid cell at the specified location. 
      </p></desc>
  </func>
  
  <func>
    <name name="setCellRenderer" arity="4" clause_i="1" since=""/>
    <fsummary>Sets the renderer for the grid cell at the specified location. </fsummary>
    <desc><p>Sets the renderer for the grid cell at the specified location. 
      </p><p>The grid will take ownership of the pointer.
      </p><p>See <seeerl marker="wxGridCellRenderer"><c>wxGridCellRenderer</c></seeerl> and the overview_grid for more information about cell editors and renderers. 
      </p></desc>
  </func>
  
  <func>
    <name name="setCellTextColour" arity="4" clause_i="1" since=""/>
    <fsummary>Sets the text colour for the given cell. </fsummary>
    <desc><p>Sets the text colour for the given cell. 
      </p></desc>
  </func>
  
  <func>
    <name name="setCellValue" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the string value for the cell at the specified location. </fsummary>
    <desc><p>Sets the string value for the cell at the specified location. 
      </p><p>For simple applications where a grid object automatically uses a default grid table of string values you use this function together with <seemfa marker="#getCellValue/3"><c>getCellValue/3</c></seemfa> to access cell values. For more complex applications where you have derived your own grid table class that contains various data types (e.g. numeric, boolean or user-defined custom types) then you only use this function for those cells that contain string values.
      </p><p>See <c>wxGridTableBase::CanSetValueAs()</c> (not implemented in wx) and the overview_grid for more information. 
      </p></desc>
  </func>
  
  <func>
    <name name="setCellValue" arity="4" clause_i="1" since=""/>
    <fsummary>Sets the string value for the cell at the specified location. </fsummary>
    <desc><p>Sets the string value for the cell at the specified location. 
      </p><p>For simple applications where a grid object automatically uses a default grid table of string values you use this function together with <seemfa marker="#getCellValue/3"><c>getCellValue/3</c></seemfa> to access cell values. For more complex applications where you have derived your own grid table class that contains various data types (e.g. numeric, boolean or user-defined custom types) then you only use this function for those cells that contain string values.
      </p><p>See <c>wxGridTableBase::CanSetValueAs()</c> (not implemented in wx) and the overview_grid for more information. 
      </p></desc>
  </func>
  
  <func>
    <name name="setColAttr" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the cell attributes for all cells in the specified column. </fsummary>
    <desc><p>Sets the cell attributes for all cells in the specified column. 
      </p><p>For more information about controlling grid cell attributes see the <seeerl marker="wxGridCellAttr"><c>wxGridCellAttr</c></seeerl> cell attribute class and the overview_grid. 
      </p></desc>
  </func>
  
  <func>
    <name name="setColFormatBool" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the specified column to display boolean values. </fsummary>
    <desc><p>Sets the specified column to display boolean values. 
      </p><p>See: <seemfa marker="#setColFormatCustom/3"><c>setColFormatCustom/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setColFormatNumber" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the specified column to display integer values. </fsummary>
    <desc><p>Sets the specified column to display integer values. 
      </p><p>See: <seemfa marker="#setColFormatCustom/3"><c>setColFormatCustom/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setColFormatFloat" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>setColFormatFloat/3</c></fsummary>
  </func>
  
  <func>
    <name name="setColFormatFloat" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the specified column to display floating point values with the given width and precision. </fsummary>
    <desc><p>Sets the specified column to display floating point values with the given width and precision. 
      </p><p>See: <seemfa marker="#setColFormatCustom/3"><c>setColFormatCustom/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setColFormatCustom" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the specified column to display data in a custom format. </fsummary>
    <desc><p>Sets the specified column to display data in a custom format. 
      </p><p>This method provides an alternative to defining a custom grid table which would return <c>typeName</c> from its GetTypeName() method for the cells in this column: while it doesn't really change the type of the cells in this column, it does associate the renderer and editor used for the cells of the specified type with them.
      </p><p>See the overview_grid for more information on working with custom data types. 
      </p></desc>
  </func>
  
  <func>
    <name name="setColLabelAlignment" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the horizontal and vertical alignment of column label text. </fsummary>
    <desc><p>Sets the horizontal and vertical alignment of column label text. 
      </p><p>Horizontal alignment should be one of <c>wxALIGN_LEFT</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_RIGHT</c>. Vertical alignment should be one of <c>wxALIGN_TOP</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_BOTTOM</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="setColLabelSize" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the height of the column labels. </fsummary>
    <desc><p>Sets the height of the column labels. 
      </p><p>If <c>height</c> equals to <c>wxGRID_AUTOSIZE</c> then height is calculated automatically so that no label is truncated. Note that this could be slow for a large table. 
      </p></desc>
  </func>
  
  <func>
    <name name="setColLabelValue" arity="3" clause_i="1" since=""/>
    <fsummary>Set the value for the given column label. </fsummary>
    <desc><p>Set the value for the given column label. 
      </p><p>If you are using a custom grid table you must override <c>wxGridTableBase::SetColLabelValue()</c> (not implemented in wx) for this to have any effect. 
      </p></desc>
  </func>
  
  <func>
    <name name="setColMinimalWidth" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the minimal <c>width</c> for the specified column <c>col</c>. </fsummary>
    <desc><p>Sets the minimal <c>width</c> for the specified column <c>col</c>. 
      </p><p>It is usually best to call this method during grid creation as calling it later will not resize the column to the given minimal width even if it is currently narrower than it.
      </p><p><c>width</c> must be greater than the minimal acceptable column width as returned by <seemfa marker="#getColMinimalAcceptableWidth/1"><c>getColMinimalAcceptableWidth/1</c></seemfa>. 
      </p></desc>
  </func>
  
  <func>
    <name name="setColMinimalAcceptableWidth" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the minimal <c>width</c> to which the user can resize columns. </fsummary>
    <desc><p>Sets the minimal <c>width</c> to which the user can resize columns. 
      </p><p>See: <seemfa marker="#getColMinimalAcceptableWidth/1"><c>getColMinimalAcceptableWidth/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setColSize" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the width of the specified column. </fsummary>
    <desc><p>Sets the width of the specified column. 
      </p></desc>
  </func>
  
  <func>
    <name name="setDefaultCellAlignment" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the default horizontal and vertical alignment for grid cell text. </fsummary>
    <desc><p>Sets the default horizontal and vertical alignment for grid cell text. 
      </p><p>Horizontal alignment should be one of <c>wxALIGN_LEFT</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_RIGHT</c>. Vertical alignment should be one of <c>wxALIGN_TOP</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_BOTTOM</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="setDefaultCellBackgroundColour" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the default background colour for grid cells. </fsummary>
    <desc><p>Sets the default background colour for grid cells. 
      </p></desc>
  </func>
  
  <func>
    <name name="setDefaultCellFont" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the default font to be used for grid cell text. </fsummary>
    <desc><p>Sets the default font to be used for grid cell text. 
      </p></desc>
  </func>
  
  <func>
    <name name="setDefaultCellTextColour" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the current default colour for grid cell text. </fsummary>
    <desc><p>Sets the current default colour for grid cell text. 
      </p></desc>
  </func>
  
  <func>
    <name name="setDefaultEditor" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the default editor for grid cells. </fsummary>
    <desc><p>Sets the default editor for grid cells. 
      </p><p>The grid will take ownership of the pointer.
      </p><p>See <seeerl marker="wxGridCellEditor"><c>wxGridCellEditor</c></seeerl> and the overview_grid for more information about cell editors and renderers. 
      </p></desc>
  </func>
  
  <func>
    <name name="setDefaultRenderer" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the default renderer for grid cells. </fsummary>
    <desc><p>Sets the default renderer for grid cells. 
      </p><p>The grid will take ownership of the pointer.
      </p><p>See <seeerl marker="wxGridCellRenderer"><c>wxGridCellRenderer</c></seeerl> and the overview_grid for more information about cell editors and renderers. 
      </p></desc>
  </func>
  
  <func>
    <name name="setDefaultColSize" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>setDefaultColSize/3</c></fsummary>
  </func>
  
  <func>
    <name name="setDefaultColSize" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the default width for columns in the grid. </fsummary>
    <desc><p>Sets the default width for columns in the grid. 
      </p><p>This will only affect columns subsequently added to the grid unless <c>resizeExistingCols</c> is true.
      </p><p>If <c>width</c> is less than <seemfa marker="#getColMinimalAcceptableWidth/1"><c>getColMinimalAcceptableWidth/1</c></seemfa>, then the minimal acceptable width is used instead of it. 
      </p></desc>
  </func>
  
  <func>
    <name name="setDefaultRowSize" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>setDefaultRowSize/3</c></fsummary>
  </func>
  
  <func>
    <name name="setDefaultRowSize" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the default height for rows in the grid. </fsummary>
    <desc><p>Sets the default height for rows in the grid. 
      </p><p>This will only affect rows subsequently added to the grid unless <c>resizeExistingRows</c> is true.
      </p><p>If <c>height</c> is less than <seemfa marker="#getRowMinimalAcceptableHeight/1"><c>getRowMinimalAcceptableHeight/1</c></seemfa>, then the minimal acceptable height is used instead of it. 
      </p></desc>
  </func>
  
  <func>
    <name name="setGridCursor" arity="2" clause_i="1" since=""/>
    <fsummary>Set the grid cursor to the specified cell. </fsummary>
    <desc><p>Set the grid cursor to the specified cell. 
      </p><p>The grid cursor indicates the current cell and can be moved by the user using the arrow keys or the mouse.
      </p><p>Calling this function generates a <c>wxEVT_GRID_SELECT_CELL</c> event and if the event handler vetoes this event, the cursor is not moved.
      </p><p>This function doesn't make the target call visible, use <c>GoToCell()</c> (not implemented in wx) to do this. 
      </p></desc>
  </func>
  
  <func>
    <name name="setGridCursor" arity="3" clause_i="1" since=""/>
    <fsummary>Set the grid cursor to the specified cell. </fsummary>
    <desc><p>Set the grid cursor to the specified cell. 
      </p><p>The grid cursor indicates the current cell and can be moved by the user using the arrow keys or the mouse.
      </p><p>Calling this function generates a <c>wxEVT_GRID_SELECT_CELL</c> event and if the event handler vetoes this event, the cursor is not moved.
      </p><p>This function doesn't make the target call visible, use <c>GoToCell()</c> (not implemented in wx) to do this. 
      </p></desc>
  </func>
  
  <func>
    <name name="setGridLineColour" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the colour used to draw grid lines. </fsummary>
    <desc><p>Sets the colour used to draw grid lines. 
      </p></desc>
  </func>
  
  <func>
    <name name="setLabelBackgroundColour" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the background colour for row and column labels. </fsummary>
    <desc><p>Sets the background colour for row and column labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="setLabelFont" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the font for row and column labels. </fsummary>
    <desc><p>Sets the font for row and column labels. 
      </p></desc>
  </func>
  
  <func>
    <name name="setLabelTextColour" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the colour for row and column label text. </fsummary>
    <desc><p>Sets the colour for row and column label text. 
      </p></desc>
  </func>
  
  <func>
    <name name="setMargins" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the extra margins used around the grid area. </fsummary>
    <desc><p>Sets the extra margins used around the grid area. 
      </p><p>A grid may occupy more space than needed for its data display and this function allows setting how big this extra space is 
      </p></desc>
  </func>
  
  <func>
    <name name="setReadOnly" arity="3" clause_i="1" since=""/>
    <fsummary>See: <c>setReadOnly/4</c></fsummary>
  </func>
  
  <func>
    <name name="setReadOnly" arity="4" clause_i="1" since=""/>
    <fsummary>Makes the cell at the specified location read-only or editable. </fsummary>
    <desc><p>Makes the cell at the specified location read-only or editable. 
      </p><p>See: <seemfa marker="#isReadOnly/3"><c>isReadOnly/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setRowAttr" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the cell attributes for all cells in the specified row. </fsummary>
    <desc><p>Sets the cell attributes for all cells in the specified row. 
      </p><p>The grid takes ownership of the attribute pointer.
      </p><p>See the <seeerl marker="wxGridCellAttr"><c>wxGridCellAttr</c></seeerl> class for more information about controlling cell attributes. 
      </p></desc>
  </func>
  
  <func>
    <name name="setRowLabelAlignment" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the horizontal and vertical alignment of row label text. </fsummary>
    <desc><p>Sets the horizontal and vertical alignment of row label text. 
      </p><p>Horizontal alignment should be one of <c>wxALIGN_LEFT</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_RIGHT</c>. Vertical alignment should be one of <c>wxALIGN_TOP</c>, <c>wxALIGN_CENTRE</c> or <c>wxALIGN_BOTTOM</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="setRowLabelSize" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the width of the row labels. </fsummary>
    <desc><p>Sets the width of the row labels. 
      </p><p>If <c>width</c> equals <c>wxGRID_AUTOSIZE</c> then width is calculated automatically so that no label is truncated. Note that this could be slow for a large table. 
      </p></desc>
  </func>
  
  <func>
    <name name="setRowLabelValue" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the value for the given row label. </fsummary>
    <desc><p>Sets the value for the given row label. 
      </p><p>If you are using a derived grid table you must override <c>wxGridTableBase::SetRowLabelValue()</c> (not implemented in wx) for this to have any effect. 
      </p></desc>
  </func>
  
  <func>
    <name name="setRowMinimalHeight" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the minimal <c>height</c> for the specified <c>row</c>. </fsummary>
    <desc><p>Sets the minimal <c>height</c> for the specified <c>row</c>. 
      </p><p>See <seemfa marker="#setColMinimalWidth/3"><c>setColMinimalWidth/3</c></seemfa> for more information. 
      </p></desc>
  </func>
  
  <func>
    <name name="setRowMinimalAcceptableHeight" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the minimal row <c>height</c> used by default. </fsummary>
    <desc><p>Sets the minimal row <c>height</c> used by default. 
      </p><p>See <seemfa marker="#setColMinimalAcceptableWidth/2"><c>setColMinimalAcceptableWidth/2</c></seemfa> for more information. 
      </p></desc>
  </func>
  
  <func>
    <name name="setRowSize" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the height of the specified row. </fsummary>
    <desc><p>Sets the height of the specified row. 
      </p><p>See <seemfa marker="#setColSize/3"><c>setColSize/3</c></seemfa> for more information. 
      </p></desc>
  </func>
  
  <func>
    <name name="setScrollLineX" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the number of pixels per horizontal scroll increment. </fsummary>
    <desc><p>Sets the number of pixels per horizontal scroll increment. 
      </p><p>The default is 15.
      </p><p>See: <seemfa marker="#getScrollLineX/1"><c>getScrollLineX/1</c></seemfa>, <seemfa marker="#getScrollLineY/1"><c>getScrollLineY/1</c></seemfa>, <seemfa marker="#setScrollLineY/2"><c>setScrollLineY/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setScrollLineY" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the number of pixels per vertical scroll increment. </fsummary>
    <desc><p>Sets the number of pixels per vertical scroll increment. 
      </p><p>The default is 15.
      </p><p>See: <seemfa marker="#getScrollLineX/1"><c>getScrollLineX/1</c></seemfa>, <seemfa marker="#getScrollLineY/1"><c>getScrollLineY/1</c></seemfa>, <seemfa marker="#setScrollLineX/2"><c>setScrollLineX/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setSelectionBackground" arity="2" clause_i="1" since=""/>
    <fsummary>Set the colour to be used for drawing the selection background. </fsummary>
    <desc><p>Set the colour to be used for drawing the selection background. 
      </p></desc>
  </func>
  
  <func>
    <name name="setSelectionForeground" arity="2" clause_i="1" since=""/>
    <fsummary>Set the colour to be used for drawing the selection foreground. </fsummary>
    <desc><p>Set the colour to be used for drawing the selection foreground. 
      </p></desc>
  </func>
  
  <func>
    <name name="setSelectionMode" arity="2" clause_i="1" since=""/>
    <fsummary>Set the selection behaviour of the grid. </fsummary>
    <desc><p>Set the selection behaviour of the grid. 
      </p><p>The existing selection is converted to conform to the new mode if possible and discarded otherwise (e.g. any individual selected cells are deselected if the new mode allows only the selection of the entire rows or columns). 
      </p></desc>
  </func>
  
  <func>
    <name name="showCellEditControl" arity="1" clause_i="1" since=""/>
    <fsummary>Displays the active in-place cell edit control for the current cell after it was hidden. </fsummary>
    <desc><p>Displays the active in-place cell edit control for the current cell after it was hidden. 
      </p><p>This method should only be called after calling <seemfa marker="#hideCellEditControl/1"><c>hideCellEditControl/1</c></seemfa>, to start editing the current grid cell use <seemfa marker="#enableCellEditControl/2"><c>enableCellEditControl/2</c></seemfa> instead. 
      </p></desc>
  </func>
  
  <func>
    <name name="xToCol" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>xToCol/3</c></fsummary>
  </func>
  
  <func>
    <name name="xToCol" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the column at the given pixel position depending on the window. </fsummary>
    <desc><p>Returns the column at the given pixel position depending on the window. 
      </p><p>Return: The column index or <c>wxNOT_FOUND</c>. 
      </p></desc>
  </func>
  
  <func>
    <name name="xToEdgeOfCol" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the column whose right hand edge is close to the given logical <c>x</c> position. </fsummary>
    <desc><p>Returns the column whose right hand edge is close to the given logical <c>x</c> position. 
      </p><p>If no column edge is near to this position <c>wxNOT_FOUND</c> is returned. 
      </p></desc>
  </func>
  
  <func>
    <name name="yToEdgeOfRow" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the row whose bottom edge is close to the given logical <c>y</c> position. </fsummary>
    <desc><p>Returns the row whose bottom edge is close to the given logical <c>y</c> position. 
      </p><p>If no row edge is near to this position <c>wxNOT_FOUND</c> is returned. 
      </p></desc>
  </func>
  
  <func>
    <name name="yToRow" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>yToRow/3</c></fsummary>
  </func>
  
  <func>
    <name name="yToRow" arity="3" clause_i="1" since=""/>
    <fsummary>Returns the grid row that corresponds to the logical <c>y</c> coordinate. </fsummary>
    <desc><p>Returns the grid row that corresponds to the logical <c>y</c> coordinate. 
      </p><p>The parameter <c>gridWindow</c> is new since wxWidgets 3.1.3. If it is specified, i.e. non-NULL, only the cells of this window are considered, i.e. the function returns <c>wxNOT_FOUND</c> if <c>y</c> is out of bounds.
      </p><p>If <c>gridWindow</c> is NULL, the function returns <c>wxNOT_FOUND</c> only if there is no row at all at the <c>y</c> position. 
      </p></desc>
  </func>
  </funcs>
</erlref>
