View Source wxGrid (wx v2.4.2)

Functions for wxGrid class

wxGrid 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, wxGrid 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 wxGrid.

A wxGridTableBase (not implemented in wx) class holds the actual data to be displayed by a wxGrid class. One or more wxGrid classes may act as a view for one table class. The default table class is called wxGridStringTable (not implemented in wx) and holds an array of strings. An instance of such a class is created by createGrid/4.

wxGridCellRenderer is the abstract base class for rendering contents in a cell. The following renderers are predefined:

The look of a cell can be further defined using wxGridCellAttr. An object of this type may be returned by wxGridTableBase::GetAttr() (not implemented in wx).

wxGridCellEditor is the abstract base class for editing the value of a cell. The following editors are predefined:

Please see wxGridEvent, wxGridSizeEvent (not implemented in wx), wxGridRangeSelectEvent (not implemented in wx), and wxGridEditorCreatedEvent (not implemented in wx) for the documentation of all event types you can use with wxGrid.

See: Overview grid, wxGridUpdateLocker (not implemented in wx)

This class is derived (and can use functions) from: wxScrolledWindow wxPanel wxWindow wxEvtHandler

wxWidgets docs: wxGrid

Summary

Functions

Appends one or more new columns to the right of the grid.

Appends one or more new rows to the bottom of the grid.

Automatically sets the height and width of all rows and columns to fit their contents.

Automatically sizes the column to fit its contents.

Automatically sizes all columns to fit their contents.

Automatically sizes the row to fit its contents.

Automatically sizes all rows to fit their contents.

Increments the grid's batch count.

Convert grid cell coordinates to grid window pixel coordinates.

Return true if the dragging of cells is enabled or false otherwise.

Returns true if columns can be moved by dragging with the mouse.

Returns true if the given column can be resized by dragging with the mouse.

Return true if row edges inside the grid can be dragged to resize the rows.

Return true if the dragging of grid lines to resize rows and columns is enabled or false otherwise.

Returns true if the given row can be resized by dragging with the mouse.

Returns true if the in-place edit control for the current grid cell can be used and false otherwise.

Return the rectangle corresponding to the grid cell's size and position in logical coordinates.

Return the rectangle corresponding to the grid cell's size and position in logical coordinates.

Clears all data in the underlying grid table and repaints the grid.

Deselects all cells that are currently selected.

Creates a grid with the specified initial number of rows and columns.

Deletes one or more columns from a grid starting at the specified position.

Deletes one or more rows from a grid starting at the specified position.

Destructor.

Disables in-place editing of grid cells.

Disables column sizing by dragging with the mouse.

Disable mouse dragging of grid lines to resize rows and columns.

Disables row sizing by dragging with the mouse.

Enables or disables in-place editing of grid cell data.

Enables or disables column sizing by dragging with the mouse.

Enables or disables row and column resizing by dragging gridlines with the mouse.

Enables or disables row sizing by dragging with the mouse.

Makes the grid globally editable or read-only.

Turns the drawing of grid lines on or off.

Decrements the grid's batch count.

Overridden wxWindow method.

Causes immediate repainting of the grid.

Returns the number of times that beginBatch/1 has been called without (yet) matching calls to endBatch/1.

Sets the arguments to the horizontal and vertical text alignment values for the grid cell at the specified location.

Returns the background colour of the cell at the specified location.

Returns a pointer to the editor for the cell at the specified location.

Returns the font for text in the grid cell at the specified location.

Returns a pointer to the renderer for the grid cell at the specified location.

Returns the text colour for the grid cell at the specified location.

Returns the string contained in the cell at the specified location.

Returns the string contained in the cell at the specified location.

Sets the arguments to the current column label alignment values.

Returns the current height of the column labels.

Returns the specified column label.

Returns the minimal width to which a column may be resized.

Returns the default cell alignment.

Returns the current default background colour for grid cells.

Returns the current default font for grid cell text.

Returns the current default colour for grid cell text.

Returns the default height for column labels.

Returns the current default width for grid columns.

Returns a pointer to the current default grid cell editor.

Returns the default editor for the specified cell.

Returns the default editor for the specified cell.

Returns the default editor for the cells containing values of the given type.

Returns a pointer to the current default grid cell renderer.

Returns the default renderer for the given cell.

Returns the default renderer for the cell containing values of the given type.

Returns the default width for the row labels.

Returns the current default height for grid rows.

Return the column labels window.

Return the window in the top left grid corner.

Returns the current grid cell column position.

Returns the current grid cell row position.

Returns the colour used for grid lines.

Return the row labels window.

Return the main grid window containing the grid cells.

Returns the colour used for the background of row and column labels.

Returns the font used for row and column labels.

Returns the colour used for row and column label text.

Returns the total number of grid columns.

Returns the total number of grid rows.

Returns the attribute for the given cell creating one if necessary.

Returns the alignment used for row labels.

Returns the current width of the row labels.

Returns the specified row label.

Returns the minimal size to which rows can be resized.

Returns the height of the specified row.

Returns the number of pixels per horizontal scroll increment.

Returns the number of pixels per vertical scroll increment.

Returns an array of individually selected cells.

Returns an array of selected columns.

Returns an array of selected rows.

Returns the colour used for drawing the selection background.

Returns an array of the bottom right corners of blocks of selected cells.

Returns an array of the top left corners of blocks of selected cells.

Returns the colour used for drawing the selection foreground.

Returns true if drawing of grid lines is turned on, false otherwise.

Hides the in-place cell edit control.

Inserts one or more new columns into a grid with the first new column at the specified position.

Inserts one or more new rows into a grid with the first new row at the specified position.

Returns true if the in-place edit control is currently enabled.

Returns true if the current cell is read-only.

Returns false if the whole grid has been set as read-only or true otherwise.

Returns true if the given cell is selected.

Returns true if the given cell is selected.

Returns true if the cell at the specified location can't be edited.

Returns true if there are currently any selected cells, rows, columns or blocks.

Returns true if a cell is either entirely or at least partially visible in the grid window.

Returns true if a cell is either entirely or at least partially visible in the grid window.

Brings the specified cell into the visible grid cell area with minimal scrolling.

Brings the specified cell into the visible grid cell area with minimal scrolling.

Moves the grid cursor down by one row.

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.

Moves the grid cursor left by one column.

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.

Moves the grid cursor right by one column.

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.

Moves the grid cursor up by one row.

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.

Moves the grid cursor down by some number of rows so that the previous bottom visible row becomes the top visible row.

Moves the grid cursor up by some number of rows so that the previous top visible row becomes the bottom visible row.

Default constructor.

Constructor creating the grid window.

Sets the value of the current grid cell to the current in-place edit control value.

Selects all cells in the grid.

Selects a rectangular block of cells.

Selects a rectangular block of cells.

Selects the specified column.

Selects the specified row.

Sets the horizontal and vertical alignment for grid cell text at the specified location.

Set the background colour for the given cell or all cells by default.

Sets the editor for the grid cell at the specified location.

Sets the font for text in the grid cell at the specified location.

Sets the renderer for the grid cell at the specified location.

Sets the text colour for the given cell.

Sets the string value for the cell at the specified location.

Sets the string value for the cell at the specified location.

Sets the cell attributes for all cells in the specified column.

Sets the specified column to display boolean values.

Sets the specified column to display data in a custom format.

Sets the specified column to display floating point values with the given width and precision.

Sets the specified column to display integer values.

Sets the horizontal and vertical alignment of column label text.

Sets the height of the column labels.

Set the value for the given column label.

Sets the minimal width to which the user can resize columns.

Sets the minimal width for the specified column col.

Sets the width of the specified column.

Sets the default horizontal and vertical alignment for grid cell text.

Sets the default background colour for grid cells.

Sets the default font to be used for grid cell text.

Sets the current default colour for grid cell text.

Sets the default width for columns in the grid.

