+\func{wxPen}{GetRowGridLinePen}{\param{int }{row}}
+
+Returns the pen used for horizontal grid lines. This virtual function may be
+overridden in derived classes in order to change the appearance of individual
+grid line for the given row \arg{row}.
+
+Example: \\
+\\
+\begin{verbatim}
+ // in a grid displaying music notation, use a solid black pen between
+ // octaves (C0=row 127, C1=row 115 etc.)
+ wxPen MidiGrid::GetRowGridLinePen(int row)
+ {
+ if ( row%12 == 7 )
+ return wxPen(*wxBLACK, 1, wxSOLID);
+ else
+ return GetDefaultGridLinePen();
+ }
+\end{verbatim}
+
+
+
+\membersection{wxGrid::GetColGridLinePen}\label{wxgridgetcolgridlinepen}
+
+\func{wxPen}{GetColGridLinePen}{\param{int }{col}}
+
+Returns the pen used for vertical grid lines. This virtual function may be
+overridden in derived classes in order to change the appearance of individual
+grid lines for the given column \arg{col}.
+
+See \helpref{GetRowGridLinePen()}{wxgridgetrowgridlinepen} for an example.
+
+
+
+
+\membersection{wxGrid::GridLinesEnabled}\label{wxgridgridlinesenabled}
+
+\constfunc{bool}{GridLinesEnabled}{\void}
+
+Returns true if drawing of grid lines is turned on, false otherwise.
+
+
+
+\membersection{wxGrid::GetLabelBackgroundColour}\label{wxgridgetlabelbackgroundcolour}
+
+\constfunc{wxColour}{GetLabelBackgroundColour}{\void}
+
+Returns the colour used for the background of row and column labels.
+
+
+
+\membersection{wxGrid::GetLabelFont}\label{wxgridgetlabelfont}
+
+\constfunc{wxFont}{GetLabelFont}{\void}
+
+Returns the font used for row and column labels.
+
+
+
+\membersection{wxGrid::GetLabelTextColour}\label{wxgridgetlabeltextcolour}
+
+\constfunc{wxColour}{GetLabelTextColour}{\void}
+
+Returns the colour used for row and column label text.
+
+
+
+\membersection{wxGrid::GetNumberCols}\label{wxgridgetnumbercols}
+
+\constfunc{int}{GetNumberCols}{\void}
+
+Returns the total number of grid columns (actually the number of columns in the underlying grid
+table).
+
+
+
+\membersection{wxGrid::GetNumberRows}\label{wxgridgetnumberrows}
+
+\constfunc{int}{GetNumberRows}{\void}
+
+Returns the total number of grid rows (actually the number of rows in the underlying grid table).
+
+
+
+\membersection{wxGrid::GetOrCreateCellAttr}\label{wxgridgetorcreatecellattr}
+
+\constfunc{wxGridCellAttr*}{GetOrCreateCellAttr}{\param{int }{row}, \param{int }{col}}
+
+
+
+\membersection{wxGrid::GetRowMinimalAcceptableHeight}\label{wxgridgetrowminimalacceptableheight}
+
+\constfunc{int}{GetRowMinimalAcceptableHeight}{}
+
+This returns the value of the lowest row width that can be handled correctly. See
+member \helpref{SetRowMinimalAcceptableHeight}{wxgridsetrowminimalacceptableheight} for details.
+
+
+
+\membersection{wxGrid::GetRowMinimalHeight}\label{wxgridgetrowminimalheight}
+
+\constfunc{int}{GetRowMinimalHeight}{\param{int }{col}}
+
+
+
+\membersection{wxGrid::GetRowLabelAlignment}\label{wxgridgetrowlabelalignment}
+
+\constfunc{void}{GetRowLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
+
+Sets the arguments to the current row label alignment values.
+
+Horizontal alignment will be one of wxLEFT, wxCENTRE or wxRIGHT. \\
+Vertical alignment will be one of wxTOP, wxCENTRE or wxBOTTOM.
+
+\perlnote{This method takes no parameters and
+returns a 2-element list {\tt ( horiz, vert )}.}
+
+
+
+\membersection{wxGrid::GetRowLabelSize}\label{wxgridgetrowlabelsize}
+
+\constfunc{int}{GetRowLabelSize}{\void}
+
+Returns the current width of the row labels.
+
+
+
+\membersection{wxGrid::GetRowLabelValue}\label{wxgridgetrowlabelvalue}
+
+\constfunc{wxString}{GetRowLabelValue}{\param{int }{row}}
+
+Returns the specified row label. The default grid table class provides numeric row labels.
+If you are using a custom grid table you can override
+\helpref{wxGridTableBase::GetRowLabelValue}{wxgridtablebasegetcollabelvalue} to provide
+your own labels.
+
+
+
+\membersection{wxGrid::GetRowSize}\label{wxgridgetrowsize}
+
+\constfunc{int}{GetRowSize}{\param{int }{row}}
+
+Returns the height of the specified row.
+
+
+
+\membersection{wxGrid::GetScrollLineX}\label{wxgridgetscrolllinex}
+
+\constfunc{int}{GetScrollLineX}{\void}
+
+Returns the number of pixels per horizontal scroll increment. The default is 15.
+
+\wxheading{See also}
+
+\helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
+\helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex},\rtfsp
+\helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
+
+
+
+\membersection{wxGrid::GetScrollLineY}\label{wxgridgetscrollliney}
+
+\constfunc{int}{GetScrollLineY}{\void}
+
+Returns the number of pixels per vertical scroll increment. The default is 15.
+
+\wxheading{See also}
+
+\helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
+\helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex},\rtfsp
+\helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
+
+
+
+\membersection{wxGrid::GetSelectionMode}\label{wxgridgetselectionmode}
+
+\constfunc{wxGrid::wxGridSelectionModes}{GetSelectionMode}{\void}
+
+Returns the current selection mode, see \helpref{wxGrid::SetSelectionMode}{wxgridsetselectionmode}.
+
+
+
+\membersection{wxGrid::GetSelectedCells}\label{wxgridgetselectedcells}
+
+\constfunc{wxGridCellCoordsArray}{GetSelectedCells}{\void}
+
+Returns an array of singly selected cells.
+
+
+
+\membersection{wxGrid::GetSelectedCols}\label{wxgridgetselectedcols}
+
+\constfunc{wxArrayInt}{GetSelectedCols}{\void}
+
+Returns an array of selected cols.
+
+
+
+\membersection{wxGrid::GetSelectedRows}\label{wxgridgetselectedrows}
+
+\constfunc{wxArrayInt}{GetSelectedRows}{\void}
+
+Returns an array of selected rows.
+
+
+
+\membersection{wxGrid::GetSelectionBackground}\label{wxgridgetselectionbackground}
+
+\constfunc{wxColour}{GetSelectionBackground}{\void}
+
+Access or update the selection fore/back colours
+
+
+
+\membersection{wxGrid::GetSelectionBlockTopLeft}\label{wxgridgetselectionblocktopleft}
+
+\constfunc{wxGridCellCoordsArray}{GetSelectionBlockTopLeft}{\void}
+
+Returns an array of the top left corners of blocks of selected cells,
+see \helpref{wxGrid::GetSelectionBlockBottomRight}{wxgridgetselectionblockbottomright}.
+
+
+
+\membersection{wxGrid::GetSelectionBlockBottomRight}\label{wxgridgetselectionblockbottomright}
+
+\constfunc{wxGridCellCoordsArray}{GetSelectionBlockBottomRight}{\void}
+
+Returns an array of the bottom right corners of blocks of selected cells,
+see \helpref{wxGrid::GetSelectionBlockTopLeft}{wxgridgetselectionblocktopleft}.
+
+
+
+\membersection{wxGrid::GetSelectionForeground}\label{wxgridgetselectionforeground}
+
+\constfunc{wxColour}{GetSelectionForeground}{\void}
+
+
+
+\membersection{wxGrid::GetTable}\label{wxgridgettable}
+
+\constfunc{wxGridTableBase *}{GetTable}{\void}
+
+Returns a base pointer to the current table object.
+
+
+
+\membersection{wxGrid::GetViewWidth}\label{wxgridgetviewwidth}
+
+\constfunc{int}{GetViewWidth}{\void}
+
+Returned number of whole cols visible.
+
+
+
+\membersection{wxGrid::HideCellEditControl}\label{wxgridhidecelleditcontrol}
+
+\func{void}{HideCellEditControl}{\void}
+
+Hides the in-place cell edit control.
+
+
+\membersection{wxGrid::HideColLabels}\label{wxgridhidecollabels}
+
+\func{void}{HideColLabels}{\void}
+
+Hides the column labels by calling \helpref{SetColLabelSize}{wxgridsetcollabelsize}
+with a size of 0. Show labels again by calling that method with
+a width greater than 0.
+
+
+\membersection{wxGrid::HideRowLabels}\label{wxgridhiderowlabels}
+
+\func{void}{HideRowLabels}{\void}
+
+Hides the row labels by calling \helpref{SetRowLabelSize}{wxgridsetrowlabelsize}
+with a size of 0. Show labels again by calling that method with
+a width greater than 0.
+
+
+\membersection{wxGrid::InitColWidths}\label{wxgridinitcolwidths}
+
+\func{void}{InitColWidths}{\void}
+
+Init the m\_colWidths/Rights arrays
+
+
+
+\membersection{wxGrid::InitRowHeights}\label{wxgridinitrowheights}
+
+\func{void}{InitRowHeights}{\void}
+
+NB: {\it never} access m\_row/col arrays directly because they are created
+on demand, {\it always} use accessor functions instead!
+
+Init the m\_rowHeights/Bottoms arrays with default values.
+
+
+
+\membersection{wxGrid::InsertCols}\label{wxgridinsertcols}
+
+\func{bool}{InsertCols}{\param{int }{pos = 0}, \param{int }{numCols = 1}, \param{bool }{updateLabels = true}}
+
+Inserts one or more new columns into a grid with the first new column at the
+specified position and returns true if successful. The updateLabels argument is not
+used at present.
+
+The sequence of actions begins with the grid object 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
+\helpref{wxGrid::CreateGrid}{wxgridcreategrid}) this process is automatic. If you are
+using a custom grid table (specified with \helpref{wxGrid::SetTable}{wxgridsettable})
+then you must override
+\helpref{wxGridTableBase::InsertCols}{wxgridtablebaseinsertcols} in your derived
+table class.
+
+
+
+\membersection{wxGrid::InsertRows}\label{wxgridinsertrows}
+
+\func{bool}{InsertRows}{\param{int }{pos = 0}, \param{int }{numRows = 1}, \param{bool }{updateLabels = true}}
+
+Inserts one or more new rows into a grid with the first new row at the specified
+position and returns true if successful. The updateLabels argument is not used at
+present.
+
+The sequence of actions begins with the grid object requesting the underlying grid
+table to insert new rows. If this is successful the table notifies the grid and the
+grid updates the display. For a default grid (one where you have called
+\helpref{wxGrid::CreateGrid}{wxgridcreategrid}) this process is automatic. If you are
+using a custom grid table (specified with \helpref{wxGrid::SetTable}{wxgridsettable})
+then you must override
+\helpref{wxGridTableBase::InsertRows}{wxgridtablebaseinsertrows} in your derived
+table class.
+
+
+
+\membersection{wxGrid::IsCellEditControlEnabled}\label{wxgridiscelleditcontrolenabled}
+
+\constfunc{bool}{IsCellEditControlEnabled}{\void}
+
+Returns true if the in-place edit control is currently enabled.
+
+
+
+\membersection{wxGrid::IsCurrentCellReadOnly}\label{wxgridiscurrentcellreadonly}
+
+\constfunc{bool}{IsCurrentCellReadOnly}{\void}
+
+Returns true if the current cell has been set to read-only
+(see \helpref{wxGrid::SetReadOnly}{wxgridsetreadonly}).
+
+
+
+\membersection{wxGrid::IsEditable}\label{wxgridiseditable}
+
+\constfunc{bool}{IsEditable}{\void}
+
+Returns false if the whole grid has been set as read-only or true otherwise.
+See \helpref{wxGrid::EnableEditing}{wxgridenableediting} for more information about
+controlling the editing status of grid cells.
+
+
+
+\membersection{wxGrid::IsInSelection}\label{wxgridisinselection}
+
+\constfunc{bool}{IsInSelection}{\param{int }{row}, \param{int }{col}}
+
+\constfunc{bool}{IsInSelection}{\param{const wxGridCellCoords\& }{coords}}
+
+Is this cell currently selected.
+
+
+
+\membersection{wxGrid::IsReadOnly}\label{wxgridisreadonly}
+
+\constfunc{bool}{IsReadOnly}{\param{int }{row}, \param{int }{col}}
+
+Returns true if the cell at the specified location can't be edited.
+See also \helpref{wxGrid::IsReadOnly}{wxgridisreadonly}.
+
+
+
+\membersection{wxGrid::IsSelection}\label{wxgridisselection}
+
+\constfunc{bool}{IsSelection}{\void}
+
+Returns true if there are currently rows, columns or blocks of cells selected.
+
+
+
+\membersection{wxGrid::IsVisible}\label{wxgridisvisible}
+
+\constfunc{bool}{IsVisible}{\param{int }{row}, \param{int }{col}, \param{bool }{wholeCellVisible = true}}
+
+\constfunc{bool}{IsVisible}{\param{const wxGridCellCoords\& }{coords}, \param{bool }{wholeCellVisible = true}}
+
+Returns true if a cell is either wholly visible (the default) or at least partially
+visible in the grid window.
+
+
+
+\membersection{wxGrid::MakeCellVisible}\label{wxgridmakecellvisible}
+
+\func{void}{MakeCellVisible}{\param{int }{row}, \param{int }{col}}
+
+\func{void}{MakeCellVisible}{\param{const wxGridCellCoords\& }{coords}}
+
+Brings the specified cell into the visible grid cell area with minimal scrolling. Does
+nothing if the cell is already visible.
+
+
+
+\membersection{wxGrid::MoveCursorDown}\label{wxgridmovecursordown}
+
+\func{bool}{MoveCursorDown}{\param{bool }{expandSelection}}
+
+Moves the grid cursor down by one row. If a block of cells was previously selected it
+will expand if the argument is true or be cleared if the argument is false.
+
+\wxheading{Keyboard}\\
+This function is called for Down cursor key presses or Shift+Down to expand a selection.
+
+
+
+\membersection{wxGrid::MoveCursorLeft}\label{wxgridmovecursorleft}
+
+\func{bool}{MoveCursorLeft}{\param{bool }{expandSelection}}
+
+Moves the grid cursor left by one column. If a block of cells was previously selected it
+will expand if the argument is true or be cleared if the argument is false.
+
+\wxheading{Keyboard}\\
+This function is called for Left cursor key presses or Shift+Left to expand a selection.
+
+
+
+\membersection{wxGrid::MoveCursorRight}\label{wxgridmovecursorright}
+
+\func{bool}{MoveCursorRight}{\param{bool }{expandSelection}}
+
+Moves the grid cursor right by one column. If a block of cells was previously selected it
+will expand if the argument is true or be cleared if the argument is false.
+
+\wxheading{Keyboard}\\
+This function is called for Right cursor key presses or Shift+Right to expand a selection.
+
+
+
+\membersection{wxGrid::MoveCursorUp}\label{wxgridmovecursorup}
+
+\func{bool}{MoveCursorUp}{\param{bool }{expandSelection}}
+
+Moves the grid cursor up by one row. If a block of cells was previously selected it
+will expand if the argument is true or be cleared if the argument is false.
+
+\wxheading{Keyboard}\\
+This function is called for Up cursor key presses or Shift+Up to expand a selection.
+
+
+
+\membersection{wxGrid::MoveCursorDownBlock}\label{wxgridmovecursordownblock}
+
+\func{bool}{MoveCursorDownBlock}{\param{bool }{expandSelection}}
+
+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. If a block of cells was previously selected it
+will expand if the argument is true or be cleared if the argument is false.
+
+\wxheading{Keyboard}\\
+This function is called for the Ctrl+Down key combination. Shift+Ctrl+Down expands a selection.
+
+
+
+\membersection{wxGrid::MoveCursorLeftBlock}\label{wxgridmovecursorleftblock}
+
+\func{bool}{MoveCursorLeftBlock}{\param{bool }{expandSelection}}
+
+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. If a block of cells was previously selected it
+will expand if the argument is true or be cleared if the argument is false.
+
+\wxheading{Keyboard}\\
+This function is called for the Ctrl+Left key combination. Shift+Ctrl+left expands a selection.
+
+
+
+\membersection{wxGrid::MoveCursorRightBlock}\label{wxgridmovecursorrightblock}
+
+\func{bool}{MoveCursorRightBlock}{\param{bool }{expandSelection}}
+
+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. If a block of cells was previously selected it
+will expand if the argument is true or be cleared if the argument is false.
+
+\wxheading{Keyboard}\\
+This function is called for the Ctrl+Right key combination. Shift+Ctrl+Right expands a selection.
+
+
+
+\membersection{wxGrid::MoveCursorUpBlock}\label{wxgridmovecursorupblock}
+
+\func{bool}{MoveCursorUpBlock}{\param{bool }{expandSelection}}
+
+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. If a block of cells was previously selected it
+will expand if the argument is true or be cleared if the argument is false.
+
+\wxheading{Keyboard}\\
+This function is called for the Ctrl+Up key combination. Shift+Ctrl+Up expands a selection.
+
+
+
+\membersection{wxGrid::MovePageDown}\label{wxgridmovepagedown}
+
+\func{bool}{MovePageDown}{\void}
+
+Moves the grid cursor down by some number of rows so that the previous bottom visible row
+becomes the top visible row.
+
+\wxheading{Keyboard}\\
+This function is called for PgDn keypresses.
+
+
+
+\membersection{wxGrid::MovePageUp}\label{wxgridmovepageup}
+
+\func{bool}{MovePageUp}{\void}
+
+Moves the grid cursor up by some number of rows so that the previous top visible row
+becomes the bottom visible row.
+
+\wxheading{Keyboard}\\
+This function is called for PgUp keypresses.
+
+
+
+\membersection{wxGrid::RegisterDataType}\label{wxgridregisterdatatype}
+
+\func{void}{RegisterDataType}{\param{const wxString\& }{typeName}, \param{wxGridCellRenderer* }{renderer}, \param{wxGridCellEditor* }{editor}}
+
+Methods for a registry for mapping data types to Renderers/Editors
+
+
+
+\membersection{wxGrid::SaveEditControlValue}\label{wxgridsaveeditcontrolvalue}
+
+\func{void}{SaveEditControlValue}{\void}
+
+Sets the value of the current grid cell to the current in-place edit control value.
+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.
+
+
+
+\membersection{wxGrid::SelectAll}\label{wxgridselectall}
+
+\func{void}{SelectAll}{\void}
+
+Selects all cells in the grid.
+
+
+
+\membersection{wxGrid::SelectBlock}\label{wxgridselectblock}
+
+\func{void}{SelectBlock}{\param{int }{topRow}, \param{int }{leftCol},
+\param{int }{bottomRow}, \param{int }{rightCol}, \param{bool }{addToSelected = false}}
+
+\func{void}{SelectBlock}{\param{const wxGridCellCoords\& }{topLeft},
+\param{const wxGridCellCoords\& }{bottomRight}, \param{bool }{addToSelected = false}}
+
+Selects a rectangular block of cells. If addToSelected is false then any existing selection will be
+deselected; if true the column will be added to the existing selection.
+
+
+
+\membersection{wxGrid::SelectCol}\label{wxgridselectcol}
+
+\func{void}{SelectCol}{\param{int }{col}, \param{bool }{addToSelected = false}}
+
+Selects the specified column. If addToSelected is false then any existing selection will be
+deselected; if true the column will be added to the existing selection.
+
+
+
+\membersection{wxGrid::SelectionToDeviceRect}\label{wxgridselectiontodevicerect}
+
+\constfunc{wxRect}{SelectionToDeviceRect}{\void}
+
+This function returns the rectangle that encloses the selected cells
+in device coords and clipped to the client size of the grid window.
+
+
+
+\membersection{wxGrid::SelectRow}\label{wxgridselectrow}
+
+\func{void}{SelectRow}{\param{int }{row}, \param{bool }{addToSelected = false}}
+
+Selects the specified row. If addToSelected is false then any existing selection will be
+deselected; if true the row will be added to the existing selection.
+
+
+
+\membersection{wxGrid::SetCellAlignment}\label{wxgridsetcellalignment}
+
+\func{void}{SetCellAlignment}{\param{int }{row}, \param{int }{col}, \param{int }{horiz}, \param{int }{vert}}
+
+\func{void}{SetCellAlignment}{\param{int }{align}, \param{int }{row}, \param{int }{col}}
+
+Sets the horizontal and vertical alignment for grid cell text at the specified location.
+
+Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT. \\
+Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
+
+
+
+\membersection{wxGrid::SetCellBackgroundColour}\label{wxgridsetcellbackgroundcolour}
+
+\func{void}{SetCellBackgroundColour}{\param{int }{row}, \param{int }{col}, \param{const wxColour\&}{ colour}}
+
+
+
+\membersection{wxGrid::SetCellEditor}\label{wxgridsetcelleditor}
+
+\func{void}{SetCellEditor}{\param{int }{row}, \param{int }{col}, \param{wxGridCellEditor* }{editor}}
+
+Sets the editor for the grid cell at the specified location.
+The grid will take ownership of the pointer.
+
+See \helpref{wxGridCellEditor}{wxgridcelleditor} and
+the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
+
+
+
+\membersection{wxGrid::SetCellFont}\label{wxgridsetcellfont}
+
+\func{void}{SetCellFont}{\param{int }{row}, \param{int }{col}, \param{const wxFont\&}{ font}}
+
+Sets the font for text in the grid cell at the specified location.
+
+
+
+\membersection{wxGrid::SetCellRenderer}\label{wxgridsetcellrenderer}
+
+\func{void}{SetCellRenderer}{\param{int }{row}, \param{int }{col}, \param{wxGridCellRenderer* }{renderer}}
+
+Sets the renderer for the grid cell at the specified location.
+The grid will take ownership of the pointer.
+
+See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
+the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
+
+
+
+\membersection{wxGrid::SetCellTextColour}\label{wxgridsetcelltextcolour}
+
+\func{void}{SetCellTextColour}{\param{int }{row}, \param{int }{col}, \param{const wxColour\&}{ colour}}
+
+\func{void}{SetCellTextColour}{\param{const wxColour\& }{val}, \param{int }{row}, \param{int }{col}}
+
+\func{void}{SetCellTextColour}{\param{const wxColour\& }{colour}}
+
+Sets the text colour for the grid cell at the specified location.
+
+
+
+\membersection{wxGrid::SetCellValue}\label{wxgridsetcellvalue}
+
+\func{void}{SetCellValue}{\param{int }{row}, \param{int }{col}, \param{const wxString\& }{s}}
+
+\func{void}{SetCellValue}{\param{const wxGridCellCoords\& }{coords}, \param{const wxString\& }{s}}
+
+\func{void}{SetCellValue}{\param{const wxString\& }{val}, \param{int }{row}, \param{int }{col}}
+
+Sets the string value for the cell at the specified location. For simple applications where a
+grid object automatically uses a default grid table of string values you use this function together
+with \helpref{wxGrid::GetCellValue}{wxgridgetcellvalue} 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.
+
+The last form is for backward compatibility only.
+
+See \helpref{wxGridTableBase::CanSetValueAs}{wxgridtablebasecangetvalueas}
+and the \helpref{wxGrid overview}{gridoverview} for more information.
+
+
+
+\membersection{wxGrid::SetColAttr}\label{wxgridsetcolattr}
+
+\func{void}{SetColAttr}{\param{int }{col}, \param{wxGridCellAttr* }{attr}}
+
+Sets the cell attributes for all cells in the specified column.
+
+For more information about controlling grid cell attributes see the
+\helpref{wxGridCellAttr}{wxgridcellattr} cell attribute class and the
+\helpref{wxGrid classes overview}{gridoverview}.
+
+
+
+\membersection{wxGrid::SetColFormatBool}\label{wxgridsetcolformatbool}
+
+\func{void}{SetColFormatBool}{\param{int }{col}}
+
+Sets the specified column to display boolean values. wxGrid displays boolean values with a checkbox.
+
+
+
+\membersection{wxGrid::SetColFormatNumber}\label{wxgridsetcolformatnumber}
+
+\func{void}{SetColFormatNumber}{\param{int }{col}}
+
+Sets the specified column to display integer values.
+
+
+
+\membersection{wxGrid::SetColFormatFloat}\label{wxgridsetcolformatfloat}
+
+\func{void}{SetColFormatFloat}{\param{int }{col}, \param{int }{width = -1}, \param{int }{precision = -1}}
+
+Sets the specified column to display floating point values with the given width and precision.
+
+
+
+\membersection{wxGrid::SetColFormatCustom}\label{wxgridsetcolformatcustom}
+
+\func{void}{SetColFormatCustom}{\param{int }{col}, \param{const wxString\& }{typeName}}
+
+Sets the specified column to display data in a custom format.
+See the \helpref{wxGrid overview}{gridoverview} for more information on working
+with custom data types.
+
+
+
+\membersection{wxGrid::SetColLabelAlignment}\label{wxgridsetcollabelalignment}
+
+\func{void}{SetColLabelAlignment}{\param{int }{horiz}, \param{int }{vert}}
+
+Sets the horizontal and vertical alignment of column label text.
+
+Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
+
+Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
+
+
+
+\membersection{wxGrid::SetColLabelSize}\label{wxgridsetcollabelsize}
+
+\func{void}{SetColLabelSize}{\param{int }{height}}
+
+Sets the height of the column labels.
+
+If \arg{height} equals to \texttt{wxGRID\_AUTOSIZE} then height is calculated automatically
+so that no label is truncated. Note that this could be slow for a large table.
+
+
+
+\membersection{wxGrid::SetColLabelValue}\label{wxgridsetcollabelvalue}
+
+\func{void}{SetColLabelValue}{\param{int }{col}, \param{const wxString\&}{ value}}
+
+Set the value for the given column label. If you are using a derived grid table you must
+override \helpref{wxGridTableBase::SetColLabelValue}{wxgridtablebasesetcollabelvalue}
+for this to have any effect.
+
+
+
+\membersection{wxGrid::SetColMinimalWidth}\label{wxgridsetcolminimalwidth}
+
+\func{void}{SetColMinimalWidth}{\param{int }{col}, \param{int }{width}}
+
+Sets the minimal width for the specified column. This should normally be called when creating the grid
+because it will not resize a column that is already narrower than the minimal width.
+The width argument must be higher than the minimimal acceptable column width, see
+\helpref{wxGrid::GetColMinimalAcceptableWidth}{wxgridgetcolminimalacceptablewidth}.
+
+
+
+\membersection{wxGrid::SetColMinimalAcceptableWidth}\label{wxgridsetcolminimalacceptablewidth}
+
+\func{void}{SetColMinimalAcceptableWidth}{\param{int }{width}}
+
+This modifies the minimum column width that can be handled correctly. Specifying a low value here
+allows smaller grid cells to be dealt with correctly. Specifying a value here which is much smaller
+than the actual minimum size will incur a performance penalty in the functions which perform
+grid cell index lookup on the basis of screen coordinates.
+This should normally be called when creating the grid because it will not resize existing columns
+with sizes smaller than the value specified here.
+
+
+
+\membersection{wxGrid::SetColPos}\label{wxgridsetcolpos}
+
+\func{void}{SetColPos}{\param{int }{colID}, \param{int }{newPos}}
+
+Sets the position of the specified column.
+
+
+
+\membersection{wxGrid::SetColSize}\label{wxgridsetcolsize}
+
+\func{void}{SetColSize}{\param{int }{col}, \param{int }{width}}
+
+Sets the width of the specified column.
+
+This function does not refresh the grid. If you are calling it outside of a BeginBatch / EndBatch
+block you can use \helpref{wxGrid::ForceRefresh}{wxgridforcerefresh} to see the changes.
+
+Automatically sizes the column to fit its contents. If setAsMin is true the calculated width will
+also be set as the minimal width for the column.
+
+\wxheading{Note}\\
+wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
+The memory requirements for this could become prohibitive if your grid is very large.
+
+
+
+\membersection{wxGrid::SetDefaultCellAlignment}\label{wxgridsetdefaultcellalignment}
+
+\func{void}{SetDefaultCellAlignment}{\param{int }{horiz}, \param{int }{vert}}
+
+Sets the default horizontal and vertical alignment for grid cell text.
+
+Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
+
+Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
+
+
+
+\membersection{wxGrid::SetDefaultCellBackgroundColour}\label{wxgridsetdefaultcellbackgroundcolour}
+
+\func{void}{SetDefaultCellBackgroundColour}{\param{const wxColour\&}{ colour}}
+
+Sets the default background colour for grid cells.
+
+
+
+\membersection{wxGrid::SetDefaultCellFont}\label{wxgridsetdefaultcellfont}
+
+\func{void}{SetDefaultCellFont}{\param{const wxFont\&}{ font}}
+
+Sets the default font to be used for grid cell text.
+
+
+
+\membersection{wxGrid::SetDefaultCellTextColour}\label{wxgridsetdefaultcelltextcolour}
+
+\func{void}{SetDefaultCellTextColour}{\param{const wxColour\&}{ colour}}
+
+Sets the current default colour for grid cell text.
+
+
+
+\membersection{wxGrid::SetDefaultEditor}\label{wxgridsetdefaulteditor}
+
+\func{void}{SetDefaultEditor}{\param{wxGridCellEditor* }{editor}}
+
+Sets the default editor for grid cells. The grid will take ownership of the pointer.
+
+See \helpref{wxGridCellEditor}{wxgridcelleditor} and
+the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
+
+
+
+\membersection{wxGrid::SetDefaultRenderer}\label{wxgridsetdefaultrenderer}
+
+\func{void}{SetDefaultRenderer}{\param{wxGridCellRenderer* }{renderer}}
+
+Sets the default renderer for grid cells. The grid will take ownership of the pointer.
+
+See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
+the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
+
+
+
+\membersection{wxGrid::SetDefaultColSize}\label{wxgridsetdefaultcolsize}
+
+\func{void}{SetDefaultColSize}{\param{int }{width}, \param{bool }{resizeExistingCols = false}}
+
+Sets the default width for columns in the grid. This will only affect columns subsequently added to
+the grid unless resizeExistingCols is true.
+
+
+
+\membersection{wxGrid::SetDefaultRowSize}\label{wxgridsetdefaultrowsize}
+
+\func{void}{SetDefaultRowSize}{\param{int }{height}, \param{bool }{resizeExistingRows = false}}
+
+Sets the default height for rows in the grid. This will only affect rows subsequently added
+to the grid unless resizeExistingRows is true.
+
+
+
+\membersection{wxGrid::SetGridCursor}\label{wxgridsetgridcursor}
+
+\func{void}{SetGridCursor}{\param{int }{row}, \param{int }{col}}
+
+Set the grid cursor to the specified cell.
+This function calls \helpref{wxGrid::MakeCellVisible}{wxgridmakecellvisible}.
+
+
+
+\membersection{wxGrid::SetGridLineColour}\label{wxgridsetgridlinecolour}
+
+\func{void}{SetGridLineColour}{\param{const wxColour\&}{colour}}
+
+Sets the colour used to draw grid lines.
+
+
+
+\membersection{wxGrid::SetLabelBackgroundColour}\label{wxgridsetlabelbackgroundcolour}
+
+\func{void}{SetLabelBackgroundColour}{\param{const wxColour\&}{ colour}}
+
+Sets the background colour for row and column labels.
+
+
+
+\membersection{wxGrid::SetLabelFont}\label{wxgridsetlabelfont}
+
+\func{void}{SetLabelFont}{\param{const wxFont\&}{ font}}
+
+Sets the font for row and column labels.
+
+
+
+\membersection{wxGrid::SetLabelTextColour}\label{wxgridsetlabeltextcolour}
+
+\func{void}{SetLabelTextColour}{\param{const wxColour\&}{ colour}}
+
+Sets the colour for row and column label text.
+
+
+
+\membersection{wxGrid::SetMargins}\label{wxgridsetmargins}
+
+\func{void}{SetMargins}{\param{int }{extraWidth}, \param{int }{extraHeight}}
+
+A grid may occupy more space than needed for its rows/columns. This
+function allows to set how big this extra space is
+
+
+
+\membersection{wxGrid::SetOrCalcColumnSizes}\label{wxgridsetorcalccolumnsizes}
+
+\func{int}{SetOrCalcColumnSizes}{\param{bool }{calcOnly}, \param{bool }{setAsMin = true}}
+
+Common part of AutoSizeColumn/Row() and GetBestSize()
+
+
+
+\membersection{wxGrid::SetOrCalcRowSizes}\label{wxgridsetorcalcrowsizes}
+
+\func{int}{SetOrCalcRowSizes}{\param{bool }{calcOnly}, \param{bool }{setAsMin = true}}
+
+
+
+\membersection{wxGrid::SetReadOnly}\label{wxgridsetreadonly}
+
+\func{void}{SetReadOnly}{\param{int }{row}, \param{int }{col}, \param{bool }{isReadOnly = true}}
+
+Makes the cell at the specified location read-only or editable.
+See also \helpref{wxGrid::IsReadOnly}{wxgridisreadonly}.
+
+
+
+\membersection{wxGrid::SetRowAttr}\label{wxgridsetrowattr}
+
+\func{void}{SetRowAttr}{\param{int }{row}, \param{wxGridCellAttr* }{attr}}
+
+Sets the cell attributes for all cells in the specified row.
+See the \helpref{wxGridCellAttr}{wxgridcellattr} class for more information
+about controlling cell attributes.
+
+
+
+\membersection{wxGrid::SetRowLabelAlignment}\label{wxgridsetrowlabelalignment}
+
+\func{void}{SetRowLabelAlignment}{\param{int }{horiz}, \param{int }{vert}}
+
+Sets the horizontal and vertical alignment of row label text.
+
+Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
+
+Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
+
+
+
+\membersection{wxGrid::SetRowLabelSize}\label{wxgridsetrowlabelsize}
+
+\func{void}{SetRowLabelSize}{\param{int }{width}}
+
+Sets the width of the row labels.
+
+If \arg{width} equals \texttt{wxGRID\_AUTOSIZE} then width is calculated automatically
+so that no label is truncated. Note that this could be slow for a large table.
+
+
+
+\membersection{wxGrid::SetRowLabelValue}\label{wxgridsetrowlabelvalue}
+
+\func{void}{SetRowLabelValue}{\param{int }{row}, \param{const wxString\&}{ value}}
+
+Set the value for the given row label. If you are using a derived grid table you must
+override \helpref{wxGridTableBase::SetRowLabelValue}{wxgridtablebasesetrowlabelvalue}
+for this to have any effect.
+
+
+
+\membersection{wxGrid::SetRowMinimalHeight}\label{wxgridsetrowminimalheight}
+
+\func{void}{SetRowMinimalHeight}{\param{int }{row}, \param{int }{height}}
+
+Sets the minimal height for the specified row. This should normally be called when creating the grid
+because it will not resize a row that is already shorter than the minimal height.
+The height argument must be higher than the minimimal acceptable row height, see
+\helpref{wxGrid::GetRowMinimalAcceptableHeight}{wxgridgetrowminimalacceptableheight}.
+
+
+
+\membersection{wxGrid::SetRowMinimalAcceptableHeight}\label{wxgridsetrowminimalacceptableheight}
+
+\func{void}{SetRowMinimalAcceptableHeight}{\param{int }{height}}
+
+This modifies the minimum row width that can be handled correctly. Specifying a low value here
+allows smaller grid cells to be dealt with correctly. Specifying a value here which is much smaller
+than the actual minimum size will incur a performance penalty in the functions which perform
+grid cell index lookup on the basis of screen coordinates.
+This should normally be called when creating the grid because it will not resize existing rows
+with sizes smaller than the value specified here.
+
+
+
+\membersection{wxGrid::SetRowSize}\label{wxgridsetrowsize}
+
+\func{void}{SetRowSize}{\param{int }{row}, \param{int }{height}}
+
+Sets the height of the specified row.
+
+This function does not refresh the grid. If you are calling it outside of a BeginBatch / EndBatch
+block you can use \helpref{wxGrid::ForceRefresh}{wxgridforcerefresh} to see the changes.
+
+Automatically sizes the column to fit its contents. If setAsMin is true the calculated width will
+also be set as the minimal width for the column.
+
+\wxheading{Note}
+
+wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
+The memory requirements for this could become prohibitive if your grid is very large.
+
+
+
+\membersection{wxGrid::SetScrollLineX}\label{wxgridsetscrolllinex}
+
+\func{void}{SetScrollLineX}{\param{int }{x}}
+
+Sets the number of pixels per horizontal scroll increment. The default is 15.
+Sometimes wxGrid has trouble setting the scrollbars correctly due to rounding
+errors: setting this to 1 can help.
+
+\wxheading{See also}
+
+\helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
+\helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
+\helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
+
+
+
+\membersection{wxGrid::SetScrollLineY}\label{wxgridsetscrollliney}
+
+\func{void}{SetScrollLineY}{\param{int }{y}}
+
+Sets the number of pixels per vertical scroll increment. The default is 15.
+Sometimes wxGrid has trouble setting the scrollbars correctly due to rounding
+errors: setting this to 1 can help.
+
+\wxheading{See also}
+
+\helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
+\helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
+\helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex}
+
+
+
+\membersection{wxGrid::SetSelectionBackground}\label{wxgridsetselectionbackground}
+
+\func{void}{SetSelectionBackground}{\param{const wxColour\& }{c}}
+
+
+
+\membersection{wxGrid::SetSelectionForeground}\label{wxgridsetselectionforeground}
+
+\func{void}{SetSelectionForeground}{\param{const wxColour\& }{c}}
+
+
+
+\membersection{wxGrid::SetSelectionMode}\label{wxgridsetselectionmode}
+
+\func{void}{SetSelectionMode}{\param{wxGrid::wxGridSelectionModes}{ selmode}}
+
+Set the selection behaviour of the grid.
+
+\wxheading{Parameters}
+
+\docparam{wxGrid::wxGridSelectCells}{The default mode where individual cells are selected.}
+
+\docparam{wxGrid::wxGridSelectRows}{Selections will consist of whole rows.}
+
+\docparam{wxGrid::wxGridSelectColumns}{Selections will consist of whole columns.}
+
+
+
+\membersection{wxGrid::SetTable}\label{wxgridsettable}
+
+\func{bool}{SetTable}{\param{wxGridTableBase* }{table}, \param{bool }{takeOwnership = false}, \param{wxGrid::wxGridSelectionModes }{selmode = wxGrid::wxGridSelectCells}}
+
+Passes a pointer to a custom grid table to be used by the grid. This should be called
+after the grid constructor and before using the grid object. If takeOwnership is set to
+true then the table will be deleted by the wxGrid destructor.
+
+Use this function instead of \helpref{wxGrid::CreateGrid}{wxgridcreategrid} when your
+application involves complex or non-string data or data sets that are too large to fit
+wholly in memory.
+
+
+\membersection{wxGrid::SetUseNativeColLabels}\label{wxgridsetsenativecollabels}
+
+\func{void}{SetUseNativeColLabels}{\param{bool }{native= true}}
+
+Call this in order to make the column labels use a native look by using
+\helpref{wxRenderer::DrawHeaderButton}{wxrenderernativedrawheaderbutton}
+internally. There is no equivalent method for drawing row columns as
+there is not native look for that. This option is useful when using
+wxGrid for displaying tables and not as a spread-sheet.
+
+\membersection{wxGrid::ShowCellEditControl}\label{wxgridshowcelleditcontrol}
+
+\func{void}{ShowCellEditControl}{\void}
+
+Displays the in-place cell edit control for the current cell.
+
+
+
+\membersection{wxGrid::XToCol}\label{wxgridxtocol}
+
+\constfunc{int}{XToCol}{\param{int }{x}, \param{bool }{clipToMinMax = false}}
+
+\wxheading{Parameters}
+\docparam{x}{The x position to evaluate.}
+\docparam{clipToMinMax}{If true, rather than returning wxNOT\_FOUND, it returns either the first or last column depending on whether x is too far to the left or right respectively.}
+
+\wxheading{Return value}
+The grid column that corresponds to the logical x coordinate. Returns
+{\tt wxNOT\_FOUND} if there is no column at the x position.