1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 %% Modified by: Santiago Palacios
8 %% Copyright: (c) wxWidgets
9 %% License: wxWindows license
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12 \section{\class{wxGrid
}}\label{wxgrid
}
14 wxGrid and its related classes are used for displaying and editing tabular
15 data. They provide a rich set of features for display, editing, and
16 interacting with a variety of data sources. For simple applications, and to
17 help you get started, wxGrid is the only class you need to refer to
18 directly. It will set up default instances of the other classes and manage
19 them for you. For more complex applications you can derive your own
20 classes for custom grid views, grid data tables, cell editors and
21 renderers. The
\helpref{wxGrid classes overview
}{gridoverview
} has
22 examples of simple and more complex applications, explains the
23 relationship between the various grid classes and has a summary of the
24 keyboard shortcuts and mouse functions provided by wxGrid.
26 wxGrid has been greatly expanded and redesigned for wxWidgets
2.2
27 onwards. If you have been using the old wxGrid class you will probably
28 want to have a look at the
\helpref{wxGrid classes overview
}{gridoverview
} to see
29 how things have changed. The new grid classes are reasonably backward-compatible
30 but there are some exceptions. There are also easier ways of doing many things compared to
31 the previous implementation.
33 \wxheading{Derived from
}
35 \helpref{wxScrolledWindow
}{wxscrolledwindow
}\\
36 \helpref{wxWindow
}{wxwindow
}\\
37 \helpref{wxEvtHandler
}{wxevthandler
}\\
38 \helpref{wxObject
}{wxobject
}
40 \wxheading{Include files
}
44 \wxheading{Window styles
}
46 There are presently no specific window styles for wxGrid.
48 \wxheading{Event handling
}
52 The event handler for the following functions takes a
53 \helpref{wxGridSizeEvent
}{wxgridsizeevent
} parameter.
54 The ...
\_CMD\_... variants also take a window identifier.
57 \begin{twocollist
}\itemsep=
0pt
58 \twocolitem{{\bf EVT
\_GRID\_COL\_SIZE(func)
}}{The user resized a column by dragging it. Processes a wxEVT
\_GRID\_COL\_SIZE.
}
59 \twocolitem{{\bf EVT
\_GRID\_ROW\_SIZE(func)
}}{The user resized a row by dragging it. Processes a wxEVT
\_GRID\_ROW\_SIZE.
}
60 \twocolitem{{\bf EVT
\_GRID\_CMD\_COL\_SIZE(func)
}}{The user resized a column by dragging it; variant taking a window identifier. Processes a wxEVT
\_GRID\_COL\_SIZE.
}
61 \twocolitem{{\bf EVT
\_GRID\_CMD\_ROW\_SIZE(func)
}}{The user resized a row by dragging it; variant taking a window identifier. Processes a wxEVT
\_GRID\_ROW\_SIZE.
}
64 The event handler for the following functions takes a
65 \helpref{wxGridRangeSelectEvent
}{wxgridrangeselectevent
} parameter.
66 The ...
\_CMD\_... variant also takes a window identifier.
69 \begin{twocollist
}\itemsep=
0pt
70 \twocolitem{{\bf EVT
\_GRID\_RANGE\_SELECT(func)
}}{The user selected a group of contiguous cells. Processes a wxEVT
\_GRID\_RANGE\_SELECT.
}
71 \twocolitem{{\bf EVT
\_GRID\_CMD\_RANGE\_SELECT(id, func)
}}{The user selected a group of contiguous cells; variant taking a window identifier. Processes a wxEVT
\_GRID\_RANGE\_SELECT.
}
74 The event handler for the following functions takes a
75 \helpref{wxGridEditorCreatedEvent
}{wxgrideditorcreatedevent
} parameter.
76 The ...
\_CMD\_... variant also takes a window identifier.
79 \begin{twocollist
}\itemsep=
0pt
80 \twocolitem{{\bf EVT
\_GRID\_EDITOR\_CREATED(func)
}}{The editor for a cell was created. Processes a wxEVT
\_GRID\_EDITOR\_CREATED.
}
81 \twocolitem{{\bf EVT
\_GRID\_CMD\_EDITOR\_CREATED(id, func)
}}{The editor for a cell was created; variant taking a window identifier. Processes a wxEVT
\_GRID\_EDITOR\_CREATED.
}
86 \helpref{wxGrid overview
}{gridoverview
}
88 %%%%%%%%%%% FUNCTION GROUPS %%%%%%%%%%%%%
89 \latexignore{\rtfignore{\wxheading{Function groups
}}}
93 \membersection{Constructors and initialization
}\label{wxgridconstructors
}
95 \helpref{wxGrid
}{wxgridctor
}\\
96 \helpref{\destruct{wxGrid
}}{wxgriddtor
}\\
97 \helpref{CreateGrid
}{wxgridcreategrid
}\\
98 \helpref{SetTable
}{wxgridsettable
}
102 \membersection{Display format
}\label{wxgriddisplayformat
}
106 \membersection{Selection functions
}\label{wxgridselectionfunctions
}
108 \helpref{wxGrid::ClearSelection
}{wxgridclearselection
}\\
109 \helpref{wxGrid::IsSelection
}{wxgridisselection
}\\
110 \helpref{wxGrid::SelectAll
}{wxgridselectall
}\\
111 \helpref{wxGrid::SelectBlock
}{wxgridselectblock
}\\
112 \helpref{wxGrid::SelectCol
}{wxgridselectcol
}\\
113 \helpref{wxGrid::SelectRow
}{wxgridselectrow
}
115 %%%%%%%%% MEMBER FUNCTIONS %%%%%%%%%%
116 \helponly{\insertatlevel{2}{
124 \membersection{wxGrid::wxGrid
}\label{wxgridctor
}
126 \func{}{wxGrid
}{\void}
130 \func{}{wxGrid
}{\param{wxWindow*
}{parent
},
\param{wxWindowID
}{id
},
\param{const wxPoint\&
}{pos = wxDefaultPosition
},
\param{const wxSize\&
}{size = wxDefaultSize
},
\param{long
}{style = wxWANTS
\_CHARS},
\param{const wxString\&
}{name = wxPanelNameStr
}}
132 Constructor to create a grid object. Call either
\helpref{wxGrid::CreateGrid
}{wxgridcreategrid
} or
133 \helpref{wxGrid::SetTable
}{wxgridsettable
} directly after this to initialize the grid before using
138 \membersection{wxGrid::
\destruct{wxGrid
}}\label{wxgriddtor
}
140 \func{}{\destruct{wxGrid
}}{\void}
142 Destructor. This will also destroy the associated grid table unless you passed a table
143 object to the grid and specified that the grid should not take ownership of the
144 table (see
\helpref{wxGrid::SetTable
}{wxgridsettable
}).
148 \membersection{wxGrid::AppendCols
}\label{wxgridappendcols
}
150 \func{bool
}{AppendCols
}{\param{int
}{numCols =
1},
\param{bool
}{updateLabels = true
}}
152 Appends one or more new columns to the right of the grid and returns true if
153 successful. The updateLabels argument is not used at present.
155 If you are using a derived grid table class you will need to override
156 \helpref{wxGridTableBase::AppendCols
}{wxgridtablebaseappendcols
}. See
157 \helpref{wxGrid::InsertCols
}{wxgridinsertcols
} for further information.
161 \membersection{wxGrid::AppendRows
}\label{wxgridappendrows
}
163 \func{bool
}{AppendRows
}{\param{int
}{numRows =
1},
\param{bool
}{updateLabels = true
}}
165 Appends one or more new rows to the bottom of the grid and returns true if
166 successful. The updateLabels argument is not used at present.
168 If you are using a derived grid table class you will need to override
169 \helpref{wxGridTableBase::AppendRows
}{wxgridtablebaseappendrows
}. See
170 \helpref{wxGrid::InsertRows
}{wxgridinsertrows
} for further information.
174 \membersection{wxGrid::AutoSize
}\label{wxgridautosize
}
176 \func{void
}{AutoSize
}{\void}
178 Automatically sets the height and width of all rows and columns to fit their contents.
181 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
182 The memory requirements for this could become prohibitive if your grid is very large.
186 \membersection{wxGrid::AutoSizeColOrRow
}\label{wxgridautosizecolorrow
}
188 \func{void
}{AutoSizeColOrRow
}{\param{int
}{n
},
\param{bool
}{setAsMin
},
\param{bool
}{column
}}
190 Common part of AutoSizeColumn/Row() or row?
194 \membersection{wxGrid::AutoSizeColumn
}\label{wxgridautosizecolumn
}
196 \func{void
}{AutoSizeColumn
}{\param{int
}{col
},
\param{bool
}{setAsMin = true
}}
198 Automatically sizes the column to fit its contents. If setAsMin is true the calculated width will
199 also be set as the minimal width for the column.
202 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
203 The memory requirements for this could become prohibitive if your grid is very large.
207 \membersection{wxGrid::AutoSizeColumns
}\label{wxgridautosizecolumns
}
209 \func{void
}{AutoSizeColumns
}{\param{bool
}{setAsMin = true
}}
211 Automatically sizes all columns to fit their contents. If setAsMin is true the calculated widths will
212 also be set as the minimal widths for the columns.
215 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
216 The memory requirements for this could become prohibitive if your grid is very large.
220 \membersection{wxGrid::AutoSizeRow
}\label{wxgridautosizerow
}
222 \func{void
}{AutoSizeRow
}{\param{int
}{row
},
\param{bool
}{setAsMin = true
}}
224 Automatically sizes the row to fit its contents. If setAsMin is true the calculated height will
225 also be set as the minimal height for the row.
228 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
229 The memory requirements for this could become prohibitive if your grid is very large.
233 \membersection{wxGrid::AutoSizeRows
}\label{wxgridautosizerows
}
235 \func{void
}{AutoSizeRows
}{\param{bool
}{setAsMin = true
}}
237 Automatically sizes all rows to fit their contents. If setAsMin is true the calculated heights will
238 also be set as the minimal heights for the rows.
241 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
242 The memory requirements for this could become prohibitive if your grid is very large.
246 \membersection{wxGrid::BeginBatch
}\label{wxgridbeginbatch
}
248 \func{void
}{BeginBatch
}{\void}
250 Increments the grid's batch count. When the count is greater than zero repainting of
251 the grid is suppressed. Each call to BeginBatch must be matched by a later call to
252 \helpref{wxGrid::EndBatch
}{wxgridendbatch
}. Code that does a lot of grid
253 modification can be enclosed between BeginBatch and EndBatch calls to avoid
254 screen flicker. The final EndBatch will cause the grid to be repainted.
258 \membersection{wxGrid::BlockToDeviceRect
}\label{wxgridblocktodevicerect
}
260 \func{wxRect
}{BlockToDeviceRect
}{\param{const wxGridCellCoords \&
}{topLeft
},
\param{const wxGridCellCoords \&
}{bottomRight
}}
262 This function returns the rectangle that encloses the block of cells
263 limited by TopLeft and BottomRight cell in device coords and clipped
264 to the client size of the grid window.
268 \membersection{wxGrid::CanDragColMove
}\label{wxgridcandragcolmove
}
270 \func{bool
}{CanDragColMove
}{\void}
272 Returns true if columns can be moved by dragging with the mouse. Columns can be moved
273 by dragging on their labels.
277 \membersection{wxGrid::CanDragColSize
}\label{wxgridcandragcolsize
}
279 \func{bool
}{CanDragColSize
}{\void}
281 Returns true if columns can be resized by dragging with the mouse. Columns can be resized
282 by dragging the edges of their labels. If grid line dragging is enabled they can also be
283 resized by dragging the right edge of the column in the grid cell area
284 (see
\helpref{wxGrid::EnableDragGridSize
}{wxgridenabledraggridsize
}).
288 \membersection{wxGrid::CanDragRowSize
}\label{wxgridcandragrowsize
}
290 \func{bool
}{CanDragRowSize
}{\void}
292 Returns true if rows can be resized by dragging with the mouse. Rows can be resized
293 by dragging the edges of their labels. If grid line dragging is enabled they can also be
294 resized by dragging the lower edge of the row in the grid cell area
295 (see
\helpref{wxGrid::EnableDragGridSize
}{wxgridenabledraggridsize
}).
299 \membersection{wxGrid::CanDragGridSize
}\label{wxgridcandraggridsize
}
301 \func{bool
}{CanDragGridSize
}{\void}
303 Return true if the dragging of grid lines to resize rows and columns is enabled or false otherwise.
307 \membersection{wxGrid::CanEnableCellControl
}\label{wxgridcanenablecellcontrol
}
309 \constfunc{bool
}{CanEnableCellControl
}{\void}
311 Returns true if the in-place edit control for the current grid cell can be used and
312 false otherwise (e.g. if the current cell is read-only).
316 \membersection{wxGrid::CanHaveAttributes
}\label{wxgridcanhaveattributes
}
318 \func{bool
}{CanHaveAttributes
}{\void}
320 Do we have some place to store attributes in?
324 \membersection{wxGrid::CellToRect
}\label{wxgridcelltorect
}
326 \func{wxRect
}{CellToRect
}{\param{int
}{row
},
\param{int
}{col
}}
328 \func{wxRect
}{CellToRect
}{\param{const wxGridCellCoords\&
}{coords
}}
330 Return the rectangle corresponding to the grid cell's size and position in logical
335 \membersection{wxGrid::ClearGrid
}\label{wxgridcleargrid
}
337 \func{void
}{ClearGrid
}{\void}
339 Clears all data in the underlying grid table and repaints the grid. The table is not deleted by
340 this function. If you are using a derived table class then you need to override
341 \helpref{wxGridTableBase::Clear
}{wxgridtablebaseclear
} for this function to have any effect.
345 \membersection{wxGrid::ClearSelection
}\label{wxgridclearselection
}
347 \func{void
}{ClearSelection
}{\void}
349 Deselects all cells that are currently selected.
353 \membersection{wxGrid::CreateGrid
}\label{wxgridcreategrid
}
355 \func{bool
}{CreateGrid
}{\param{int
}{numRows
},
\param{int
}{numCols
},
\param{wxGrid::wxGridSelectionModes
}{selmode = wxGrid::wxGridSelectCells
}}
357 Creates a grid with the specified initial number of rows and columns.
358 Call this directly after the grid constructor. When you use this
359 function wxGrid will create and manage a simple table of string values
360 for you. All of the grid data will be stored in memory.
362 For applications with more complex data types or relationships, or for
363 dealing with very large datasets, you should derive your own grid table
364 class and pass a table object to the grid with
\helpref{wxGrid::SetTable
}{wxgridsettable
}.
368 \membersection{wxGrid::DeleteCols
}\label{wxgriddeletecols
}
370 \func{bool
}{DeleteCols
}{\param{int
}{pos =
0},
\param{int
}{numCols =
1},
\param{bool
}{updateLabels = true
}}
372 Deletes one or more columns from a grid starting at the specified position and returns
373 true if successful. The updateLabels argument is not used at present.
375 If you are using a derived grid table class you will need to override
376 \helpref{wxGridTableBase::DeleteCols
}{wxgridtablebasedeletecols
}. See
377 \helpref{wxGrid::InsertCols
}{wxgridinsertcols
} for further information.
381 \membersection{wxGrid::DeleteRows
}\label{wxgriddeleterows
}
383 \func{bool
}{DeleteRows
}{\param{int
}{pos =
0},
\param{int
}{numRows =
1},
\param{bool
}{updateLabels = true
}}
385 Deletes one or more rows from a grid starting at the specified position and returns
386 true if successful. The updateLabels argument is not used at present.
388 If you are using a derived grid table class you will need to override
389 \helpref{wxGridTableBase::DeleteRows
}{wxgridtablebasedeleterows
}. See
390 \helpref{wxGrid::InsertRows
}{wxgridinsertrows
} for further information.
394 \membersection{wxGrid::DisableCellEditControl
}\label{wxgriddisablecelleditcontrol
}
396 \func{void
}{DisableCellEditControl
}{\void}
398 Disables in-place editing of grid cells.
399 Equivalent to calling EnableCellEditControl(false).
403 \membersection{wxGrid::DisableDragColMove
}\label{wxgriddisabledragcolmove
}
405 \func{void
}{DisableDragColMove
}{\void}
407 Disables column moving by dragging with the mouse. Equivalent to passing false to
408 \helpref{wxGrid::EnableDragColMove
}{wxgridenabledragcolmove
}.
412 \membersection{wxGrid::DisableDragColSize
}\label{wxgriddisabledragcolsize
}
414 \func{void
}{DisableDragColSize
}{\void}
416 Disables column sizing by dragging with the mouse. Equivalent to passing false to
417 \helpref{wxGrid::EnableDragColSize
}{wxgridenabledragcolsize
}.
421 \membersection{wxGrid::DisableDragGridSize
}\label{wxgriddisabledraggridsize
}
423 \func{void
}{DisableDragGridSize
}{\void}
425 Disable mouse dragging of grid lines to resize rows and columns. Equivalent to passing
426 false to
\helpref{wxGrid::EnableDragGridSize
}{wxgridenabledraggridsize
}
430 \membersection{wxGrid::DisableDragRowSize
}\label{wxgriddisabledragrowsize
}
432 \func{void
}{DisableDragRowSize
}{\void}
434 Disables row sizing by dragging with the mouse. Equivalent to passing false to
435 \helpref{wxGrid::EnableDragRowSize
}{wxgridenabledragrowsize
}.
439 \membersection{wxGrid::EnableCellEditControl
}\label{wxgridenablecelleditcontrol
}
441 \func{void
}{EnableCellEditControl
}{\param{bool
}{enable = true
}}
443 Enables or disables in-place editing of grid cell data. The grid will issue either a
444 wxEVT
\_GRID\_EDITOR\_SHOWN or wxEVT
\_GRID\_EDITOR\_HIDDEN event.
448 \membersection{wxGrid::EnableDragColSize
}\label{wxgridenabledragcolsize
}
450 \func{void
}{EnableDragColSize
}{\param{bool
}{enable = true
}}
452 Enables or disables column sizing by dragging with the mouse.
456 \membersection{wxGrid::EnableDragColMove
}\label{wxgridenabledragcolmove
}
458 \func{void
}{EnableDragColMove
}{\param{bool
}{enable = true
}}
460 Enables or disables column moving by dragging with the mouse.
464 \membersection{wxGrid::EnableDragGridSize
}\label{wxgridenabledraggridsize
}
466 \func{void
}{EnableDragGridSize
}{\param{bool
}{enable = true
}}
468 Enables or disables row and column resizing by dragging gridlines with the mouse.
472 \membersection{wxGrid::EnableDragRowSize
}\label{wxgridenabledragrowsize
}
474 \func{void
}{EnableDragRowSize
}{\param{bool
}{enable = true
}}
476 Enables or disables row sizing by dragging with the mouse.
480 \membersection{wxGrid::EnableEditing
}\label{wxgridenableediting
}
482 \func{void
}{EnableEditing
}{\param{bool
}{edit
}}
484 If the edit argument is false this function sets the whole grid as read-only. If the
485 argument is true the grid is set to the default state where cells may be editable. In the
486 default state you can set single grid cells and whole rows and columns to be editable or
488 \helpref{wxGridCellAttribute::SetReadOnly
}{wxgridcellattrsetreadonly
}. For single
489 cells you can also use the shortcut function
490 \helpref{wxGrid::SetReadOnly
}{wxgridsetreadonly
}.
492 For more information about controlling grid cell attributes see the
493 \helpref{wxGridCellAttr
}{wxgridcellattr
} cell attribute class and the
494 \helpref{wxGrid classes overview
}{gridoverview
}.
498 \membersection{wxGrid::EnableGridLines
}\label{wxgridenablegridlines
}
500 \func{void
}{EnableGridLines
}{\param{bool
}{enable = true
}}
502 Turns the drawing of grid lines on or off.
506 \membersection{wxGrid::EndBatch
}\label{wxgridendbatch
}
508 \func{void
}{EndBatch
}{\void}
510 Decrements the grid's batch count. When the count is greater than zero repainting of
511 the grid is suppressed. Each previous call to
512 \helpref{wxGrid::BeginBatch
}{wxgridbeginbatch
} must be matched by a later call to
513 EndBatch. Code that does a lot of grid modification can be enclosed between
514 BeginBatch and EndBatch calls to avoid screen flicker. The final EndBatch will
515 cause the grid to be repainted.
519 \membersection{wxGrid::Fit
}\label{wxgridfit
}
521 \func{void
}{Fit
}{\void}
523 Overridden wxWindow method.
527 \membersection{wxGrid::ForceRefresh
}\label{wxgridforcerefresh
}
529 \func{void
}{ForceRefresh
}{\void}
531 Causes immediate repainting of the grid. Use this instead of the usual wxWindow::Refresh.
535 \membersection{wxGrid::GetBatchCount
}\label{wxgridgetbatchcount
}
537 \func{int
}{GetBatchCount
}{\void}
539 Returns the number of times that
\helpref{wxGrid::BeginBatch
}{wxgridbeginbatch
} has been called
540 without (yet) matching calls to
\helpref{wxGrid::EndBatch
}{wxgridendbatch
}. While
541 the grid's batch count is greater than zero the display will not be updated.
545 \membersection{wxGrid::GetCellAlignment
}\label{wxgridgetcellalignment
}
547 \func{void
}{GetCellAlignment
}{\param{int
}{row
},
\param{int
}{col
},
\param{int*
}{horiz
},
\param{int*
}{vert
}}
549 Sets the arguments to the horizontal and vertical text alignment values for the
550 grid cell at the specified location.
552 Horizontal alignment will be one of wxALIGN
\_LEFT, wxALIGN
\_CENTRE or wxALIGN
\_RIGHT. \\
553 Vertical alignment will be one of wxALIGN
\_TOP, wxALIGN
\_CENTRE or wxALIGN
\_BOTTOM.
555 \perlnote{This method only takes the parameters
{\tt row
} and
{\tt col
} and
556 returns a
2-element list
{\tt ( horiz, vert )
}.
}
560 \membersection{wxGrid::GetCellBackgroundColour
}\label{wxgridgetcellbackgroundcolour
}
562 \func{wxColour
}{GetCellBackgroundColour
}{\param{int
}{row
},
\param{int
}{col
}}
564 Returns the background colour of the cell at the specified location.
568 \membersection{wxGrid::GetCellEditor
}\label{wxgridgetcelleditor
}
570 \func{wxGridCellEditor*
}{GetCellEditor
}{\param{int
}{row
},
\param{int
}{col
}}
572 Returns a pointer to the editor for the cell at the specified location.
574 See
\helpref{wxGridCellEditor
}{wxgridcelleditor
} and
575 the
\helpref{wxGrid overview
}{gridoverview
} for more information about cell editors and renderers.
579 \membersection{wxGrid::GetCellFont
}\label{wxgridgetcellfont
}
581 \func{wxFont
}{GetCellFont
}{\param{int
}{row
},
\param{int
}{col
}}
583 Returns the font for text in the grid cell at the specified location.
587 \membersection{wxGrid::GetCellRenderer
}\label{wxgridgetcellrenderer
}
589 \func{wxGridCellRenderer*
}{GetCellRenderer
}{\param{int
}{row
},
\param{int
}{col
}}
591 Returns a pointer to the renderer for the grid cell at the specified location.
593 See
\helpref{wxGridCellRenderer
}{wxgridcellrenderer
} and
594 the
\helpref{wxGrid overview
}{gridoverview
} for more information about cell editors and renderers.
598 \membersection{wxGrid::GetCellTextColour
}\label{wxgridgetcelltextcolour
}
600 \func{wxColour
}{GetCellTextColour
}{\param{int
}{row
},
\param{int
}{col
}}
602 Returns the text colour for the grid cell at the specified location.
606 \membersection{wxGrid::GetCellValue
}\label{wxgridgetcellvalue
}
608 \func{wxString
}{GetCellValue
}{\param{int
}{row
},
\param{int
}{col
}}
610 \func{wxString
}{GetCellValue
}{\param{const wxGridCellCoords\&
}{coords
}}
612 Returns the string contained in the cell at the specified location. For simple applications where a
613 grid object automatically uses a default grid table of string values you use this function together
614 with
\helpref{wxGrid::SetCellValue
}{wxgridsetcellvalue
} to access cell values.
616 For more complex applications where you have derived your own grid table class that contains
617 various data types (e.g. numeric, boolean or user-defined custom types) then you only use this
618 function for those cells that contain string values.
620 See
\helpref{wxGridTableBase::CanGetValueAs
}{wxgridtablebasecangetvalueas
}
621 and the
\helpref{wxGrid overview
}{gridoverview
} for more information.
625 \membersection{wxGrid::GetColAt
}\label{wxgridgetcolat
}
627 \constfunc{int
}{GetColAt
}{\param{int
}{colPos
}}
629 Returns the column ID of the specified column position.
632 \membersection{wxGrid::GetColLeft
}\label{wxgridgetcolleft
}
634 \constfunc{int
}{GetColLeft
}{\param{int
}{col
}}
638 \membersection{wxGrid::GetColLabelAlignment
}\label{wxgridgetcollabelalignment
}
640 \func{void
}{GetColLabelAlignment
}{\param{int*
}{horiz
},
\param{int*
}{vert
}}
642 Sets the arguments to the current column label alignment values.
644 Horizontal alignment will be one of wxALIGN
\_LEFT, wxALIGN
\_CENTRE or wxALIGN
\_RIGHT.\\
645 Vertical alignment will be one of wxALIGN
\_TOP, wxALIGN
\_CENTRE or wxALIGN
\_BOTTOM.
647 \perlnote{This method takes no parameters and
648 returns a
2-element list
{\tt ( horiz, vert )
}.
}
652 \membersection{wxGrid::GetColLabelSize
}\label{wxgridgetcollabelsize
}
654 \func{int
}{GetColLabelSize
}{\void}
656 Returns the current height of the column labels.
660 \membersection{wxGrid::GetColLabelValue
}\label{wxgridgetcollabelvalue
}
662 \func{wxString
}{GetColLabelValue
}{\param{int
}{col
}}
664 Returns the specified column label. The default grid table class provides column labels of
665 the form A,B...Z,AA,AB...ZZ,AAA... If you are using a custom grid table you can override
666 \helpref{wxGridTableBase::GetColLabelValue
}{wxgridtablebasegetcollabelvalue
} to provide
671 \membersection{wxGrid::GetColMinimalAcceptableWidth
}\label{wxgridgetcolminimalacceptablewidth
}
673 \func{int
}{GetColMinimalAcceptableWidth
}{}
675 This returns the value of the lowest column width that can be handled correctly. See
676 member
\helpref{SetColMinimalAcceptableWidth
}{wxgridsetcolminimalacceptablewidth
} for details.
680 \membersection{wxGrid::GetColMinimalWidth
}\label{wxgridgetcolminimalwidth
}
682 \constfunc{int
}{GetColMinimalWidth
}{\param{int
}{col
}}
684 Get the minimal width of the given column/row.
688 \membersection{wxGrid::GetColPos
}\label{wxgridgetcolpos
}
690 \constfunc{int
}{GetColPos
}{\param{int
}{colID
}}
692 Returns the position of the specified column.
696 \membersection{wxGrid::GetColRight
}\label{wxgridgetcolright
}
698 \constfunc{int
}{GetColRight
}{\param{int
}{col
}}
702 \membersection{wxGrid::GetColSize
}\label{wxgridgetcolsize
}
704 \func{int
}{GetColSize
}{\param{int
}{col
}}
706 Returns the width of the specified column.
710 \membersection{wxGrid::GetDefaultCellAlignment
}\label{wxgridgetdefaultcellalignment
}
712 \func{void
}{GetDefaultCellAlignment
}{\param{int*
}{horiz
},
\param{int*
}{vert
}}
714 Sets the arguments to the current default horizontal and vertical text alignment
717 Horizontal alignment will be one of wxALIGN
\_LEFT, wxALIGN
\_CENTRE or wxALIGN
\_RIGHT. \\
718 Vertical alignment will be one of wxALIGN
\_TOP, wxALIGN
\_CENTRE or wxALIGN
\_BOTTOM.
722 \membersection{wxGrid::GetDefaultCellBackgroundColour
}\label{wxgridgetdefaultcellbackgroundcolour
}
724 \func{wxColour
}{GetDefaultCellBackgroundColour
}{\void}
726 Returns the current default background colour for grid cells.
730 \membersection{wxGrid::GetDefaultCellFont
}\label{wxgridgetdefaultcellfont
}
732 \func{wxFont
}{GetDefaultCellFont
}{\void}
734 Returns the current default font for grid cell text.
738 \membersection{wxGrid::GetDefaultCellTextColour
}\label{wxgridgetdefaultcelltextcolour
}
740 \func{wxColour
}{GetDefaultCellTextColour
}{\void}
742 Returns the current default colour for grid cell text.
746 \membersection{wxGrid::GetDefaultColLabelSize
}\label{wxgridgetdefaultcollabelsize
}
748 \func{int
}{GetDefaultColLabelSize
}{\void}
750 Returns the default height for column labels.
754 \membersection{wxGrid::GetDefaultColSize
}\label{wxgridgetdefaultcolsize
}
756 \func{int
}{GetDefaultColSize
}{\void}
758 Returns the current default width for grid columns.
762 \membersection{wxGrid::GetDefaultEditor
}\label{wxgridgetdefaulteditor
}
764 \constfunc{wxGridCellEditor*
}{GetDefaultEditor
}{\void}
766 Returns a pointer to the current default grid cell editor.
768 See
\helpref{wxGridCellEditor
}{wxgridcelleditor
} and
769 the
\helpref{wxGrid overview
}{gridoverview
} for more information about cell editors and renderers.
773 \membersection{wxGrid::GetDefaultEditorForCell
}\label{wxgridgetdefaulteditorforcell
}
775 \constfunc{wxGridCellEditor*
}{GetDefaultEditorForCell
}{\param{int
}{row
},
\param{int
}{col
}}
777 \constfunc{wxGridCellEditor*
}{GetDefaultEditorForCell
}{\param{const wxGridCellCoords\&
}{c
}}
781 \membersection{wxGrid::GetDefaultEditorForType
}\label{wxgridgetdefaulteditorfortype
}
783 \constfunc{wxGridCellEditor*
}{GetDefaultEditorForType
}{\param{const wxString\&
}{typeName
}}
787 \membersection{wxGrid::GetDefaultRenderer
}\label{wxgridgetdefaultrenderer
}
789 \constfunc{wxGridCellRenderer*
}{GetDefaultRenderer
}{\void}
791 Returns a pointer to the current default grid cell renderer.
793 See
\helpref{wxGridCellRenderer
}{wxgridcellrenderer
} and
794 the
\helpref{wxGrid overview
}{gridoverview
} for more information about cell editors and renderers.
798 \membersection{wxGrid::GetDefaultRendererForCell
}\label{wxgridgetdefaultrendererforcell
}
800 \constfunc{wxGridCellRenderer*
}{GetDefaultRendererForCell
}{\param{int
}{row
},
\param{int
}{col
}}
804 \membersection{wxGrid::GetDefaultRendererForType
}\label{wxgridgetdefaultrendererfortype
}
806 \constfunc{wxGridCellRenderer*
}{GetDefaultRendererForType
}{\param{const wxString\&
}{typeName
}}
810 \membersection{wxGrid::GetDefaultRowLabelSize
}\label{wxgridgetdefaultrowlabelsize
}
812 \func{int
}{GetDefaultRowLabelSize
}{\void}
814 Returns the default width for the row labels.
818 \membersection{wxGrid::GetDefaultRowSize
}\label{wxgridgetdefaultrowsize
}
820 \func{int
}{GetDefaultRowSize
}{\void}
822 Returns the current default height for grid rows.
826 \membersection{wxGrid::GetGridCursorCol
}\label{wxgridgetgridcursorcol
}
828 \func{int
}{GetGridCursorCol
}{\void}
830 Returns the current grid cell column position.
834 \membersection{wxGrid::GetGridCursorRow
}\label{wxgridgetgridcursorrow
}
836 \func{int
}{GetGridCursorRow
}{\void}
838 Returns the current grid cell row position.
842 \membersection{wxGrid::GetGridLineColour
}\label{wxgridgetgridlinecolour
}
844 \func{wxColour
}{GetGridLineColour
}{\void}
846 Returns the colour used for grid lines.
850 \helpref{GetDefaultGridLinePen()
}{wxgridgetdefaultgridlinepen
}
853 \membersection{wxGrid::GetDefaultGridLinePen
}\label{wxgridgetdefaultgridlinepen
}
855 \func{wxPen
}{GetDefaultGridLinePen
}{\void}
857 Returns the pen used for grid lines. This virtual function may be overridden in
858 derived classes in order to change the appearance of grid lines. Note that
859 currently the pen width must be $
1$.
863 \helpref{GetColGridLinePen()
}{wxgridgetcolgridlinepen
},\\
864 \helpref{GetRowGridLinePen()
}{wxgridgetrowgridlinepen
}
869 \membersection{wxGrid::GetRowGridLinePen
}\label{wxgridgetrowgridlinepen
}
871 \func{wxPen
}{GetRowGridLinePen
}{\param{int
}{row
}}
873 Returns the pen used for horizontal grid lines. This virtual function may be
874 overridden in derived classes in order to change the appearance of individual
875 grid line for the given row
\arg{row
}.
880 // in a grid displaying music notation, use a solid black pen between
881 // octaves (C0=row
127, C1=row
115 etc.)
882 wxPen MidiGrid::GetRowGridLinePen(int row)
885 return wxPen
(*wxBLACK, 1, wxSOLID);
887 return GetDefaultGridLinePen();
893 \membersection{wxGrid::GetColGridLinePen}\label{wxgridgetcolgridlinepen}
895 \func{wxPen}{GetColGridLinePen}{\param{int }{col}}
897 Returns the pen used for vertical grid lines. This virtual function may be
898 overridden in derived classes in order to change the appearance of individual
899 grid lines for the given column \arg{col}.
901 See \helpref{GetRowGridLinePen()}{wxgridgetrowgridlinepen} for an example.
906 \membersection{wxGrid::GridLinesEnabled}\label{wxgridgridlinesenabled}
908 \func{bool}{GridLinesEnabled}{\void}
910 Returns true if drawing of grid lines is turned on, false otherwise.
914 \membersection{wxGrid::GetLabelBackgroundColour}\label{wxgridgetlabelbackgroundcolour}
916 \func{wxColour}{GetLabelBackgroundColour}{\void}
918 Returns the colour used for the background of row and column labels.
922 \membersection{wxGrid::GetLabelFont}\label{wxgridgetlabelfont}
924 \func{wxFont}{GetLabelFont}{\void}
926 Returns the font used for row and column labels.
930 \membersection{wxGrid::GetLabelTextColour}\label{wxgridgetlabeltextcolour}
932 \func{wxColour}{GetLabelTextColour}{\void}
934 Returns the colour used for row and column label text.
938 \membersection{wxGrid::GetNumberCols}\label{wxgridgetnumbercols}
940 \func{int}{GetNumberCols}{\void}
942 Returns the total number of grid columns (actually the number of columns in the underlying grid
947 \membersection{wxGrid::GetNumberRows}\label{wxgridgetnumberrows}
949 \func{int}{GetNumberRows}{\void}
951 Returns the total number of grid rows (actually the number of rows in the underlying grid table).
955 \membersection{wxGrid::GetOrCreateCellAttr}\label{wxgridgetorcreatecellattr}
957 \constfunc{wxGridCellAttr*}{GetOrCreateCellAttr}{\param{int }{row}, \param{int }{col}}
961 \membersection{wxGrid::GetRowMinimalAcceptableHeight}\label{wxgridgetrowminimalacceptableheight}
963 \func{int}{GetRowMinimalAcceptableHeight}{}
965 This returns the value of the lowest row width that can be handled correctly. See
966 member \helpref{SetRowMinimalAcceptableHeight}{wxgridsetrowminimalacceptableheight} for details.
970 \membersection{wxGrid::GetRowMinimalHeight}\label{wxgridgetrowminimalheight}
972 \constfunc{int}{GetRowMinimalHeight}{\param{int }{col}}
976 \membersection{wxGrid::GetRowLabelAlignment}\label{wxgridgetrowlabelalignment}
978 \func{void}{GetRowLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
980 Sets the arguments to the current row label alignment values.
982 Horizontal alignment will be one of wxLEFT, wxCENTRE or wxRIGHT. \\
983 Vertical alignment will be one of wxTOP, wxCENTRE or wxBOTTOM.
985 \perlnote{This method takes no parameters and
986 returns a 2-element list {\tt ( horiz, vert )}.}
990 \membersection{wxGrid::GetRowLabelSize}\label{wxgridgetrowlabelsize}
992 \func{int}{GetRowLabelSize}{\void}
994 Returns the current width of the row labels.
998 \membersection{wxGrid::GetRowLabelValue}\label{wxgridgetrowlabelvalue}
1000 \func{wxString}{GetRowLabelValue}{\param{int }{row}}
1002 Returns the specified row label. The default grid table class provides numeric row labels.
1003 If you are using a custom grid table you can override
1004 \helpref{wxGridTableBase::GetRowLabelValue}{wxgridtablebasegetcollabelvalue} to provide
1009 \membersection{wxGrid::GetRowSize}\label{wxgridgetrowsize}
1011 \func{int}{GetRowSize}{\param{int }{row}}
1013 Returns the height of the specified row.
1017 \membersection{wxGrid::GetScrollLineX}\label{wxgridgetscrolllinex}
1019 \constfunc{int}{GetScrollLineX}{\void}
1021 Returns the number of pixels per horizontal scroll increment. The default is 15.
1023 \wxheading{See also}
1025 \helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
1026 \helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex},\rtfsp
1027 \helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
1031 \membersection{wxGrid::GetScrollLineY}\label{wxgridgetscrollliney}
1033 \constfunc{int}{GetScrollLineY}{\void}
1035 Returns the number of pixels per vertical scroll increment. The default is 15.
1037 \wxheading{See also}
1039 \helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
1040 \helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex},\rtfsp
1041 \helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
1045 \membersection{wxGrid::GetSelectionMode}\label{wxgridgetselectionmode}
1047 \constfunc{wxGrid::wxGridSelectionModes}{GetSelectionMode}{\void}
1049 Returns the current selection mode, see \helpref{wxGrid::SetSelectionMode}{wxgridsetselectionmode}.
1053 \membersection{wxGrid::GetSelectedCells}\label{wxgridgetselectedcells}
1055 \constfunc{wxGridCellCoordsArray}{GetSelectedCells}{\void}
1057 Returns an array of singly selected cells.
1061 \membersection{wxGrid::GetSelectedCols}\label{wxgridgetselectedcols}
1063 \constfunc{wxArrayInt}{GetSelectedCols}{\void}
1065 Returns an array of selected cols.
1069 \membersection{wxGrid::GetSelectedRows}\label{wxgridgetselectedrows}
1071 \constfunc{wxArrayInt}{GetSelectedRows}{\void}
1073 Returns an array of selected rows.
1077 \membersection{wxGrid::GetSelectionBackground}\label{wxgridgetselectionbackground}
1079 \constfunc{wxColour}{GetSelectionBackground}{\void}
1081 Access or update the selection fore/back colours
1085 \membersection{wxGrid::GetSelectionBlockTopLeft}\label{wxgridgetselectionblocktopleft}
1087 \constfunc{wxGridCellCoordsArray}{GetSelectionBlockTopLeft}{\void}
1089 Returns an array of the top left corners of blocks of selected cells,
1090 see \helpref{wxGrid::GetSelectionBlockBottomRight}{wxgridgetselectionblockbottomright}.
1094 \membersection{wxGrid::GetSelectionBlockBottomRight}\label{wxgridgetselectionblockbottomright}
1096 \constfunc{wxGridCellCoordsArray}{GetSelectionBlockBottomRight}{\void}
1098 Returns an array of the bottom right corners of blocks of selected cells,
1099 see \helpref{wxGrid::GetSelectionBlockTopLeft}{wxgridgetselectionblocktopleft}.
1103 \membersection{wxGrid::GetSelectionForeground}\label{wxgridgetselectionforeground}
1105 \constfunc{wxColour}{GetSelectionForeground}{\void}
1109 \membersection{wxGrid::GetTable}\label{wxgridgettable}
1111 \constfunc{wxGridTableBase *}{GetTable}{\void}
1113 Returns a base pointer to the current table object.
1117 \membersection{wxGrid::GetViewWidth}\label{wxgridgetviewwidth}
1119 \func{int}{GetViewWidth}{\void}
1121 Returned number of whole cols visible.
1125 \membersection{wxGrid::HideCellEditControl}\label{wxgridhidecelleditcontrol}
1127 \func{void}{HideCellEditControl}{\void}
1129 Hides the in-place cell edit control.
1133 \membersection{wxGrid::InitColWidths}\label{wxgridinitcolwidths}
1135 \func{void}{InitColWidths}{\void}
1137 Init the m\_colWidths/Rights arrays
1141 \membersection{wxGrid::InitRowHeights}\label{wxgridinitrowheights}
1143 \func{void}{InitRowHeights}{\void}
1145 NB: {\it never} access m\_row/col arrays directly because they are created
1146 on demand, {\it always} use accessor functions instead!
1148 Init the m\_rowHeights/Bottoms arrays with default values.
1152 \membersection{wxGrid::InsertCols}\label{wxgridinsertcols}
1154 \func{bool}{InsertCols}{\param{int }{pos = 0}, \param{int }{numCols = 1}, \param{bool }{updateLabels = true}}
1156 Inserts one or more new columns into a grid with the first new column at the
1157 specified position and returns true if successful. The updateLabels argument is not
1160 The sequence of actions begins with the grid object requesting the underlying grid
1161 table to insert new columns. If this is successful the table notifies the grid and the
1162 grid updates the display. For a default grid (one where you have called
1163 \helpref{wxGrid::CreateGrid}{wxgridcreategrid}) this process is automatic. If you are
1164 using a custom grid table (specified with \helpref{wxGrid::SetTable}{wxgridsettable})
1165 then you must override
1166 \helpref{wxGridTableBase::InsertCols}{wxgridtablebaseinsertcols} in your derived
1171 \membersection{wxGrid::InsertRows}\label{wxgridinsertrows}
1173 \func{bool}{InsertRows}{\param{int }{pos = 0}, \param{int }{numRows = 1}, \param{bool }{updateLabels = true}}
1175 Inserts one or more new rows into a grid with the first new row at the specified
1176 position and returns true if successful. The updateLabels argument is not used at
1179 The sequence of actions begins with the grid object requesting the underlying grid
1180 table to insert new rows. If this is successful the table notifies the grid and the
1181 grid updates the display. For a default grid (one where you have called
1182 \helpref{wxGrid::CreateGrid}{wxgridcreategrid}) this process is automatic. If you are
1183 using a custom grid table (specified with \helpref{wxGrid::SetTable}{wxgridsettable})
1184 then you must override
1185 \helpref{wxGridTableBase::InsertRows}{wxgridtablebaseinsertrows} in your derived
1190 \membersection{wxGrid::IsCellEditControlEnabled}\label{wxgridiscelleditcontrolenabled}
1192 \constfunc{bool}{IsCellEditControlEnabled}{\void}
1194 Returns true if the in-place edit control is currently enabled.
1198 \membersection{wxGrid::IsCurrentCellReadOnly}\label{wxgridiscurrentcellreadonly}
1200 \constfunc{bool}{IsCurrentCellReadOnly}{\void}
1202 Returns true if the current cell has been set to read-only
1203 (see \helpref{wxGrid::SetReadOnly}{wxgridsetreadonly}).
1207 \membersection{wxGrid::IsEditable}\label{wxgridiseditable}
1209 \func{bool}{IsEditable}{\void}
1211 Returns false if the whole grid has been set as read-only or true otherwise.
1212 See \helpref{wxGrid::EnableEditing}{wxgridenableediting} for more information about
1213 controlling the editing status of grid cells.
1217 \membersection{wxGrid::IsInSelection}\label{wxgridisinselection}
1219 \constfunc{bool}{IsInSelection}{\param{int }{row}, \param{int }{col}}
1221 \constfunc{bool}{IsInSelection}{\param{const wxGridCellCoords\& }{coords}}
1223 Is this cell currently selected.
1227 \membersection{wxGrid::IsReadOnly}\label{wxgridisreadonly}
1229 \constfunc{bool}{IsReadOnly}{\param{int }{row}, \param{int }{col}}
1231 Returns true if the cell at the specified location can't be edited.
1232 See also \helpref{wxGrid::IsReadOnly}{wxgridisreadonly}.
1236 \membersection{wxGrid::IsSelection}\label{wxgridisselection}
1238 \func{bool}{IsSelection}{\void}
1240 Returns true if there are currently rows, columns or blocks of cells selected.
1244 \membersection{wxGrid::IsVisible}\label{wxgridisvisible}
1246 \func{bool}{IsVisible}{\param{int }{row}, \param{int }{col}, \param{bool }{wholeCellVisible = true}}
1248 \func{bool}{IsVisible}{\param{const wxGridCellCoords\& }{coords}, \param{bool }{wholeCellVisible = true}}
1250 Returns true if a cell is either wholly visible (the default) or at least partially
1251 visible in the grid window.
1255 \membersection{wxGrid::MakeCellVisible}\label{wxgridmakecellvisible}
1257 \func{void}{MakeCellVisible}{\param{int }{row}, \param{int }{col}}
1259 \func{void}{MakeCellVisible}{\param{const wxGridCellCoords\& }{coords}}
1261 Brings the specified cell into the visible grid cell area with minimal scrolling. Does
1262 nothing if the cell is already visible.
1266 \membersection{wxGrid::MoveCursorDown}\label{wxgridmovecursordown}
1268 \func{bool}{MoveCursorDown}{\param{bool }{expandSelection}}
1270 Moves the grid cursor down by one row. If a block of cells was previously selected it
1271 will expand if the argument is true or be cleared if the argument is false.
1273 \wxheading{Keyboard}\\
1274 This function is called for Down cursor key presses or Shift+Down to expand a selection.
1278 \membersection{wxGrid::MoveCursorLeft}\label{wxgridmovecursorleft}
1280 \func{bool}{MoveCursorLeft}{\param{bool }{expandSelection}}
1282 Moves the grid cursor left by one column. If a block of cells was previously selected it
1283 will expand if the argument is true or be cleared if the argument is false.
1285 \wxheading{Keyboard}\\
1286 This function is called for Left cursor key presses or Shift+Left to expand a selection.
1290 \membersection{wxGrid::MoveCursorRight}\label{wxgridmovecursorright}
1292 \func{bool}{MoveCursorRight}{\param{bool }{expandSelection}}
1294 Moves the grid cursor right by one column. If a block of cells was previously selected it
1295 will expand if the argument is true or be cleared if the argument is false.
1297 \wxheading{Keyboard}\\
1298 This function is called for Right cursor key presses or Shift+Right to expand a selection.
1302 \membersection{wxGrid::MoveCursorUp}\label{wxgridmovecursorup}
1304 \func{bool}{MoveCursorUp}{\param{bool }{expandSelection}}
1306 Moves the grid cursor up by one row. If a block of cells was previously selected it
1307 will expand if the argument is true or be cleared if the argument is false.
1309 \wxheading{Keyboard}\\
1310 This function is called for Up cursor key presses or Shift+Up to expand a selection.
1314 \membersection{wxGrid::MoveCursorDownBlock}\label{wxgridmovecursordownblock}
1316 \func{bool}{MoveCursorDownBlock}{\param{bool }{expandSelection}}
1318 Moves the grid cursor down in the current column such that it skips to the beginning or
1319 end of a block of non-empty cells. If a block of cells was previously selected it
1320 will expand if the argument is true or be cleared if the argument is false.
1322 \wxheading{Keyboard}\\
1323 This function is called for the Ctrl+Down key combination. Shift+Ctrl+Down expands a selection.
1327 \membersection{wxGrid::MoveCursorLeftBlock}\label{wxgridmovecursorleftblock}
1329 \func{bool}{MoveCursorLeftBlock}{\param{bool }{expandSelection}}
1331 Moves the grid cursor left in the current row such that it skips to the beginning or
1332 end of a block of non-empty cells. If a block of cells was previously selected it
1333 will expand if the argument is true or be cleared if the argument is false.
1335 \wxheading{Keyboard}\\
1336 This function is called for the Ctrl+Left key combination. Shift+Ctrl+left expands a selection.
1340 \membersection{wxGrid::MoveCursorRightBlock}\label{wxgridmovecursorrightblock}
1342 \func{bool}{MoveCursorRightBlock}{\param{bool }{expandSelection}}
1344 Moves the grid cursor right in the current row such that it skips to the beginning or
1345 end of a block of non-empty cells. If a block of cells was previously selected it
1346 will expand if the argument is true or be cleared if the argument is false.
1348 \wxheading{Keyboard}\\
1349 This function is called for the Ctrl+Right key combination. Shift+Ctrl+Right expands a selection.
1353 \membersection{wxGrid::MoveCursorUpBlock}\label{wxgridmovecursorupblock}
1355 \func{bool}{MoveCursorUpBlock}{\param{bool }{expandSelection}}
1357 Moves the grid cursor up in the current column such that it skips to the beginning or
1358 end of a block of non-empty cells. If a block of cells was previously selected it
1359 will expand if the argument is true or be cleared if the argument is false.
1361 \wxheading{Keyboard}\\
1362 This function is called for the Ctrl+Up key combination. Shift+Ctrl+Up expands a selection.
1366 \membersection{wxGrid::MovePageDown}\label{wxgridmovepagedown}
1368 \func{bool}{MovePageDown}{\void}
1370 Moves the grid cursor down by some number of rows so that the previous bottom visible row
1371 becomes the top visible row.
1373 \wxheading{Keyboard}\\
1374 This function is called for PgDn keypresses.
1378 \membersection{wxGrid::MovePageUp}\label{wxgridmovepageup}
1380 \func{bool}{MovePageUp}{\void}
1382 Moves the grid cursor up by some number of rows so that the previous top visible row
1383 becomes the bottom visible row.
1385 \wxheading{Keyboard}\\
1386 This function is called for PgUp keypresses.
1390 \membersection{wxGrid::RegisterDataType}\label{wxgridregisterdatatype}
1392 \func{void}{RegisterDataType}{\param{const wxString\& }{typeName}, \param{wxGridCellRenderer* }{renderer}, \param{wxGridCellEditor* }{editor}}
1394 Methods for a registry for mapping data types to Renderers/Editors
1398 \membersection{wxGrid::SaveEditControlValue}\label{wxgridsaveeditcontrolvalue}
1400 \func{void}{SaveEditControlValue}{\void}
1402 Sets the value of the current grid cell to the current in-place edit control value.
1403 This is called automatically when the grid cursor moves from the current cell to a
1404 new cell. It is also a good idea to call this function when closing a grid since
1405 any edits to the final cell location will not be saved otherwise.
1409 \membersection{wxGrid::SelectAll}\label{wxgridselectall}
1411 \func{void}{SelectAll}{\void}
1413 Selects all cells in the grid.
1417 \membersection{wxGrid::SelectBlock}\label{wxgridselectblock}
1419 \func{void}{SelectBlock}{\param{int }{topRow}, \param{int }{leftCol},
1420 \param{int }{bottomRow}, \param{int }{rightCol}, \param{bool }{addToSelected = false}}
1422 \func{void}{SelectBlock}{\param{const wxGridCellCoords\& }{topLeft},
1423 \param{const wxGridCellCoords\& }{bottomRight}, \param{bool }{addToSelected = false}}
1425 Selects a rectangular block of cells. If addToSelected is false then any existing selection will be
1426 deselected; if true the column will be added to the existing selection.
1430 \membersection{wxGrid::SelectCol}\label{wxgridselectcol}
1432 \func{void}{SelectCol}{\param{int }{col}, \param{bool }{addToSelected = false}}
1434 Selects the specified column. If addToSelected is false then any existing selection will be
1435 deselected; if true the column will be added to the existing selection.
1439 \membersection{wxGrid::SelectionToDeviceRect}\label{wxgridselectiontodevicerect}
1441 \func{wxRect}{SelectionToDeviceRect}{\void}
1443 This function returns the rectangle that encloses the selected cells
1444 in device coords and clipped to the client size of the grid window.
1448 \membersection{wxGrid::SelectRow}\label{wxgridselectrow}
1450 \func{void}{SelectRow}{\param{int }{row}, \param{bool }{addToSelected = false}}
1452 Selects the specified row. If addToSelected is false then any existing selection will be
1453 deselected; if true the row will be added to the existing selection.
1457 \membersection{wxGrid::SetCellAlignment}\label{wxgridsetcellalignment}
1459 \func{void}{SetCellAlignment}{\param{int }{row}, \param{int }{col}, \param{int }{horiz}, \param{int }{vert}}
1461 \func{void}{SetCellAlignment}{\param{int }{align}, \param{int }{row}, \param{int }{col}}
1463 Sets the horizontal and vertical alignment for grid cell text at the specified location.
1465 Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT. \\
1466 Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
1470 \membersection{wxGrid::SetCellBackgroundColour}\label{wxgridsetcellbackgroundcolour}
1472 \func{void}{SetCellBackgroundColour}{\param{int }{row}, \param{int }{col}, \param{const wxColour\&}{ colour}}
1476 \membersection{wxGrid::SetCellEditor}\label{wxgridsetcelleditor}
1478 \func{void}{SetCellEditor}{\param{int }{row}, \param{int }{col}, \param{wxGridCellEditor* }{editor}}
1480 Sets the editor for the grid cell at the specified location.
1481 The grid will take ownership of the pointer.
1483 See \helpref{wxGridCellEditor}{wxgridcelleditor} and
1484 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1488 \membersection{wxGrid::SetCellFont}\label{wxgridsetcellfont}
1490 \func{void}{SetCellFont}{\param{int }{row}, \param{int }{col}, \param{const wxFont\&}{ font}}
1492 Sets the font for text in the grid cell at the specified location.
1496 \membersection{wxGrid::SetCellRenderer}\label{wxgridsetcellrenderer}
1498 \func{void}{SetCellRenderer}{\param{int }{row}, \param{int }{col}, \param{wxGridCellRenderer* }{renderer}}
1500 Sets the renderer for the grid cell at the specified location.
1501 The grid will take ownership of the pointer.
1503 See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
1504 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1508 \membersection{wxGrid::SetCellTextColour}\label{wxgridsetcelltextcolour}
1510 \func{void}{SetCellTextColour}{\param{int }{row}, \param{int }{col}, \param{const wxColour\&}{ colour}}
1512 \func{void}{SetCellTextColour}{\param{const wxColour\& }{val}, \param{int }{row}, \param{int }{col}}
1514 \func{void}{SetCellTextColour}{\param{const wxColour\& }{colour}}
1516 Sets the text colour for the grid cell at the specified location.
1520 \membersection{wxGrid::SetCellValue}\label{wxgridsetcellvalue}
1522 \func{void}{SetCellValue}{\param{int }{row}, \param{int }{col}, \param{const wxString\& }{s}}
1524 \func{void}{SetCellValue}{\param{const wxGridCellCoords\& }{coords}, \param{const wxString\& }{s}}
1526 \func{void}{SetCellValue}{\param{const wxString\& }{val}, \param{int }{row}, \param{int }{col}}
1528 Sets the string value for the cell at the specified location. For simple applications where a
1529 grid object automatically uses a default grid table of string values you use this function together
1530 with \helpref{wxGrid::GetCellValue}{wxgridgetcellvalue} to access cell values.
1532 For more complex applications where you have derived your own grid table class that contains
1533 various data types (e.g. numeric, boolean or user-defined custom types) then you only use this
1534 function for those cells that contain string values.
1536 The last form is for backward compatibility only.
1538 See \helpref{wxGridTableBase::CanSetValueAs}{wxgridtablebasecangetvalueas}
1539 and the \helpref{wxGrid overview}{gridoverview} for more information.
1543 \membersection{wxGrid::SetColAttr}\label{wxgridsetcolattr}
1545 \func{void}{SetColAttr}{\param{int }{col}, \param{wxGridCellAttr* }{attr}}
1547 Sets the cell attributes for all cells in the specified column.
1549 For more information about controlling grid cell attributes see the
1550 \helpref{wxGridCellAttr}{wxgridcellattr} cell attribute class and the
1551 \helpref{wxGrid classes overview}{gridoverview}.
1555 \membersection{wxGrid::SetColFormatBool}\label{wxgridsetcolformatbool}
1557 \func{void}{SetColFormatBool}{\param{int }{col}}
1559 Sets the specified column to display boolean values. wxGrid displays boolean values with a checkbox.
1563 \membersection{wxGrid::SetColFormatNumber}\label{wxgridsetcolformatnumber}
1565 \func{void}{SetColFormatNumber}{\param{int }{col}}
1567 Sets the specified column to display integer values.
1571 \membersection{wxGrid::SetColFormatFloat}\label{wxgridsetcolformatfloat}
1573 \func{void}{SetColFormatFloat}{\param{int }{col}, \param{int }{width = -1}, \param{int }{precision = -1}}
1575 Sets the specified column to display floating point values with the given width and precision.
1579 \membersection{wxGrid::SetColFormatCustom}\label{wxgridsetcolformatcustom}
1581 \func{void}{SetColFormatCustom}{\param{int }{col}, \param{const wxString\& }{typeName}}
1583 Sets the specified column to display data in a custom format.
1584 See the \helpref{wxGrid overview}{gridoverview} for more information on working
1585 with custom data types.
1589 \membersection{wxGrid::SetColLabelAlignment}\label{wxgridsetcollabelalignment}
1591 \func{void}{SetColLabelAlignment}{\param{int }{horiz}, \param{int }{vert}}
1593 Sets the horizontal and vertical alignment of column label text.
1595 Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
1597 Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
1601 \membersection{wxGrid::SetColLabelSize}\label{wxgridsetcollabelsize}
1603 \func{void}{SetColLabelSize}{\param{int }{height}}
1605 Sets the height of the column labels.
1609 \membersection{wxGrid::SetColLabelValue}\label{wxgridsetcollabelvalue}
1611 \func{void}{SetColLabelValue}{\param{int }{col}, \param{const wxString\&}{ value}}
1613 Set the value for the given column label. If you are using a derived grid table you must
1614 override \helpref{wxGridTableBase::SetColLabelValue}{wxgridtablebasesetcollabelvalue}
1615 for this to have any effect.
1619 \membersection{wxGrid::SetColMinimalWidth}\label{wxgridsetcolminimalwidth}
1621 \func{void}{SetColMinimalWidth}{\param{int }{col}, \param{int }{width}}
1623 Sets the minimal width for the specified column. This should normally be called when creating the grid
1624 because it will not resize a column that is already narrower than the minimal width.
1625 The width argument must be higher than the minimimal acceptable column width, see
1626 \helpref{wxGrid::GetColMinimalAcceptableWidth}{wxgridgetcolminimalacceptablewidth}.
1630 \membersection{wxGrid::SetColMinimalAcceptableWidth}\label{wxgridsetcolminimalacceptablewidth}
1632 \func{void}{SetColMinimalAcceptableWidth}{\param{int }{width}}
1634 This modifies the minimum column width that can be handled correctly. Specifying a low value here
1635 allows smaller grid cells to be dealt with correctly. Specifying a value here which is much smaller
1636 than the actual minimum size will incur a performance penalty in the functions which perform
1637 grid cell index lookup on the basis of screen coordinates.
1638 This should normally be called when creating the grid because it will not resize existing columns
1639 with sizes smaller than the value specified here.
1643 \membersection{wxGrid::SetColPos}\label{wxgridsetcolpos}
1645 \func{void}{SetColPos}{\param{int }{colID}, \param{int }{newPos}}
1647 Sets the position of the specified column.
1651 \membersection{wxGrid::SetColSize}\label{wxgridsetcolsize}
1653 \func{void}{SetColSize}{\param{int }{col}, \param{int }{width}}
1655 Sets the width of the specified column.
1657 This function does not refresh the grid. If you are calling it outside of a BeginBatch / EndBatch
1658 block you can use \helpref{wxGrid::ForceRefresh}{wxgridforcerefresh} to see the changes.
1660 Automatically sizes the column to fit its contents. If setAsMin is true the calculated width will
1661 also be set as the minimal width for the column.
1664 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
1665 The memory requirements for this could become prohibitive if your grid is very large.
1669 \membersection{wxGrid::SetDefaultCellAlignment}\label{wxgridsetdefaultcellalignment}
1671 \func{void}{SetDefaultCellAlignment}{\param{int }{horiz}, \param{int }{vert}}
1673 Sets the default horizontal and vertical alignment for grid cell text.
1675 Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
1677 Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
1681 \membersection{wxGrid::SetDefaultCellBackgroundColour}\label{wxgridsetdefaultcellbackgroundcolour}
1683 \func{void}{SetDefaultCellBackgroundColour}{\param{const wxColour\&}{ colour}}
1685 Sets the default background colour for grid cells.
1689 \membersection{wxGrid::SetDefaultCellFont}\label{wxgridsetdefaultcellfont}
1691 \func{void}{SetDefaultCellFont}{\param{const wxFont\&}{ font}}
1693 Sets the default font to be used for grid cell text.
1697 \membersection{wxGrid::SetDefaultCellTextColour}\label{wxgridsetdefaultcelltextcolour}
1699 \func{void}{SetDefaultCellTextColour}{\param{const wxColour\&}{ colour}}
1701 Sets the current default colour for grid cell text.
1705 \membersection{wxGrid::SetDefaultEditor}\label{wxgridsetdefaulteditor}
1707 \func{void}{SetDefaultEditor}{\param{wxGridCellEditor* }{editor}}
1709 Sets the default editor for grid cells. The grid will take ownership of the pointer.
1711 See \helpref{wxGridCellEditor}{wxgridcelleditor} and
1712 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1716 \membersection{wxGrid::SetDefaultRenderer}\label{wxgridsetdefaultrenderer}
1718 \func{void}{SetDefaultRenderer}{\param{wxGridCellRenderer* }{renderer}}
1720 Sets the default renderer for grid cells. The grid will take ownership of the pointer.
1722 See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
1723 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1727 \membersection{wxGrid::SetDefaultColSize}\label{wxgridsetdefaultcolsize}
1729 \func{void}{SetDefaultColSize}{\param{int }{width}, \param{bool }{resizeExistingCols = false}}
1731 Sets the default width for columns in the grid. This will only affect columns subsequently added to
1732 the grid unless resizeExistingCols is true.
1736 \membersection{wxGrid::SetDefaultRowSize}\label{wxgridsetdefaultrowsize}
1738 \func{void}{SetDefaultRowSize}{\param{int }{height}, \param{bool }{resizeExistingRows = false}}
1740 Sets the default height for rows in the grid. This will only affect rows subsequently added
1741 to the grid unless resizeExistingRows is true.
1745 \membersection{wxGrid::SetGridCursor}\label{wxgridsetgridcursor}
1747 \func{void}{SetGridCursor}{\param{int }{row}, \param{int }{col}}
1749 Set the grid cursor to the specified cell.
1750 This function calls \helpref{wxGrid::MakeCellVisible}{wxgridmakecellvisible}.
1754 \membersection{wxGrid::SetGridLineColour}\label{wxgridsetgridlinecolour}
1756 \func{void}{SetGridLineColour}{\param{const wxColour\&}{colour}}
1758 Sets the colour used to draw grid lines.
1762 \membersection{wxGrid::SetLabelBackgroundColour}\label{wxgridsetlabelbackgroundcolour}
1764 \func{void}{SetLabelBackgroundColour}{\param{const wxColour\&}{ colour}}
1766 Sets the background colour for row and column labels.
1770 \membersection{wxGrid::SetLabelFont}\label{wxgridsetlabelfont}
1772 \func{void}{SetLabelFont}{\param{const wxFont\&}{ font}}
1774 Sets the font for row and column labels.
1778 \membersection{wxGrid::SetLabelTextColour}\label{wxgridsetlabeltextcolour}
1780 \func{void}{SetLabelTextColour}{\param{const wxColour\&}{ colour}}
1782 Sets the colour for row and column label text.
1786 \membersection{wxGrid::SetMargins}\label{wxgridsetmargins}
1788 \func{void}{SetMargins}{\param{int }{extraWidth}, \param{int }{extraHeight}}
1790 A grid may occupy more space than needed for its rows/columns. This
1791 function allows to set how big this extra space is
1795 \membersection{wxGrid::SetOrCalcColumnSizes}\label{wxgridsetorcalccolumnsizes}
1797 \func{int}{SetOrCalcColumnSizes}{\param{bool }{calcOnly}, \param{bool }{setAsMin = true}}
1799 Common part of AutoSizeColumn/Row() and GetBestSize()
1803 \membersection{wxGrid::SetOrCalcRowSizes}\label{wxgridsetorcalcrowsizes}
1805 \func{int}{SetOrCalcRowSizes}{\param{bool }{calcOnly}, \param{bool }{setAsMin = true}}
1809 \membersection{wxGrid::SetReadOnly}\label{wxgridsetreadonly}
1811 \func{void}{SetReadOnly}{\param{int }{row}, \param{int }{col}, \param{bool }{isReadOnly = true}}
1813 Makes the cell at the specified location read-only or editable.
1814 See also \helpref{wxGrid::IsReadOnly}{wxgridisreadonly}.
1818 \membersection{wxGrid::SetRowAttr}\label{wxgridsetrowattr}
1820 \func{void}{SetRowAttr}{\param{int }{row}, \param{wxGridCellAttr* }{attr}}
1822 Sets the cell attributes for all cells in the specified row.
1823 See the \helpref{wxGridCellAttr}{wxgridcellattr} class for more information
1824 about controlling cell attributes.
1828 \membersection{wxGrid::SetRowLabelAlignment}\label{wxgridsetrowlabelalignment}
1830 \func{void}{SetRowLabelAlignment}{\param{int }{horiz}, \param{int }{vert}}
1832 Sets the horizontal and vertical alignment of row label text.
1834 Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
1836 Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
1840 \membersection{wxGrid::SetRowLabelSize}\label{wxgridsetrowlabelsize}
1842 \func{void}{SetRowLabelSize}{\param{int }{width}}
1844 Sets the width of the row labels.
1848 \membersection{wxGrid::SetRowLabelValue}\label{wxgridsetrowlabelvalue}
1850 \func{void}{SetRowLabelValue}{\param{int }{row}, \param{const wxString\&}{ value}}
1852 Set the value for the given row label. If you are using a derived grid table you must
1853 override \helpref{wxGridTableBase::SetRowLabelValue}{wxgridtablebasesetrowlabelvalue}
1854 for this to have any effect.
1858 \membersection{wxGrid::SetRowMinimalHeight}\label{wxgridsetrowminimalheight}
1860 \func{void}{SetRowMinimalHeight}{\param{int }{row}, \param{int }{height}}
1862 Sets the minimal height for the specified row. This should normally be called when creating the grid
1863 because it will not resize a row that is already shorter than the minimal height.
1864 The height argument must be higher than the minimimal acceptable row height, see
1865 \helpref{wxGrid::GetRowMinimalAcceptableHeight}{wxgridgetrowminimalacceptableheight}.
1869 \membersection{wxGrid::SetRowMinimalAcceptableHeight}\label{wxgridsetrowminimalacceptableheight}
1871 \func{void}{SetRowMinimalAcceptableHeight}{\param{int }{height}}
1873 This modifies the minimum row width that can be handled correctly. Specifying a low value here
1874 allows smaller grid cells to be dealt with correctly. Specifying a value here which is much smaller
1875 than the actual minimum size will incur a performance penalty in the functions which perform
1876 grid cell index lookup on the basis of screen coordinates.
1877 This should normally be called when creating the grid because it will not resize existing rows
1878 with sizes smaller than the value specified here.
1882 \membersection{wxGrid::SetRowSize}\label{wxgridsetrowsize}
1884 \func{void}{SetRowSize}{\param{int }{row}, \param{int }{height}}
1886 Sets the height of the specified row.
1888 This function does not refresh the grid. If you are calling it outside of a BeginBatch / EndBatch
1889 block you can use \helpref{wxGrid::ForceRefresh}{wxgridforcerefresh} to see the changes.
1891 Automatically sizes the column to fit its contents. If setAsMin is true the calculated width will
1892 also be set as the minimal width for the column.
1896 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
1897 The memory requirements for this could become prohibitive if your grid is very large.
1901 \membersection{wxGrid::SetScrollLineX}\label{wxgridsetscrolllinex}
1903 \func{void}{SetScrollLineX}{\param{int }{x}}
1905 Sets the number of pixels per horizontal scroll increment. The default is 15.
1906 Sometimes wxGrid has trouble setting the scrollbars correctly due to rounding
1907 errors: setting this to 1 can help.
1909 \wxheading{See also}
1911 \helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
1912 \helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
1913 \helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
1917 \membersection{wxGrid::SetScrollLineY}\label{wxgridsetscrollliney}
1919 \func{void}{SetScrollLineY}{\param{int }{y}}
1921 Sets the number of pixels per vertical scroll increment. The default is 15.
1922 Sometimes wxGrid has trouble setting the scrollbars correctly due to rounding
1923 errors: setting this to 1 can help.
1925 \wxheading{See also}
1927 \helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
1928 \helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
1929 \helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex}
1933 \membersection{wxGrid::SetSelectionBackground}\label{wxgridsetselectionbackground}
1935 \func{void}{SetSelectionBackground}{\param{const wxColour\& }{c}}
1939 \membersection{wxGrid::SetSelectionForeground}\label{wxgridsetselectionforeground}
1941 \func{void}{SetSelectionForeground}{\param{const wxColour\& }{c}}
1945 \membersection{wxGrid::SetSelectionMode}\label{wxgridsetselectionmode}
1947 \func{void}{SetSelectionMode}{\param{wxGrid::wxGridSelectionModes}{ selmode}}
1949 Set the selection behaviour of the grid.
1951 \wxheading{Parameters}
1953 \docparam{wxGrid::wxGridSelectCells}{The default mode where individual cells are selected.}
1955 \docparam{wxGrid::wxGridSelectRows}{Selections will consist of whole rows.}
1957 \docparam{wxGrid::wxGridSelectColumns}{Selections will consist of whole columns.}
1961 \membersection{wxGrid::SetTable}\label{wxgridsettable}
1963 \func{bool}{SetTable}{\param{wxGridTableBase* }{table}, \param{bool }{takeOwnership = false}, \param{wxGrid::wxGridSelectionModes }{selmode = wxGrid::wxGridSelectCells}}
1965 Passes a pointer to a custom grid table to be used by the grid. This should be called
1966 after the grid constructor and before using the grid object. If takeOwnership is set to
1967 true then the table will be deleted by the wxGrid destructor.
1969 Use this function instead of \helpref{wxGrid::CreateGrid}{wxgridcreategrid} when your
1970 application involves complex or non-string data or data sets that are too large to fit
1975 \membersection{wxGrid::ShowCellEditControl}\label{wxgridshowcelleditcontrol}
1977 \func{void}{ShowCellEditControl}{\void}
1979 Displays the in-place cell edit control for the current cell.
1983 \membersection{wxGrid::XToCol}\label{wxgridxtocol}
1985 \func{int}{XToCol}{\param{int }{x}, \param{bool }{clipToMinMax = false}}
1987 \wxheading{Parameters}
1988 \docparam{x}{The x position to evaluate.}
1989 \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.}
1991 \wxheading{Return value}
1992 The grid column that corresponds to the logical x coordinate. Returns
1993 {\tt wxNOT\_FOUND} if there is no column at the x position.
1997 \membersection{wxGrid::XToEdgeOfCol}\label{wxgridxtoedgeofcol}
1999 \func{int}{XToEdgeOfCol}{\param{int }{x}}
2001 Returns the column whose right hand edge is close to the given logical x position.
2002 If no column edge is near to this position {\tt wxNOT\_FOUND} is returned.
2006 \membersection{wxGrid::YToEdgeOfRow}\label{wxgridytoedgeofrow}
2008 \func{int}{YToEdgeOfRow}{\param{int }{y}}
2010 Returns the row whose bottom edge is close to the given logical y position.
2011 If no row edge is near to this position {\tt wxNOT\_FOUND} is returned.
2015 \membersection{wxGrid::YToRow}\label{wxgridytorow}
2017 \func{int}{YToRow}{\param{int }{y}}
2019 Returns the grid row that corresponds to the logical y coordinate. Returns
2020 {\tt wxNOT\_FOUND} if there is no row at the y position.