Sets the default editor for grid cells.

Sets the default renderer for grid cells.

Sets the default height for rows in the grid.

Set the grid cursor to the specified cell.

Set the grid cursor to the specified cell.

Sets the colour used to draw grid lines.

Sets the background colour for row and column labels.

Sets the font for row and column labels.

Sets the colour for row and column label text.

Sets the extra margins used around the grid area.

Makes the cell at the specified location read-only or editable.

Sets the cell attributes for all cells in the specified row.

Sets the horizontal and vertical alignment of row label text.

Sets the width of the row labels.

Sets the value for the given row label.

Sets the minimal row height used by default.

Sets the minimal height for the specified row.

Sets the height of the specified row.

Sets the number of pixels per horizontal scroll increment.

Sets the number of pixels per vertical scroll increment.

Set the colour to be used for drawing the selection background.

Set the colour to be used for drawing the selection foreground.

Set the selection behaviour of the grid.

Displays the active in-place cell edit control for the current cell after it was hidden.

Returns the column at the given pixel position depending on the window.

Returns the column whose right hand edge is close to the given logical x position.

Returns the row whose bottom edge is close to the given logical y position.

Returns the grid row that corresponds to the logical y coordinate.

Types

-type wxGrid() :: wx:wx_object().

Functions

-spec appendCols(This) -> boolean() when This :: wxGrid().
-spec appendCols(This, [Option]) -> boolean()
                    when This :: wxGrid(), Option :: {numCols, integer()} | {updateLabels, boolean()}.

Appends one or more new columns to the right of the grid.

The updateLabels argument is not used at present. If you are using a derived grid table class you will need to override wxGridTableBase::AppendCols() (not implemented in wx). See insertCols/2 for further information.

Return: true on success or false if appending columns failed.

-spec appendRows(This) -> boolean() when This :: wxGrid().
-spec appendRows(This, [Option]) -> boolean()
                    when This :: wxGrid(), Option :: {numRows, integer()} | {updateLabels, boolean()}.

Appends one or more new rows to the bottom of the grid.

The updateLabels argument is not used at present. If you are using a derived grid table class you will need to override wxGridTableBase::AppendRows() (not implemented in wx). See insertRows/2 for further information.

Return: true on success or false if appending rows failed.

-spec autoSize(This) -> ok when This :: wxGrid().

Automatically sets the height and width of all rows and columns to fit their contents.

Link to this function

autoSizeColumn(This, Col)

View Source
-spec autoSizeColumn(This, Col) -> ok when This :: wxGrid(), Col :: integer().
-spec autoSizeColumn(This, Col, [Option]) -> ok
                        when This :: wxGrid(), Col :: integer(), Option :: {setAsMin, boolean()}.

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.

-spec autoSizeColumns(This) -> ok when This :: wxGrid().
-spec autoSizeColumns(This, [Option]) -> ok when This :: wxGrid(), Option :: {setAsMin, boolean()}.

Automatically sizes all columns to fit their contents.

If setAsMin is true the calculated widths will also be set as the minimal widths for the columns.

-spec autoSizeRow(This, Row) -> ok when This :: wxGrid(), Row :: integer().
-spec autoSizeRow(This, Row, [Option]) -> ok
                     when This :: wxGrid(), Row :: integer(), Option :: {setAsMin, boolean()}.

Automatically sizes the row to fit its contents.

If setAsMin is true the calculated height will also be set as the minimal height for the row.

-spec autoSizeRows(This) -> ok when This :: wxGrid().
-spec autoSizeRows(This, [Option]) -> ok when This :: wxGrid(), Option :: {setAsMin, boolean()}.

Automatically sizes all rows to fit their contents.

If setAsMin is true the calculated heights will also be set as the minimal heights for the rows.

-spec beginBatch(This) -> ok when This :: wxGrid().

Increments the grid's batch count.

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 endBatch/1. Code that does a lot of grid modification can be enclosed between beginBatch/1 and endBatch/1 calls to avoid screen flicker. The final endBatch/1 call will cause the grid to be repainted.

Notice that you should use wxGridUpdateLocker (not implemented in wx) which ensures that there is always a matching endBatch/1 call for this beginBatch/1 if possible instead of calling this method directly.

Link to this function

blockToDeviceRect(This, TopLeft, BottomRight)

View Source
-spec blockToDeviceRect(This, TopLeft, BottomRight) ->
                           {X :: integer(), Y :: integer(), W :: integer(), H :: integer()}
                           when
                               This :: wxGrid(),
                               TopLeft :: {R :: integer(), C :: integer()},
                               BottomRight :: {R :: integer(), C :: integer()}.

Convert grid cell coordinates to grid window pixel coordinates.

This function returns the rectangle that encloses the block of cells limited by topLeft and bottomRight cell in device coords and clipped to the client size of the grid window.

Since: 3.1.3 Parameter gridWindow has been added.

See: cellToRect/3

-spec canDragCell(This) -> boolean() when This :: wxGrid().

Return true if the dragging of cells is enabled or false otherwise.

-spec canDragColMove(This) -> boolean() when This :: wxGrid().

Returns true if columns can be moved by dragging with the mouse.

Columns can be moved by dragging on their labels.

Link to this function

canDragColSize(This, Col)

View Source
-spec canDragColSize(This, Col) -> boolean() when This :: wxGrid(), Col :: integer().

Returns true if the given column can be resized by dragging with the mouse.

This function returns true if resizing the columns interactively is globally enabled, i.e. if disableDragColSize/1 hadn't been called, and if this column wasn't explicitly marked as non-resizable with DisableColResize() (not implemented in wx).

Link to this function

canDragGridRowEdges(This)

View Source
-spec canDragGridRowEdges(This) -> boolean() when This :: wxGrid().

Return true if row edges inside the grid can be dragged to resize the rows.

See: canDragGridSize/1, canDragRowSize/2

Since: 3.1.4

-spec canDragGridSize(This) -> boolean() when This :: wxGrid().

Return true if the dragging of grid lines to resize rows and columns is enabled or false otherwise.

Link to this function

canDragRowSize(This, Row)

View Source
-spec canDragRowSize(This, Row) -> boolean() when This :: wxGrid(), Row :: integer().

Returns true if the given row can be resized by dragging with the mouse.

This is the same as canDragColSize/2 but for rows.

Link to this function

canEnableCellControl(This)

View Source
-spec canEnableCellControl(This) -> boolean() when This :: wxGrid().

Returns true if the in-place edit control for the current grid cell can be used and false otherwise.

This function always returns false for the read-only cells.

Link to this function

cellToRect(This, Coords)

View Source
-spec cellToRect(This, Coords) -> {X :: integer(), Y :: integer(), W :: integer(), H :: integer()}
                    when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.

Return the rectangle corresponding to the grid cell's size and position in logical coordinates.

See: blockToDeviceRect/3

Link to this function

cellToRect(This, Row, Col)

View Source
-spec cellToRect(This, Row, Col) -> {X :: integer(), Y :: integer(), W :: integer(), H :: integer()}
                    when This :: wxGrid(), Row :: integer(), Col :: integer().

Return the rectangle corresponding to the grid cell's size and position in logical coordinates.

See: blockToDeviceRect/3

-spec clearGrid(This) -> ok when This :: wxGrid().

Clears all data in the underlying grid table and repaints the grid.

The table is not deleted by this function. If you are using a derived table class then you need to override wxGridTableBase::Clear() (not implemented in wx) for this function to have any effect.

-spec clearSelection(This) -> ok when This :: wxGrid().

Deselects all cells that are currently selected.

Link to this function

createGrid(This, NumRows, NumCols)

View Source
-spec createGrid(This, NumRows, NumCols) -> boolean()
                    when This :: wxGrid(), NumRows :: integer(), NumCols :: integer().
-spec createGrid(This, NumRows, NumCols, [Option]) -> boolean()
                    when
                        This :: wxGrid(),
                        NumRows :: integer(),
                        NumCols :: integer(),
                        Option :: {selmode, wx:wx_enum()}.

Creates a grid with the specified initial number of rows and columns.

Call this directly after the grid constructor. When you use this function wxGrid will create and manage a simple table of string values for you. All of the grid data will be stored in memory.

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 SetTable() (not implemented in wx) or AssignTable() (not implemented in wx).

-spec deleteCols(This) -> boolean() when This :: wxGrid().
-spec deleteCols(This, [Option]) -> boolean()
                    when
                        This :: wxGrid(),
                        Option :: {pos, integer()} | {numCols, integer()} | {updateLabels, boolean()}.

Deletes one or more columns from a grid starting at the specified position.

The updateLabels argument is not used at present. If you are using a derived grid table class you will need to override wxGridTableBase::DeleteCols() (not implemented in wx). See insertCols/2 for further information.

Return: true on success or false if deleting columns failed.

-spec deleteRows(This) -> boolean() when This :: wxGrid().
-spec deleteRows(This, [Option]) -> boolean()
                    when
                        This :: wxGrid(),
                        Option :: {pos, integer()} | {numRows, integer()} | {updateLabels, boolean()}.

Deletes one or more rows from a grid starting at the specified position.

The updateLabels argument is not used at present. If you are using a derived grid table class you will need to override wxGridTableBase::DeleteRows() (not implemented in wx). See insertRows/2 for further information.

Return: true on success or false if deleting rows failed.

-spec destroy(This :: wxGrid()) -> ok.

Destructor.

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 SetTable() (not implemented in wx)).

Link to this function

disableCellEditControl(This)

View Source
-spec disableCellEditControl(This) -> ok when This :: wxGrid().

Disables in-place editing of grid cells.

Equivalent to calling EnableCellEditControl(false).

Link to this function

disableDragColSize(This)

View Source
-spec disableDragColSize(This) -> ok when This :: wxGrid().

Disables column sizing by dragging with the mouse.

Equivalent to passing false to enableDragColSize/2.

Link to this function

disableDragGridSize(This)

View Source
-spec disableDragGridSize(This) -> ok when This :: wxGrid().

Disable mouse dragging of grid lines to resize rows and columns.

Equivalent to passing false to enableDragGridSize/2

Link to this function

disableDragRowSize(This)

View Source
-spec disableDragRowSize(This) -> ok when This :: wxGrid().

Disables row sizing by dragging with the mouse.

Equivalent to passing false to enableDragRowSize/2.

Link to this function

enableCellEditControl(This)

View Source
-spec enableCellEditControl(This) -> ok when This :: wxGrid().
-spec enableCellEditControl(This, [Option]) -> ok when This :: wxGrid(), Option :: {enable, boolean()}.

Enables or disables in-place editing of grid cell data.

Enabling in-place editing generates wxEVT_GRID_EDITOR_SHOWN and, if it isn't vetoed by the application, shows the in-place editor which allows the user to change the cell value.

Disabling in-place editing does nothing if the in-place editor isn't currently shown, otherwise the wxEVT_GRID_EDITOR_HIDDEN event is generated but, unlike the "shown" event, it can't be vetoed and the in-place editor is dismissed unconditionally.

Note that it is an error to call this function if the current cell is read-only, use canEnableCellControl/1 to check for this precondition.

-spec enableDragColSize(This) -> ok when This :: wxGrid().
-spec enableDragColSize(This, [Option]) -> ok when This :: wxGrid(), Option :: {enable, boolean()}.

Enables or disables column sizing by dragging with the mouse.

See: DisableColResize() (not implemented in wx)

Link to this function

enableDragGridSize(This)

View Source
-spec enableDragGridSize(This) -> ok when This :: wxGrid().
-spec enableDragGridSize(This, [Option]) -> ok when This :: wxGrid(), Option :: {enable, boolean()}.

Enables or disables row and column resizing by dragging gridlines with the mouse.

-spec enableDragRowSize(This) -> ok when This :: wxGrid().
-spec enableDragRowSize(This, [Option]) -> ok when This :: wxGrid(), Option :: {enable, boolean()}.

Enables or disables row sizing by dragging with the mouse.

See: DisableRowResize() (not implemented in wx)

Link to this function

enableEditing(This, Edit)

View Source
-spec enableEditing(This, Edit) -> ok when This :: wxGrid(), Edit :: boolean().

Makes the grid globally editable or read-only.

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 wxGridCellAttr:setReadOnly/2. For single cells you can also use the shortcut function setReadOnly/4.

For more information about controlling grid cell attributes see the wxGridCellAttr class and the overview_grid.

-spec enableGridLines(This) -> ok when This :: wxGrid().
-spec enableGridLines(This, [Option]) -> ok when This :: wxGrid(), Option :: {enable, boolean()}.

Turns the drawing of grid lines on or off.

-spec endBatch(This) -> ok when This :: wxGrid().

Decrements the grid's batch count.

When the count is greater than zero repainting of the grid is suppressed. Each previous call to beginBatch/1 must be matched by a later call to endBatch/1. Code that does a lot of grid modification can be enclosed between beginBatch/1 and endBatch/1 calls to avoid screen flicker. The final endBatch/1 will cause the grid to be repainted.

See: wxGridUpdateLocker (not implemented in wx)

-spec fit(This) -> ok when This :: wxGrid().

Overridden wxWindow method.

-spec forceRefresh(This) -> ok when This :: wxGrid().

Causes immediate repainting of the grid.

Use this instead of the usual wxWindow:refresh/2.

-spec getBatchCount(This) -> integer() when This :: wxGrid().

Returns the number of times that beginBatch/1 has been called without (yet) matching calls to endBatch/1.

While the grid's batch count is greater than zero the display will not be updated.

Link to this function

getCellAlignment(This, Row, Col)

View Source
-spec getCellAlignment(This, Row, Col) -> {Horiz :: integer(), Vert :: integer()}
                          when This :: wxGrid(), Row :: integer(), Col :: integer().

Sets the arguments to the horizontal and vertical text alignment values for the grid cell at the specified location.

Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or wxALIGN_RIGHT.

Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.

Link to this function

getCellBackgroundColour(This, Row, Col)

View Source
-spec getCellBackgroundColour(This, Row, Col) -> wx:wx_colour4()
                                 when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns the background colour of the cell at the specified location.

Link to this function

getCellEditor(This, Row, Col)

View Source
-spec getCellEditor(This, Row, Col) -> wxGridCellEditor:wxGridCellEditor()
                       when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns a pointer to the editor for the cell at the specified location.

See wxGridCellEditor and the overview_grid for more information about cell editors and renderers.

The caller must call DecRef() on the returned pointer.

Link to this function

getCellFont(This, Row, Col)

View Source
-spec getCellFont(This, Row, Col) -> wxFont:wxFont()
                     when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns the font for text in the grid cell at the specified location.

Link to this function

getCellRenderer(This, Row, Col)

View Source
-spec getCellRenderer(This, Row, Col) -> wxGridCellRenderer:wxGridCellRenderer()
                         when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns a pointer to the renderer for the grid cell at the specified location.

See wxGridCellRenderer and the overview_grid for more information about cell editors and renderers.

The caller must call DecRef() on the returned pointer.

Link to this function

getCellTextColour(This, Row, Col)

View Source
-spec getCellTextColour(This, Row, Col) -> wx:wx_colour4()
                           when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns the text colour for the grid cell at the specified location.

Link to this function

getCellValue(This, Coords)

View Source
-spec getCellValue(This, Coords) -> unicode:charlist()
                      when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.

Returns the string contained in 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 setCellValue/4 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.

See wxGridTableBase::CanGetValueAs() (not implemented in wx) and the overview_grid for more information.

Link to this function

getCellValue(This, Row, Col)

View Source
-spec getCellValue(This, Row, Col) -> unicode:charlist()
                      when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns the string contained in 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 setCellValue/4 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.

See wxGridTableBase::CanGetValueAs() (not implemented in wx) and the overview_grid for more information.

Link to this function

getColLabelAlignment(This)

View Source
-spec getColLabelAlignment(This) -> {Horiz :: integer(), Vert :: integer()} when This :: wxGrid().

Sets the arguments to the current column label alignment values.

Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or wxALIGN_RIGHT.

Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.

-spec getColLabelSize(This) -> integer() when This :: wxGrid().

Returns the current height of the column labels.

Link to this function

getColLabelValue(This, Col)

View Source
-spec getColLabelValue(This, Col) -> unicode:charlist() when This :: wxGrid(), Col :: integer().

Returns the specified column label.

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 wxGridTableBase::GetColLabelValue() (not implemented in wx) to provide your own labels.

Link to this function

getColMinimalAcceptableWidth(This)

View Source
-spec getColMinimalAcceptableWidth(This) -> integer() when This :: wxGrid().

Returns the minimal width to which a column may be resized.

Use setColMinimalAcceptableWidth/2 to change this value globally or setColMinimalWidth/3 to do it for individual columns.

See: getRowMinimalAcceptableHeight/1

Link to this function

getDefaultCellAlignment(This)

View Source
-spec getDefaultCellAlignment(This) -> {Horiz :: integer(), Vert :: integer()} when This :: wxGrid().

Returns the default cell alignment.

Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or wxALIGN_RIGHT.

Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.

See: setDefaultCellAlignment/3

Link to this function

getDefaultCellBackgroundColour(This)

View Source
-spec getDefaultCellBackgroundColour(This) -> wx:wx_colour4() when This :: wxGrid().

Returns the current default background colour for grid cells.

Link to this function

getDefaultCellFont(This)

View Source
-spec getDefaultCellFont(This) -> wxFont:wxFont() when This :: wxGrid().

Returns the current default font for grid cell text.

Link to this function

getDefaultCellTextColour(This)

View Source
-spec getDefaultCellTextColour(This) -> wx:wx_colour4() when This :: wxGrid().

Returns the current default colour for grid cell text.

Link to this function

getDefaultColLabelSize(This)

View Source
-spec getDefaultColLabelSize(This) -> integer() when This :: wxGrid().

Returns the default height for column labels.

-spec getDefaultColSize(This) -> integer() when This :: wxGrid().

Returns the current default width for grid columns.

-spec getDefaultEditor(This) -> wxGridCellEditor:wxGridCellEditor() when This :: wxGrid().

Returns a pointer to the current default grid cell editor.

See wxGridCellEditor and the overview_grid for more information about cell editors and renderers.

Link to this function

getDefaultEditorForCell(This, C)

View Source
-spec getDefaultEditorForCell(This, C) -> wxGridCellEditor:wxGridCellEditor()
                                 when This :: wxGrid(), C :: {R :: integer(), C :: integer()}.

Returns the default editor for the specified cell.

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.

Notice that the same may be achieved in a usually simpler way by associating a custom editor with the given cell or cells.

The caller must call DecRef() on the returned pointer.

Link to this function

getDefaultEditorForCell(This, Row, Col)

View Source
-spec getDefaultEditorForCell(This, Row, Col) -> wxGridCellEditor:wxGridCellEditor()
                                 when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns the default editor for the specified cell.

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.

Notice that the same may be achieved in a usually simpler way by associating a custom editor with the given cell or cells.

The caller must call DecRef() on the returned pointer.

Link to this function

getDefaultEditorForType(This, TypeName)

View Source
-spec getDefaultEditorForType(This, TypeName) -> wxGridCellEditor:wxGridCellEditor()
                                 when This :: wxGrid(), TypeName :: unicode:chardata().

Returns the default editor for the cells containing values of the given type.

The base class version returns the editor which was associated with the specified typeName when it was registered registerDataType/4 but this function may be overridden to return something different. This allows overriding an editor used for one of the standard types.

The caller must call DecRef() on the returned pointer.

Link to this function

getDefaultRenderer(This)

View Source
-spec getDefaultRenderer(This) -> wxGridCellRenderer:wxGridCellRenderer() when This :: wxGrid().

Returns a pointer to the current default grid cell renderer.

See wxGridCellRenderer and the overview_grid for more information about cell editors and renderers.

The caller must call DecRef() on the returned pointer.

Link to this function

getDefaultRendererForCell(This, Row, Col)

View Source
-spec getDefaultRendererForCell(This, Row, Col) -> wxGridCellRenderer:wxGridCellRenderer()
                                   when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns the default renderer for the given cell.

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.

The caller must call DecRef() on the returned pointer.

Link to this function

getDefaultRendererForType(This, TypeName)

View Source
-spec getDefaultRendererForType(This, TypeName) -> wxGridCellRenderer:wxGridCellRenderer()
                                   when This :: wxGrid(), TypeName :: unicode:chardata().

Returns the default renderer for the cell containing values of the given type.

See: getDefaultEditorForType/2

Link to this function

getDefaultRowLabelSize(This)

View Source
-spec getDefaultRowLabelSize(This) -> integer() when This :: wxGrid().

Returns the default width for the row labels.

-spec getDefaultRowSize(This) -> integer() when This :: wxGrid().

Returns the current default height for grid rows.

Link to this function

getGridColLabelWindow(This)

View Source
-spec getGridColLabelWindow(This) -> wxWindow:wxWindow() when This :: wxGrid().

Return the column labels window.

This window is not shown if the columns labels were hidden using HideColLabels() (not implemented in wx).

Depending on whether UseNativeColHeader() (not implemented in wx) was called or not this can be either a wxHeaderCtrl (not implemented in wx) or a plain wxWindow. This function returns a valid window pointer in either case but in the former case you can also use GetGridColHeader() (not implemented in wx) to access it if you need wxHeaderCtrl-specific functionality.

Link to this function

getGridCornerLabelWindow(This)

View Source
-spec getGridCornerLabelWindow(This) -> wxWindow:wxWindow() when This :: wxGrid().

Return the window in the top left grid corner.

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 wxGrid however and can be used to select the entire grid.

-spec getGridCursorCol(This) -> integer() when This :: wxGrid().

Returns the current grid cell column position.

See: GetGridCursorCoords() (not implemented in wx)

-spec getGridCursorRow(This) -> integer() when This :: wxGrid().

Returns the current grid cell row position.

See: GetGridCursorCoords() (not implemented in wx)

-spec getGridLineColour(This) -> wx:wx_colour4() when This :: wxGrid().

Returns the colour used for grid lines.

See: GetDefaultGridLinePen() (not implemented in wx)

Link to this function

getGridRowLabelWindow(This)

View Source
-spec getGridRowLabelWindow(This) -> wxWindow:wxWindow() when This :: wxGrid().

Return the row labels window.

This window is not shown if the row labels were hidden using HideRowLabels() (not implemented in wx).

-spec getGridWindow(This) -> wxWindow:wxWindow() when This :: wxGrid().

Return the main grid window containing the grid cells.

This window is always shown.

Link to this function

getLabelBackgroundColour(This)

View Source
-spec getLabelBackgroundColour(This) -> wx:wx_colour4() when This :: wxGrid().

Returns the colour used for the background of row and column labels.

-spec getLabelFont(This) -> wxFont:wxFont() when This :: wxGrid().

Returns the font used for row and column labels.

Link to this function

getLabelTextColour(This)

View Source
-spec getLabelTextColour(This) -> wx:wx_colour4() when This :: wxGrid().

Returns the colour used for row and column label text.

-spec getNumberCols(This) -> integer() when This :: wxGrid().

Returns the total number of grid columns.

This is the same as the number of columns in the underlying grid table.

-spec getNumberRows(This) -> integer() when This :: wxGrid().

Returns the total number of grid rows.

This is the same as the number of rows in the underlying grid table.

Link to this function

getOrCreateCellAttr(This, Row, Col)

View Source
-spec getOrCreateCellAttr(This, Row, Col) -> wxGridCellAttr:wxGridCellAttr()
                             when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns the attribute for the given cell creating one if necessary.

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.

Prefer to use GetOrCreateCellAttrPtr() (not implemented in wx) to avoid the need to call DecRef() on the returned pointer.

This function may only be called if CanHaveAttributes() (not implemented in wx) returns true.

Link to this function

getRowLabelAlignment(This)

View Source
-spec getRowLabelAlignment(This) -> {Horiz :: integer(), Vert :: integer()} when This :: wxGrid().

Returns the alignment used for row labels.

Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or wxALIGN_RIGHT.

Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.

-spec getRowLabelSize(This) -> integer() when This :: wxGrid().

Returns the current width of the row labels.

Link to this function

getRowLabelValue(This, Row)

View Source
-spec getRowLabelValue(This, Row) -> unicode:charlist() when This :: wxGrid(), Row :: integer().

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 wxGridTableBase::GetRowLabelValue() (not implemented in wx) to provide your own labels.

Link to this function

getRowMinimalAcceptableHeight(This)

View Source
-spec getRowMinimalAcceptableHeight(This) -> integer() when This :: wxGrid().

Returns the minimal size to which rows can be resized.

Use setRowMinimalAcceptableHeight/2 to change this value globally or setRowMinimalHeight/3 to do it for individual cells.

See: getColMinimalAcceptableWidth/1

-spec getRowSize(This, Row) -> integer() when This :: wxGrid(), Row :: integer().

Returns the height of the specified row.

-spec getScrollLineX(This) -> integer() when This :: wxGrid().

Returns the number of pixels per horizontal scroll increment.

The default is 15.

See: getScrollLineY/1, setScrollLineX/2, setScrollLineY/2

-spec getScrollLineY(This) -> integer() when This :: wxGrid().

Returns the number of pixels per vertical scroll increment.

The default is 15.

See: getScrollLineX/1, setScrollLineX/2, setScrollLineY/2

-spec getSelectedCells(This) -> [{R :: integer(), C :: integer()}] when This :: wxGrid().

Returns an array of individually selected cells.

Notice that this array does not 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, getSelectedCols/1, getSelectedRows/1 and getSelectionBlockTopLeft/1 and getSelectionBlockBottomRight/1 methods to obtain the entire selection in general.

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 getSelectedCols/1 returns an array containing one element).

The function can be slow for the big grids, use GetSelectedBlocks() (not implemented in wx) in the new code.

-spec getSelectedCols(This) -> [integer()] when This :: wxGrid().

Returns an array of selected columns.

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 getSelectedCells/1 for more details.

The function can be slow for the big grids, use GetSelectedBlocks() (not implemented in wx) in the new code.

-spec getSelectedRows(This) -> [integer()] when This :: wxGrid().

Returns an array of selected rows.

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 getSelectedCells/1 for more details.

The function can be slow for the big grids, use GetSelectedBlocks() (not implemented in wx) in the new code.

Link to this function

getSelectionBackground(This)

View Source
-spec getSelectionBackground(This) -> wx:wx_colour4() when This :: wxGrid().

Returns the colour used for drawing the selection background.

Link to this function

getSelectionBlockBottomRight(This)

View Source
-spec getSelectionBlockBottomRight(This) -> [{R :: integer(), C :: integer()}] when This :: wxGrid().

Returns an array of the bottom right corners of blocks of selected cells.

Please see getSelectedCells/1 for more information about the selection representation in wxGrid.

The function can be slow for the big grids, use GetSelectedBlocks() (not implemented in wx) in the new code.

See: getSelectionBlockTopLeft/1

Link to this function

getSelectionBlockTopLeft(This)

View Source
-spec getSelectionBlockTopLeft(This) -> [{R :: integer(), C :: integer()}] when This :: wxGrid().

Returns an array of the top left corners of blocks of selected cells.

Please see getSelectedCells/1 for more information about the selection representation in wxGrid.

The function can be slow for the big grids, use GetSelectedBlocks() (not implemented in wx) in the new code.

See: getSelectionBlockBottomRight/1

Link to this function

getSelectionForeground(This)

View Source
-spec getSelectionForeground(This) -> wx:wx_colour4() when This :: wxGrid().

Returns the colour used for drawing the selection foreground.

-spec gridLinesEnabled(This) -> boolean() when This :: wxGrid().

Returns true if drawing of grid lines is turned on, false otherwise.

Link to this function

hideCellEditControl(This)

View Source
-spec hideCellEditControl(This) -> ok when This :: wxGrid().

Hides the in-place cell edit control.

-spec insertCols(This) -> boolean() when This :: wxGrid().
-spec insertCols(This, [Option]) -> boolean()
                    when
                        This :: wxGrid(),
                        Option :: {pos, integer()} | {numCols, integer()} | {updateLabels, boolean()}.

Inserts one or more new columns into a grid with the first new column at the specified position.

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 createGrid/4) this process is automatic. If you are using a custom grid table (specified with SetTable() (not implemented in wx) or AssignTable() (not implemented in wx)) then you must override wxGridTableBase::InsertCols() (not implemented in wx) in your derived table class.

Return: true if the columns were successfully inserted, false if an error occurred (most likely the table couldn't be updated).

-spec insertRows(This) -> boolean() when This :: wxGrid().
-spec insertRows(This, [Option]) -> boolean()
                    when
                        This :: wxGrid(),
                        Option :: {pos, integer()} | {numRows, integer()} | {updateLabels, boolean()}.

Inserts one or more new rows into a grid with the first new row at the specified position.

Notice that you must implement wxGridTableBase::InsertRows() (not implemented in wx) if you use a grid with a custom table, please see insertCols/2 for more information.

Return: true if the rows were successfully inserted, false if an error occurred (most likely the table couldn't be updated).

Link to this function

isCellEditControlEnabled(This)

View Source
-spec isCellEditControlEnabled(This) -> boolean() when This :: wxGrid().

Returns true if the in-place edit control is currently enabled.

Link to this function

isCurrentCellReadOnly(This)

View Source
-spec isCurrentCellReadOnly(This) -> boolean() when This :: wxGrid().

Returns true if the current cell is read-only.

See: setReadOnly/4, isReadOnly/3

-spec isEditable(This) -> boolean() when This :: wxGrid().

Returns false if the whole grid has been set as read-only or true otherwise.

See enableEditing/2 for more information about controlling the editing status of grid cells.

Link to this function

isInSelection(This, Coords)

View Source
-spec isInSelection(This, Coords) -> boolean()
                       when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.

Returns true if the given cell is selected.

Link to this function

isInSelection(This, Row, Col)

View Source
-spec isInSelection(This, Row, Col) -> boolean()
                       when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns true if the given cell is selected.

Link to this function

isReadOnly(This, Row, Col)

View Source
-spec isReadOnly(This, Row, Col) -> boolean() when This :: wxGrid(), Row :: integer(), Col :: integer().

Returns true if the cell at the specified location can't be edited.

See: setReadOnly/4, isCurrentCellReadOnly/1

-spec isSelection(This) -> boolean() when This :: wxGrid().

Returns true if there are currently any selected cells, rows, columns or blocks.

-spec isVisible(This, Coords) -> boolean()
                   when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.
-spec isVisible(This, Row, Col) -> boolean() when This :: wxGrid(), Row :: integer(), Col :: integer();
               (This, Coords, [Option]) -> boolean()
                   when
                       This :: wxGrid(),
                       Coords :: {R :: integer(), C :: integer()},
                       Option :: {wholeCellVisible, boolean()}.

Returns true if a cell is either entirely or at least partially visible in the grid window.

By default, the cell must be entirely visible for this function to return true but if wholeCellVisible is false, the function returns true even if the cell is only partially visible.

-spec isVisible(This, Row, Col, [Option]) -> boolean()
                   when
                       This :: wxGrid(),
                       Row :: integer(),
                       Col :: integer(),
                       Option :: {wholeCellVisible, boolean()}.

Returns true if a cell is either entirely or at least partially visible in the grid window.

By default, the cell must be entirely visible for this function to return true but if wholeCellVisible is false, the function returns true even if the cell is only partially visible.

Link to this function

makeCellVisible(This, Coords)

View Source
-spec makeCellVisible(This, Coords) -> ok
                         when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.

Brings the specified cell into the visible grid cell area with minimal scrolling.

Does nothing if the cell is already visible.

Link to this function

makeCellVisible(This, Row, Col)

View Source
-spec makeCellVisible(This, Row, Col) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer().

Brings the specified cell into the visible grid cell area with minimal scrolling.

Does nothing if the cell is already visible.

Link to this function

moveCursorDown(This, ExpandSelection)

View Source
-spec moveCursorDown(This, ExpandSelection) -> boolean()
                        when This :: wxGrid(), ExpandSelection :: boolean().

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.

Link to this function

moveCursorDownBlock(This, ExpandSelection)

View Source
-spec moveCursorDownBlock(This, ExpandSelection) -> boolean()
                             when This :: wxGrid(), ExpandSelection :: boolean().

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.

Link to this function

moveCursorLeft(This, ExpandSelection)

View Source
-spec moveCursorLeft(This, ExpandSelection) -> boolean()
                        when This :: wxGrid(), ExpandSelection :: boolean().

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.

Link to this function

moveCursorLeftBlock(This, ExpandSelection)

View Source
-spec moveCursorLeftBlock(This, ExpandSelection) -> boolean()
                             when This :: wxGrid(), ExpandSelection :: boolean().

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.

Link to this function

moveCursorRight(This, ExpandSelection)

View Source
-spec moveCursorRight(This, ExpandSelection) -> boolean()
                         when This :: wxGrid(), ExpandSelection :: boolean().

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.

Link to this function

moveCursorRightBlock(This, ExpandSelection)

View Source
-spec moveCursorRightBlock(This, ExpandSelection) -> boolean()
                              when This :: wxGrid(), ExpandSelection :: boolean().

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.

Link to this function

moveCursorUp(This, ExpandSelection)

View Source
-spec moveCursorUp(This, ExpandSelection) -> boolean()
                      when This :: wxGrid(), ExpandSelection :: boolean().

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.

Link to this function

moveCursorUpBlock(This, ExpandSelection)

View Source
-spec moveCursorUpBlock(This, ExpandSelection) -> boolean()
                           when This :: wxGrid(), ExpandSelection :: boolean().

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.

-spec movePageDown(This) -> boolean() when This :: wxGrid().

Moves the grid cursor down by some number of rows so that the previous bottom visible row becomes the top visible row.

-spec movePageUp(This) -> boolean() when This :: wxGrid().

Moves the grid cursor up by some number of rows so that the previous top visible row becomes the bottom visible row.

-spec new() -> wxGrid().

Default constructor.

You must call Create() (not implemented in wx) to really create the grid window and also call createGrid/4 or SetTable() (not implemented in wx) or AssignTable() (not implemented in wx) to initialize its contents.

-spec new(Parent, Id) -> wxGrid() when Parent :: wxWindow:wxWindow(), Id :: integer().
-spec new(Parent, Id, [Option]) -> wxGrid()
             when
                 Parent :: wxWindow:wxWindow(),
                 Id :: integer(),
                 Option ::
                     {pos, {X :: integer(), Y :: integer()}} |
                     {size, {W :: integer(), H :: integer()}} |
                     {style, integer()}.

Constructor creating the grid window.

You must call either createGrid/4 or SetTable() (not implemented in wx) or AssignTable() (not implemented in wx) to initialize the grid contents before using it.

Link to this function

registerDataType(This, TypeName, Renderer, Editor)

View Source
-spec registerDataType(This, TypeName, Renderer, Editor) -> ok
                          when
                              This :: wxGrid(),
                              TypeName :: unicode:chardata(),
                              Renderer :: wxGridCellRenderer:wxGridCellRenderer(),
                              Editor :: wxGridCellEditor:wxGridCellEditor().

Register a new data type.

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 wxGRID_VALUE_STRING which uses wxGridCellStringRenderer and wxGridCellTextEditor as its renderer and editor respectively - this is the data type used by all the cells of the default wxGridStringTable (not implemented in wx), so this renderer and editor are used by default for all grid cells.

However if a custom table returns wxGRID_VALUE_BOOL from its wxGridTableBase::GetTypeName() (not implemented in wx) method, then wxGridCellBoolRenderer and wxGridCellBoolEditor are used for it because the grid also registers a boolean data type with this name.

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.

Link to this function

saveEditControlValue(This)

View Source
-spec saveEditControlValue(This) -> ok when This :: wxGrid().

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.

-spec selectAll(This) -> ok when This :: wxGrid().

Selects all cells in the grid.

Link to this function

selectBlock(This, TopLeft, BottomRight)

View Source
-spec selectBlock(This, TopLeft, BottomRight) -> ok
                     when
                         This :: wxGrid(),
                         TopLeft :: {R :: integer(), C :: integer()},
                         BottomRight :: {R :: integer(), C :: integer()}.
-spec selectBlock(This, TopLeft, BottomRight, [Option]) -> ok
                     when
                         This :: wxGrid(),
                         TopLeft :: {R :: integer(), C :: integer()},
                         BottomRight :: {R :: integer(), C :: integer()},
                         Option :: {addToSelected, boolean()}.

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.

Link to this function

selectBlock(This, TopRow, LeftCol, BottomRow, RightCol)

View Source
-spec selectBlock(This, TopRow, LeftCol, BottomRow, RightCol) -> ok
                     when
                         This :: wxGrid(),
                         TopRow :: integer(),
                         LeftCol :: integer(),
                         BottomRow :: integer(),
                         RightCol :: integer().
-spec selectBlock(This, TopRow, LeftCol, BottomRow, RightCol, [Option]) -> ok
                     when
                         This :: wxGrid(),
                         TopRow :: integer(),
                         LeftCol :: integer(),
                         BottomRow :: integer(),
                         RightCol :: integer(),
                         Option :: {addToSelected, boolean()}.

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.

-spec selectCol(This, Col) -> ok when This :: wxGrid(), Col :: integer().
-spec selectCol(This, Col, [Option]) -> ok
                   when This :: wxGrid(), Col :: integer(), Option :: {addToSelected, boolean()}.

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.

This method won't select anything if the current selection mode is wxGridSelectRows.

-spec selectRow(This, Row) -> ok when This :: wxGrid(), Row :: integer().
-spec selectRow(This, Row, [Option]) -> ok
                   when This :: wxGrid(), Row :: integer(), Option :: {addToSelected, boolean()}.

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.

This method won't select anything if the current selection mode is wxGridSelectColumns.

Link to this function

setCellAlignment(This, Row, Col, Horiz, Vert)

View Source
-spec setCellAlignment(This, Row, Col, Horiz, Vert) -> ok
                          when
                              This :: wxGrid(),
                              Row :: integer(),
                              Col :: integer(),
                              Horiz :: integer(),
                              Vert :: integer().

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.

Link to this function

setCellBackgroundColour(This, Row, Col, Colour)

View Source
-spec setCellBackgroundColour(This, Row, Col, Colour) -> ok
                                 when
                                     This :: wxGrid(),
                                     Row :: integer(),
                                     Col :: integer(),
                                     Colour :: wx:wx_colour().

Set the background colour for the given cell or all cells by default.

Link to this function

setCellEditor(This, Row, Col, Editor)

View Source
-spec setCellEditor(This, Row, Col, Editor) -> ok
                       when
                           This :: wxGrid(),
                           Row :: integer(),
                           Col :: integer(),
                           Editor :: wxGridCellEditor:wxGridCellEditor().

Sets the editor for the grid cell at the specified location.

The grid will take ownership of the pointer.

See wxGridCellEditor and the overview_grid for more information about cell editors and renderers.

Link to this function

setCellFont(This, Row, Col, Font)

View Source
-spec setCellFont(This, Row, Col, Font) -> ok
                     when This :: wxGrid(), Row :: integer(), Col :: integer(), Font :: wxFont:wxFont().

Sets the font for text in the grid cell at the specified location.

Link to this function

setCellRenderer(This, Row, Col, Renderer)

View Source
-spec setCellRenderer(This, Row, Col, Renderer) -> ok
                         when
                             This :: wxGrid(),
                             Row :: integer(),
                             Col :: integer(),
                             Renderer :: wxGridCellRenderer:wxGridCellRenderer().

Sets the renderer for the grid cell at the specified location.

The grid will take ownership of the pointer.

See wxGridCellRenderer and the overview_grid for more information about cell editors and renderers.

Link to this function

setCellTextColour(This, Row, Col, Colour)

View Source
-spec setCellTextColour(This, Row, Col, Colour) -> ok
                           when
                               This :: wxGrid(),
                               Row :: integer(),
                               Col :: integer(),
                               Colour :: wx:wx_colour().

Sets the text colour for the given cell.

Link to this function

setCellValue(This, Coords, S)

View Source
-spec setCellValue(This, Coords, S) -> ok
                      when
                          This :: wxGrid(),
                          Coords :: {R :: integer(), C :: integer()},
                          S :: unicode:chardata().

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 getCellValue/3 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.

See wxGridTableBase::CanSetValueAs() (not implemented in wx) and the overview_grid for more information.

Link to this function

setCellValue(This, Row, Col, S)

View Source
-spec setCellValue(This, Row, Col, S) -> ok
                      when This :: wxGrid(), Row :: integer(), Col :: integer(), S :: unicode:chardata().

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 getCellValue/3 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.

See wxGridTableBase::CanSetValueAs() (not implemented in wx) and the overview_grid for more information.

Link to this function

setColAttr(This, Col, Attr)

View Source
-spec setColAttr(This, Col, Attr) -> ok
                    when This :: wxGrid(), Col :: integer(), Attr :: wxGridCellAttr:wxGridCellAttr().

Sets the cell attributes for all cells in the specified column.

For more information about controlling grid cell attributes see the wxGridCellAttr cell attribute class and the overview_grid.

Link to this function

setColFormatBool(This, Col)

View Source
-spec setColFormatBool(This, Col) -> ok when This :: wxGrid(), Col :: integer().

Sets the specified column to display boolean values.

See: setColFormatCustom/3

Link to this function

setColFormatCustom(This, Col, TypeName)

View Source
-spec setColFormatCustom(This, Col, TypeName) -> ok
                            when This :: wxGrid(), Col :: integer(), TypeName :: unicode:chardata().

Sets the specified column to display data in a custom format.

This method provides an alternative to defining a custom grid table which would return typeName 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.

See the overview_grid for more information on working with custom data types.

Link to this function

setColFormatFloat(This, Col)

View Source
-spec setColFormatFloat(This, Col) -> ok when This :: wxGrid(), Col :: integer().
-spec setColFormatFloat(This, Col, [Option]) -> ok
                           when
                               This :: wxGrid(),
                               Col :: integer(),
                               Option :: {width, integer()} | {precision, integer()}.

Sets the specified column to display floating point values with the given width and precision.

See: setColFormatCustom/3

Link to this function

setColFormatNumber(This, Col)

View Source
-spec setColFormatNumber(This, Col) -> ok when This :: wxGrid(), Col :: integer().

Sets the specified column to display integer values.

See: setColFormatCustom/3

Link to this function

setColLabelAlignment(This, Horiz, Vert)

View Source
-spec setColLabelAlignment(This, Horiz, Vert) -> ok
                              when This :: wxGrid(), Horiz :: integer(), Vert :: integer().

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.

Link to this function

setColLabelSize(This, Height)

View Source
-spec setColLabelSize(This, Height) -> ok when This :: wxGrid(), Height :: integer().

Sets the height of the column labels.

If height equals to wxGRID_AUTOSIZE then height is calculated automatically so that no label is truncated. Note that this could be slow for a large table.

Link to this function

setColLabelValue(This, Col, Value)

View Source
-spec setColLabelValue(This, Col, Value) -> ok
                          when This :: wxGrid(), Col :: integer(), Value :: unicode:chardata().

Set the value for the given column label.

If you are using a custom grid table you must override wxGridTableBase::SetColLabelValue() (not implemented in wx) for this to have any effect.

Link to this function

setColMinimalAcceptableWidth(This, Width)

View Source
-spec setColMinimalAcceptableWidth(This, Width) -> ok when This :: wxGrid(), Width :: integer().

Sets the minimal width to which the user can resize columns.

See: getColMinimalAcceptableWidth/1

Link to this function

setColMinimalWidth(This, Col, Width)

View Source
-spec setColMinimalWidth(This, Col, Width) -> ok
                            when This :: wxGrid(), Col :: integer(), Width :: integer().

Sets the minimal width for the specified column col.

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.

width must be greater than the minimal acceptable column width as returned by getColMinimalAcceptableWidth/1.

Link to this function

setColSize(This, Col, Width)

View Source
-spec setColSize(This, Col, Width) -> ok when This :: wxGrid(), Col :: integer(), Width :: integer().

Sets the width of the specified column.

Link to this function

setDefaultCellAlignment(This, Horiz, Vert)

View Source
-spec setDefaultCellAlignment(This, Horiz, Vert) -> ok
                                 when This :: wxGrid(), Horiz :: integer(), Vert :: integer().

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.

Link to this function

setDefaultCellBackgroundColour(This, Colour)

View Source
-spec setDefaultCellBackgroundColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().

Sets the default background colour for grid cells.

Link to this function

setDefaultCellFont(This, Font)

View Source
-spec setDefaultCellFont(This, Font) -> ok when This :: wxGrid(), Font :: wxFont:wxFont().

Sets the default font to be used for grid cell text.

Link to this function

setDefaultCellTextColour(This, Colour)

View Source
-spec setDefaultCellTextColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().

Sets the current default colour for grid cell text.

Link to this function

setDefaultColSize(This, Width)

View Source
-spec setDefaultColSize(This, Width) -> ok when This :: wxGrid(), Width :: integer().
-spec setDefaultColSize(This, Width, [Option]) -> ok
                           when
                               This :: wxGrid(),
                               Width :: integer(),
                               Option :: {resizeExistingCols, boolean()}.

Sets the default width for columns in the grid.

This will only affect columns subsequently added to the grid unless resizeExistingCols is true.

If width is less than getColMinimalAcceptableWidth/1, then the minimal acceptable width is used instead of it.

Link to this function

setDefaultEditor(This, Editor)

View Source
-spec setDefaultEditor(This, Editor) -> ok
                          when This :: wxGrid(), Editor :: wxGridCellEditor:wxGridCellEditor().

Sets the default editor for grid cells.

The grid will take ownership of the pointer.

See wxGridCellEditor and the overview_grid for more information about cell editors and renderers.

Link to this function

setDefaultRenderer(This, Renderer)

View Source
-spec setDefaultRenderer(This, Renderer) -> ok
                            when This :: wxGrid(), Renderer :: wxGridCellRenderer:wxGridCellRenderer().

Sets the default renderer for grid cells.

The grid will take ownership of the pointer.

See wxGridCellRenderer and the overview_grid for more information about cell editors and renderers.

Link to this function

setDefaultRowSize(This, Height)

View Source
-spec setDefaultRowSize(This, Height) -> ok when This :: wxGrid(), Height :: integer().
-spec setDefaultRowSize(This, Height, [Option]) -> ok
                           when
                               This :: wxGrid(),
                               Height :: integer(),
                               Option :: {resizeExistingRows, boolean()}.

Sets the default height for rows in the grid.

This will only affect rows subsequently added to the grid unless resizeExistingRows is true.

If height is less than getRowMinimalAcceptableHeight/1, then the minimal acceptable height is used instead of it.

Link to this function

setGridCursor(This, Coords)

View Source
-spec setGridCursor(This, Coords) -> ok
                       when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.

Set the grid cursor to the specified cell.

The grid cursor indicates the current cell and can be moved by the user using the arrow keys or the mouse.

Calling this function generates a wxEVT_GRID_SELECT_CELL event and if the event handler vetoes this event, the cursor is not moved.

This function doesn't make the target call visible, use GoToCell() (not implemented in wx) to do this.

Link to this function

setGridCursor(This, Row, Col)

View Source
-spec setGridCursor(This, Row, Col) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer().

Set the grid cursor to the specified cell.

The grid cursor indicates the current cell and can be moved by the user using the arrow keys or the mouse.

Calling this function generates a wxEVT_GRID_SELECT_CELL event and if the event handler vetoes this event, the cursor is not moved.

This function doesn't make the target call visible, use GoToCell() (not implemented in wx) to do this.

Link to this function

setGridLineColour(This, Colour)

View Source
-spec setGridLineColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().

Sets the colour used to draw grid lines.

Link to this function

setLabelBackgroundColour(This, Colour)

View Source
-spec setLabelBackgroundColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().

Sets the background colour for row and column labels.

Link to this function

setLabelFont(This, Font)

View Source
-spec setLabelFont(This, Font) -> ok when This :: wxGrid(), Font :: wxFont:wxFont().

Sets the font for row and column labels.

Link to this function

setLabelTextColour(This, Colour)

View Source
-spec setLabelTextColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().

Sets the colour for row and column label text.

Link to this function

setMargins(This, ExtraWidth, ExtraHeight)

View Source
-spec setMargins(This, ExtraWidth, ExtraHeight) -> ok
                    when This :: wxGrid(), ExtraWidth :: integer(), ExtraHeight :: integer().

Sets the extra margins used around the grid area.

A grid may occupy more space than needed for its data display and this function allows setting how big this extra space is

Link to this function

setReadOnly(This, Row, Col)

View Source
-spec setReadOnly(This, Row, Col) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer().
-spec setReadOnly(This, Row, Col, [Option]) -> ok
                     when
                         This :: wxGrid(),
                         Row :: integer(),
                         Col :: integer(),
                         Option :: {isReadOnly, boolean()}.

Makes the cell at the specified location read-only or editable.

See: isReadOnly/3

Link to this function

setRowAttr(This, Row, Attr)

View Source
-spec setRowAttr(This, Row, Attr) -> ok
                    when This :: wxGrid(), Row :: integer(), Attr :: wxGridCellAttr:wxGridCellAttr().

Sets the cell attributes for all cells in the specified row.

The grid takes ownership of the attribute pointer.

See the wxGridCellAttr class for more information about controlling cell attributes.

Link to this function

setRowLabelAlignment(This, Horiz, Vert)

View Source
-spec setRowLabelAlignment(This, Horiz, Vert) -> ok
                              when This :: wxGrid(), Horiz :: integer(), Vert :: integer().

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.

Link to this function

setRowLabelSize(This, Width)

View Source
-spec setRowLabelSize(This, Width) -> ok when This :: wxGrid(), Width :: integer().

Sets the width of the row labels.

If width equals wxGRID_AUTOSIZE then width is calculated automatically so that no label is truncated. Note that this could be slow for a large table.

Link to this function

setRowLabelValue(This, Row, Value)

View Source
-spec setRowLabelValue(This, Row, Value) -> ok
                          when This :: wxGrid(), Row :: integer(), Value :: unicode:chardata().

Sets the value for the given row label.

If you are using a derived grid table you must override wxGridTableBase::SetRowLabelValue() (not implemented in wx) for this to have any effect.

Link to this function

setRowMinimalAcceptableHeight(This, Height)

View Source
-spec setRowMinimalAcceptableHeight(This, Height) -> ok when This :: wxGrid(), Height :: integer().

Sets the minimal row height used by default.

See setColMinimalAcceptableWidth/2 for more information.

Link to this function

setRowMinimalHeight(This, Row, Height)

View Source
-spec setRowMinimalHeight(This, Row, Height) -> ok
                             when This :: wxGrid(), Row :: integer(), Height :: integer().

Sets the minimal height for the specified row.

See setColMinimalWidth/3 for more information.

Link to this function

setRowSize(This, Row, Height)

View Source
-spec setRowSize(This, Row, Height) -> ok when This :: wxGrid(), Row :: integer(), Height :: integer().

Sets the height of the specified row.

See setColSize/3 for more information.

-spec setScrollLineX(This, X) -> ok when This :: wxGrid(), X :: integer().

Sets the number of pixels per horizontal scroll increment.

The default is 15.

See: getScrollLineX/1, getScrollLineY/1, setScrollLineY/2

-spec setScrollLineY(This, Y) -> ok when This :: wxGrid(), Y :: integer().

Sets the number of pixels per vertical scroll increment.

The default is 15.

See: getScrollLineX/1, getScrollLineY/1, setScrollLineX/2

Link to this function

setSelectionBackground(This, C)

View Source
-spec setSelectionBackground(This, C) -> ok when This :: wxGrid(), C :: wx:wx_colour().

Set the colour to be used for drawing the selection background.

Link to this function

setSelectionForeground(This, C)

View Source
-spec setSelectionForeground(This, C) -> ok when This :: wxGrid(), C :: wx:wx_colour().

Set the colour to be used for drawing the selection foreground.

Link to this function

setSelectionMode(This, Selmode)

View Source
-spec setSelectionMode(This, Selmode) -> ok when This :: wxGrid(), Selmode :: wx:wx_enum().

Set the selection behaviour of the grid.

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).

Link to this function

showCellEditControl(This)

View Source
-spec showCellEditControl(This) -> ok when This :: wxGrid().

Displays the active in-place cell edit control for the current cell after it was hidden.

This method should only be called after calling hideCellEditControl/1, to start editing the current grid cell use enableCellEditControl/2 instead.

-spec xToCol(This, X) -> integer() when This :: wxGrid(), X :: integer().
-spec xToCol(This, X, [Option]) -> integer()
                when This :: wxGrid(), X :: integer(), Option :: {clipToMinMax, boolean()}.

Returns the column at the given pixel position depending on the window.

Return: The column index or wxNOT_FOUND.

-spec xToEdgeOfCol(This, X) -> integer() when This :: wxGrid(), X :: integer().

Returns the column whose right hand edge is close to the given logical x position.

If no column edge is near to this position wxNOT_FOUND is returned.

-spec yToEdgeOfRow(This, Y) -> integer() when This :: wxGrid(), Y :: integer().

Returns the row whose bottom edge is close to the given logical y position.

If no row edge is near to this position wxNOT_FOUND is returned.

-spec yToRow(This, Y) -> integer() when This :: wxGrid(), Y :: integer().
-spec yToRow(This, Y, [Option]) -> integer()
                when This :: wxGrid(), Y :: integer(), Option :: {clipToMinMax, boolean()}.

Returns the grid row that corresponds to the logical y coordinate.

The parameter gridWindow 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 wxNOT_FOUND if y is out of bounds.

If gridWindow is NULL, the function returns wxNOT_FOUND only if there is no row at all at the y position.