]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/grid.tex
Robert Lang's patch [ 1583183 ] Fixes printing/print preview inconsistencies
[wxWidgets.git] / docs / latex / wx / grid.tex
CommitLineData
4b39770c
WS
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%% Name: grid.tex
3%% Purpose: wxGrid
4%% Author:
d4175745 5%% Modified by: Santiago Palacios
4b39770c
WS
6%% Created:
7%% RCS-ID: $Id$
8%% Copyright: (c) wxWidgets
9%% License: wxWindows license
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
a660d684
KB
12\section{\class{wxGrid}}\label{wxgrid}
13
78c49c58 14wxGrid and its related classes are used for displaying and editing tabular
2eebb742 15data. They provide a rich set of features for display, editing, and
78c49c58
MB
16interacting with a variety of data sources. For simple applications, and to
17help you get started, wxGrid is the only class you need to refer to
2eebb742
JS
18directly. It will set up default instances of the other classes and manage
19them for you. For more complex applications you can derive your own
78c49c58 20classes for custom grid views, grid data tables, cell editors and
2eebb742 21renderers. The \helpref{wxGrid classes overview}{gridoverview} has
78c49c58
MB
22examples of simple and more complex applications, explains the
23relationship between the various grid classes and has a summary of the
24keyboard shortcuts and mouse functions provided by wxGrid.
25
fc2171bd 26wxGrid has been greatly expanded and redesigned for wxWidgets 2.2
78c49c58 27onwards. If you have been using the old wxGrid class you will probably
2eebb742
JS
28want to have a look at the \helpref{wxGrid classes overview}{gridoverview} to see
29how things have changed. The new grid classes are reasonably backward-compatible
30but there are some exceptions. There are also easier ways of doing many things compared to
4b39770c 31the previous implementation.
a660d684
KB
32
33\wxheading{Derived from}
34
78c49c58 35\helpref{wxScrolledWindow}{wxscrolledwindow}\\
a660d684
KB
36\helpref{wxWindow}{wxwindow}\\
37\helpref{wxEvtHandler}{wxevthandler}\\
38\helpref{wxObject}{wxobject}
39
954b8ae6
JS
40\wxheading{Include files}
41
42<wx/grid.h>
43
a660d684
KB
44\wxheading{Window styles}
45
78c49c58 46There are presently no specific window styles for wxGrid.
a660d684 47
78c49c58 48\wxheading{Event handling}
a660d684 49
cbc95b2c
MB
50\input gridevt.inc
51
4b39770c 52The event handler for the following functions takes a
cbc95b2c 53 \helpref{wxGridSizeEvent}{wxgridsizeevent} parameter.
24d70590 54The ...\_CMD\_... variants also take a window identifier.
cbc95b2c
MB
55
56\twocolwidtha{7cm}
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.}
24d70590
JS
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.}
cbc95b2c
MB
62\end{twocollist}%
63
4b39770c 64The event handler for the following functions takes a
cbc95b2c 65 \helpref{wxGridRangeSelectEvent}{wxgridrangeselectevent} parameter.
24d70590 66The ...\_CMD\_... variant also takes a window identifier.
cbc95b2c
MB
67
68\twocolwidtha{7cm}
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.}
24d70590 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.}
cbc95b2c
MB
72\end{twocollist}%
73
4b39770c 74The event handler for the following functions takes a
cbc95b2c 75 \helpref{wxGridEditorCreatedEvent}{wxgrideditorcreatedevent} parameter.
24d70590 76The ...\_CMD\_... variant also takes a window identifier.
cbc95b2c
MB
77
78\twocolwidtha{7cm}
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.}
24d70590 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.}
cbc95b2c
MB
82\end{twocollist}%
83
a660d684
KB
84\wxheading{See also}
85
78c49c58 86\helpref{wxGrid overview}{gridoverview}
a660d684 87
78c49c58
MB
88%%%%%%%%%%% FUNCTION GROUPS %%%%%%%%%%%%%
89\latexignore{\rtfignore{\wxheading{Function groups}}}
a660d684 90
4b39770c
WS
91
92
f0e8a2d0 93\membersection{Constructors and initialization}\label{wxgridconstructors}
a660d684 94
2eebb742
JS
95\helpref{wxGrid}{wxgridctor}\\
96\helpref{\destruct{wxGrid}}{wxgriddtor}\\
97\helpref{CreateGrid}{wxgridcreategrid}\\
78c49c58 98\helpref{SetTable}{wxgridsettable}
a660d684 99
4b39770c
WS
100
101
f0e8a2d0 102\membersection{Display format}\label{wxgriddisplayformat}
a660d684 103
4b39770c
WS
104
105
f0e8a2d0 106\membersection{Selection functions}\label{wxgridselectionfunctions}
a660d684 107
2eebb742
JS
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}\\
5c69031c
MB
113\helpref{wxGrid::SelectRow}{wxgridselectrow}
114
78c49c58
MB
115%%%%%%%%% MEMBER FUNCTIONS %%%%%%%%%%
116\helponly{\insertatlevel{2}{
a660d684 117
78c49c58
MB
118\wxheading{Members}
119
120}}
121
4b39770c
WS
122
123
78c49c58
MB
124\membersection{wxGrid::wxGrid}\label{wxgridctor}
125
126\func{}{wxGrid}{\void}
127
128Default constructor
129
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}}
131
4b39770c 132Constructor to create a grid object. Call either \helpref{wxGrid::CreateGrid}{wxgridcreategrid} or
78c49c58 133\helpref{wxGrid::SetTable}{wxgridsettable} directly after this to initialize the grid before using
4b39770c
WS
134it.
135
136
78c49c58
MB
137
138\membersection{wxGrid::\destruct{wxGrid}}\label{wxgriddtor}
139
140\func{}{\destruct{wxGrid}}{\void}
141
142Destructor. This will also destroy the associated grid table unless you passed a table
143object to the grid and specified that the grid should not take ownership of the
4b39770c
WS
144table (see \helpref{wxGrid::SetTable}{wxgridsettable}).
145
146
a660d684
KB
147
148\membersection{wxGrid::AppendCols}\label{wxgridappendcols}
149
cc81d32f 150\func{bool}{AppendCols}{\param{int }{numCols = 1}, \param{bool }{updateLabels = true}}
78c49c58 151
cc81d32f 152Appends one or more new columns to the right of the grid and returns true if
78c49c58 153successful. The updateLabels argument is not used at present.
a660d684 154
4b39770c
WS
155If 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.
158
159
a660d684
KB
160
161\membersection{wxGrid::AppendRows}\label{wxgridappendrows}
162
cc81d32f 163\func{bool}{AppendRows}{\param{int }{numRows = 1}, \param{bool }{updateLabels = true}}
78c49c58 164
cc81d32f 165Appends one or more new rows to the bottom of the grid and returns true if
78c49c58
MB
166successful. The updateLabels argument is not used at present.
167
4b39770c
WS
168If 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.
171
172
78c49c58
MB
173
174\membersection{wxGrid::AutoSize}\label{wxgridautosize}
175
176\func{void}{AutoSize}{\void}
177
178Automatically sets the height and width of all rows and columns to fit their contents.
179
2eebb742 180\wxheading{Note}\\
78c49c58 181wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
4b39770c
WS
182The memory requirements for this could become prohibitive if your grid is very large.
183
184
a660d684 185
608754c4
JS
186\membersection{wxGrid::AutoSizeColOrRow}\label{wxgridautosizecolorrow}
187
188\func{void}{AutoSizeColOrRow}{\param{int }{n}, \param{bool }{setAsMin}, \param{bool }{column}}
189
4b39770c
WS
190Common part of AutoSizeColumn/Row() or row?
191
192
608754c4 193
78c49c58
MB
194\membersection{wxGrid::AutoSizeColumn}\label{wxgridautosizecolumn}
195
cc81d32f 196\func{void}{AutoSizeColumn}{\param{int }{col}, \param{bool }{setAsMin = true}}
78c49c58 197
cc81d32f 198Automatically sizes the column to fit its contents. If setAsMin is true the calculated width will
78c49c58
MB
199also be set as the minimal width for the column.
200
2eebb742 201\wxheading{Note}\\
78c49c58 202wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
4b39770c
WS
203The memory requirements for this could become prohibitive if your grid is very large.
204
205
78c49c58
MB
206
207\membersection{wxGrid::AutoSizeColumns}\label{wxgridautosizecolumns}
208
cc81d32f 209\func{void}{AutoSizeColumns}{\param{bool }{setAsMin = true}}
78c49c58 210
cc81d32f 211Automatically sizes all columns to fit their contents. If setAsMin is true the calculated widths will
78c49c58
MB
212also be set as the minimal widths for the columns.
213
2eebb742 214\wxheading{Note}\\
78c49c58 215wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
4b39770c
WS
216The memory requirements for this could become prohibitive if your grid is very large.
217
218
78c49c58
MB
219
220\membersection{wxGrid::AutoSizeRow}\label{wxgridautosizerow}
221
cc81d32f 222\func{void}{AutoSizeRow}{\param{int }{row}, \param{bool }{setAsMin = true}}
78c49c58 223
cc81d32f 224Automatically sizes the row to fit its contents. If setAsMin is true the calculated height will
78c49c58
MB
225also be set as the minimal height for the row.
226
2eebb742 227\wxheading{Note}\\
78c49c58 228wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
4b39770c
WS
229The memory requirements for this could become prohibitive if your grid is very large.
230
231
78c49c58
MB
232
233\membersection{wxGrid::AutoSizeRows}\label{wxgridautosizerows}
234
cc81d32f 235\func{void}{AutoSizeRows}{\param{bool }{setAsMin = true}}
78c49c58 236
cc81d32f 237Automatically sizes all rows to fit their contents. If setAsMin is true the calculated heights will
78c49c58
MB
238also be set as the minimal heights for the rows.
239
2eebb742 240\wxheading{Note}\\
78c49c58 241wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
4b39770c
WS
242The memory requirements for this could become prohibitive if your grid is very large.
243
244
a660d684
KB
245
246\membersection{wxGrid::BeginBatch}\label{wxgridbeginbatch}
247
248\func{void}{BeginBatch}{\void}
249
78c49c58 250Increments the grid's batch count. When the count is greater than zero repainting of
4b39770c 251the grid is suppressed. Each call to BeginBatch must be matched by a later call to
78c49c58
MB
252\helpref{wxGrid::EndBatch}{wxgridendbatch}. Code that does a lot of grid
253modification can be enclosed between BeginBatch and EndBatch calls to avoid
254screen flicker. The final EndBatch will cause the grid to be repainted.
a660d684 255
4b39770c
WS
256
257
608754c4
JS
258\membersection{wxGrid::BlockToDeviceRect}\label{wxgridblocktodevicerect}
259
260\func{wxRect}{BlockToDeviceRect}{\param{const wxGridCellCoords \& }{topLeft}, \param{const wxGridCellCoords \& }{bottomRight}}
261
262This function returns the rectangle that encloses the block of cells
263limited by TopLeft and BottomRight cell in device coords and clipped
264to the client size of the grid window.
265
266
4b39770c 267
d4175745
VZ
268\membersection{wxGrid::CanDragColMove}\label{wxgridcandragcolmove}
269
270\func{bool}{CanDragColMove}{\void}
271
272Returns true if columns can be moved by dragging with the mouse. Columns can be moved
273by dragging on their labels.
274
275
276
78c49c58 277\membersection{wxGrid::CanDragColSize}\label{wxgridcandragcolsize}
a660d684 278
78c49c58 279\func{bool}{CanDragColSize}{\void}
a660d684 280
cc81d32f 281Returns true if columns can be resized by dragging with the mouse. Columns can be resized
78c49c58 282by dragging the edges of their labels. If grid line dragging is enabled they can also be
4b39770c 283resized by dragging the right edge of the column in the grid cell area
78c49c58 284(see \helpref{wxGrid::EnableDragGridSize}{wxgridenabledraggridsize}).
a660d684 285
4b39770c
WS
286
287
78c49c58 288\membersection{wxGrid::CanDragRowSize}\label{wxgridcandragrowsize}
a660d684 289
78c49c58 290\func{bool}{CanDragRowSize}{\void}
a660d684 291
cc81d32f 292Returns true if rows can be resized by dragging with the mouse. Rows can be resized
78c49c58 293by dragging the edges of their labels. If grid line dragging is enabled they can also be
4b39770c 294resized by dragging the lower edge of the row in the grid cell area
78c49c58 295(see \helpref{wxGrid::EnableDragGridSize}{wxgridenabledraggridsize}).
a660d684 296
4b39770c
WS
297
298
78c49c58 299\membersection{wxGrid::CanDragGridSize}\label{wxgridcandraggridsize}
a660d684 300
78c49c58 301\func{bool}{CanDragGridSize}{\void}
a660d684 302
cc81d32f 303Return true if the dragging of grid lines to resize rows and columns is enabled or false otherwise.
21f280f4 304
4b39770c
WS
305
306
78c49c58 307\membersection{wxGrid::CanEnableCellControl}\label{wxgridcanenablecellcontrol}
a660d684 308
78c49c58 309\constfunc{bool}{CanEnableCellControl}{\void}
a660d684 310
cc81d32f
VS
311Returns true if the in-place edit control for the current grid cell can be used and
312false otherwise (e.g. if the current cell is read-only).
78c49c58 313
4b39770c
WS
314
315
608754c4
JS
316\membersection{wxGrid::CanHaveAttributes}\label{wxgridcanhaveattributes}
317
318\func{bool}{CanHaveAttributes}{\void}
319
320Do we have some place to store attributes in?
321
4b39770c
WS
322
323
78c49c58
MB
324\membersection{wxGrid::CellToRect}\label{wxgridcelltorect}
325
326\func{wxRect}{CellToRect}{\param{int }{row}, \param{int }{col}}
327
328\func{wxRect}{CellToRect}{\param{const wxGridCellCoords\& }{coords}}
329
330Return the rectangle corresponding to the grid cell's size and position in logical
331coordinates.
332
4b39770c
WS
333
334
78c49c58
MB
335\membersection{wxGrid::ClearGrid}\label{wxgridcleargrid}
336
337\func{void}{ClearGrid}{\void}
338
339Clears all data in the underlying grid table and repaints the grid. The table is not deleted by
4b39770c 340this function. If you are using a derived table class then you need to override
78c49c58
MB
341\helpref{wxGridTableBase::Clear}{wxgridtablebaseclear} for this function to have any effect.
342
4b39770c
WS
343
344
5c69031c
MB
345\membersection{wxGrid::ClearSelection}\label{wxgridclearselection}
346
347\func{void}{ClearSelection}{\void}
348
349Deselects all cells that are currently selected.
350
4b39770c
WS
351
352
78c49c58
MB
353\membersection{wxGrid::CreateGrid}\label{wxgridcreategrid}
354
355\func{bool}{CreateGrid}{\param{int }{numRows}, \param{int }{numCols}, \param{wxGrid::wxGridSelectionModes }{selmode = wxGrid::wxGridSelectCells}}
356
357Creates a grid with the specified initial number of rows and columns.
358Call this directly after the grid constructor. When you use this
359function wxGrid will create and manage a simple table of string values
360for you. All of the grid data will be stored in memory.
361
362For applications with more complex data types or relationships, or for
363dealing with very large datasets, you should derive your own grid table
4b39770c
WS
364class and pass a table object to the grid with \helpref{wxGrid::SetTable}{wxgridsettable}.
365
366
a660d684
KB
367
368\membersection{wxGrid::DeleteCols}\label{wxgriddeletecols}
369
cc81d32f 370\func{bool}{DeleteCols}{\param{int }{pos = 0}, \param{int }{numCols = 1}, \param{bool }{updateLabels = true}}
a660d684 371
78c49c58 372Deletes one or more columns from a grid starting at the specified position and returns
cc81d32f 373true if successful. The updateLabels argument is not used at present.
78c49c58 374
4b39770c
WS
375If you are using a derived grid table class you will need to override
376\helpref{wxGridTableBase::DeleteCols}{wxgridtablebasedeletecols}. See
78c49c58 377\helpref{wxGrid::InsertCols}{wxgridinsertcols} for further information.
a660d684 378
4b39770c
WS
379
380
a660d684
KB
381\membersection{wxGrid::DeleteRows}\label{wxgriddeleterows}
382
cc81d32f 383\func{bool}{DeleteRows}{\param{int }{pos = 0}, \param{int }{numRows = 1}, \param{bool }{updateLabels = true}}
78c49c58
MB
384
385Deletes one or more rows from a grid starting at the specified position and returns
cc81d32f 386true if successful. The updateLabels argument is not used at present.
78c49c58 387
4b39770c
WS
388If you are using a derived grid table class you will need to override
389\helpref{wxGridTableBase::DeleteRows}{wxgridtablebasedeleterows}. See
78c49c58
MB
390\helpref{wxGrid::InsertRows}{wxgridinsertrows} for further information.
391
4b39770c
WS
392
393
78c49c58
MB
394\membersection{wxGrid::DisableCellEditControl}\label{wxgriddisablecelleditcontrol}
395
396\func{void}{DisableCellEditControl}{\void}
397
4b39770c 398Disables in-place editing of grid cells.
cc81d32f 399Equivalent to calling EnableCellEditControl(false).
78c49c58 400
4b39770c
WS
401
402
d4175745
VZ
403\membersection{wxGrid::DisableDragColMove}\label{wxgriddisabledragcolmove}
404
405\func{void}{DisableDragColMove}{\void}
406
407Disables column moving by dragging with the mouse. Equivalent to passing false to
408\helpref{wxGrid::EnableDragColMove}{wxgridenabledragcolmove}.
409
410
411
78c49c58
MB
412\membersection{wxGrid::DisableDragColSize}\label{wxgriddisabledragcolsize}
413
414\func{void}{DisableDragColSize}{\void}
415
4b39770c
WS
416Disables column sizing by dragging with the mouse. Equivalent to passing false to
417\helpref{wxGrid::EnableDragColSize}{wxgridenabledragcolsize}.
418
419
78c49c58
MB
420
421\membersection{wxGrid::DisableDragGridSize}\label{wxgriddisabledraggridsize}
422
423\func{void}{DisableDragGridSize}{\void}
424
425Disable mouse dragging of grid lines to resize rows and columns. Equivalent to passing
cc81d32f 426false to \helpref{wxGrid::EnableDragGridSize}{wxgridenabledraggridsize}
78c49c58 427
4b39770c
WS
428
429
78c49c58
MB
430\membersection{wxGrid::DisableDragRowSize}\label{wxgriddisabledragrowsize}
431
432\func{void}{DisableDragRowSize}{\void}
433
4b39770c
WS
434Disables row sizing by dragging with the mouse. Equivalent to passing false to
435\helpref{wxGrid::EnableDragRowSize}{wxgridenabledragrowsize}.
436
437
78c49c58
MB
438
439\membersection{wxGrid::EnableCellEditControl}\label{wxgridenablecelleditcontrol}
440
cc81d32f 441\func{void}{EnableCellEditControl}{\param{bool }{enable = true}}
78c49c58
MB
442
443Enables or disables in-place editing of grid cell data. The grid will issue either a
e7240349 444wxEVT\_GRID\_EDITOR\_SHOWN or wxEVT\_GRID\_EDITOR\_HIDDEN event.
78c49c58 445
4b39770c
WS
446
447
78c49c58
MB
448\membersection{wxGrid::EnableDragColSize}\label{wxgridenabledragcolsize}
449
cc81d32f 450\func{void}{EnableDragColSize}{\param{bool }{enable = true}}
a660d684 451
78c49c58
MB
452Enables or disables column sizing by dragging with the mouse.
453
4b39770c
WS
454
455
d4175745
VZ
456\membersection{wxGrid::EnableDragColMove}\label{wxgridenabledragcolmove}
457
458\func{void}{EnableDragColMove}{\param{bool }{enable = true}}
459
460Enables or disables column moving by dragging with the mouse.
461
462
463
78c49c58
MB
464\membersection{wxGrid::EnableDragGridSize}\label{wxgridenabledraggridsize}
465
cc81d32f 466\func{void}{EnableDragGridSize}{\param{bool }{enable = true}}
78c49c58
MB
467
468Enables or disables row and column resizing by dragging gridlines with the mouse.
469
4b39770c
WS
470
471
78c49c58
MB
472\membersection{wxGrid::EnableDragRowSize}\label{wxgridenabledragrowsize}
473
cc81d32f 474\func{void}{EnableDragRowSize}{\param{bool }{enable = true}}
78c49c58
MB
475
476Enables or disables row sizing by dragging with the mouse.
477
4b39770c
WS
478
479
78c49c58
MB
480\membersection{wxGrid::EnableEditing}\label{wxgridenableediting}
481
482\func{void}{EnableEditing}{\param{bool }{edit}}
483
cc81d32f
VS
484If the edit argument is false this function sets the whole grid as read-only. If the
485argument is true the grid is set to the default state where cells may be editable. In the
78c49c58 486default state you can set single grid cells and whole rows and columns to be editable or
4b39770c 487read-only via
78c49c58 488\helpref{wxGridCellAttribute::SetReadOnly}{wxgridcellattrsetreadonly}. For single
4b39770c
WS
489cells you can also use the shortcut function
490\helpref{wxGrid::SetReadOnly}{wxgridsetreadonly}.
78c49c58 491
4b39770c
WS
492For more information about controlling grid cell attributes see the
493\helpref{wxGridCellAttr}{wxgridcellattr} cell attribute class and the
78c49c58
MB
494\helpref{wxGrid classes overview}{gridoverview}.
495
4b39770c
WS
496
497
78c49c58
MB
498\membersection{wxGrid::EnableGridLines}\label{wxgridenablegridlines}
499
cc81d32f 500\func{void}{EnableGridLines}{\param{bool }{enable = true}}
78c49c58
MB
501
502Turns the drawing of grid lines on or off.
a660d684 503
4b39770c
WS
504
505
a660d684
KB
506\membersection{wxGrid::EndBatch}\label{wxgridendbatch}
507
508\func{void}{EndBatch}{\void}
509
78c49c58 510Decrements the grid's batch count. When the count is greater than zero repainting of
4b39770c 511the grid is suppressed. Each previous call to
78c49c58
MB
512\helpref{wxGrid::BeginBatch}{wxgridbeginbatch} must be matched by a later call to
513EndBatch. Code that does a lot of grid modification can be enclosed between
514BeginBatch and EndBatch calls to avoid screen flicker. The final EndBatch will
515cause the grid to be repainted.
516
4b39770c
WS
517
518
608754c4
JS
519\membersection{wxGrid::Fit}\label{wxgridfit}
520
521\func{void}{Fit}{\void}
522
523Overridden wxWindow method.
524
4b39770c
WS
525
526
78c49c58 527\membersection{wxGrid::ForceRefresh}\label{wxgridforcerefresh}
a660d684 528
78c49c58
MB
529\func{void}{ForceRefresh}{\void}
530
531Causes immediate repainting of the grid. Use this instead of the usual wxWindow::Refresh.
a660d684 532
4b39770c
WS
533
534
a660d684
KB
535\membersection{wxGrid::GetBatchCount}\label{wxgridgetbatchcount}
536
78c49c58 537\func{int}{GetBatchCount}{\void}
a660d684 538
78c49c58
MB
539Returns the number of times that \helpref{wxGrid::BeginBatch}{wxgridbeginbatch} has been called
540without (yet) matching calls to \helpref{wxGrid::EndBatch}{wxgridendbatch}. While
541the grid's batch count is greater than zero the display will not be updated.
a660d684 542
4b39770c
WS
543
544
78c49c58 545\membersection{wxGrid::GetCellAlignment}\label{wxgridgetcellalignment}
a660d684 546
78c49c58 547\func{void}{GetCellAlignment}{\param{int }{row}, \param{int }{col}, \param{int* }{horiz}, \param{int* }{vert}}
a660d684 548
78c49c58
MB
549Sets the arguments to the horizontal and vertical text alignment values for the
550grid cell at the specified location.
a660d684 551
e7240349
GT
552Horizontal alignment will be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT. \\
553Vertical alignment will be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
a660d684 554
9722642d
MB
555\perlnote{This method only takes the parameters {\tt row} and {\tt col} and
556returns a 2-element list {\tt ( horiz, vert )}.}
557
4b39770c
WS
558
559
78c49c58 560\membersection{wxGrid::GetCellBackgroundColour}\label{wxgridgetcellbackgroundcolour}
a660d684 561
78c49c58 562\func{wxColour}{GetCellBackgroundColour}{\param{int }{row}, \param{int }{col}}
a660d684 563
78c49c58 564Returns the background colour of the cell at the specified location.
a660d684 565
4b39770c
WS
566
567
78c49c58 568\membersection{wxGrid::GetCellEditor}\label{wxgridgetcelleditor}
a660d684 569
78c49c58 570\func{wxGridCellEditor*}{GetCellEditor}{\param{int }{row}, \param{int }{col}}
a660d684 571
78c49c58 572Returns a pointer to the editor for the cell at the specified location.
21f280f4 573
78c49c58
MB
574See \helpref{wxGridCellEditor}{wxgridcelleditor} and
575the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
a660d684 576
4b39770c
WS
577
578
78c49c58 579\membersection{wxGrid::GetCellFont}\label{wxgridgetcellfont}
a660d684 580
78c49c58 581\func{wxFont}{GetCellFont}{\param{int }{row}, \param{int }{col}}
a660d684 582
78c49c58 583Returns the font for text in the grid cell at the specified location.
a660d684 584
4b39770c
WS
585
586
78c49c58 587\membersection{wxGrid::GetCellRenderer}\label{wxgridgetcellrenderer}
21f280f4 588
78c49c58 589\func{wxGridCellRenderer*}{GetCellRenderer}{\param{int }{row}, \param{int }{col}}
a660d684 590
78c49c58 591Returns a pointer to the renderer for the grid cell at the specified location.
a660d684 592
78c49c58
MB
593See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
594the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
a660d684 595
4b39770c
WS
596
597
a660d684
KB
598\membersection{wxGrid::GetCellTextColour}\label{wxgridgetcelltextcolour}
599
78c49c58 600\func{wxColour}{GetCellTextColour}{\param{int }{row}, \param{int }{col}}
a660d684 601
78c49c58 602Returns the text colour for the grid cell at the specified location.
a660d684 603
4b39770c
WS
604
605
5c69031c
MB
606\membersection{wxGrid::GetCellValue}\label{wxgridgetcellvalue}
607
608\func{wxString}{GetCellValue}{\param{int }{row}, \param{int }{col}}
609
610\func{wxString}{GetCellValue}{\param{const wxGridCellCoords\&}{coords}}
611
612Returns the string contained in the cell at the specified location. For simple applications where a
613grid object automatically uses a default grid table of string values you use this function together
4b39770c 614with \helpref{wxGrid::SetCellValue}{wxgridsetcellvalue} to access cell values.
5c69031c
MB
615
616For more complex applications where you have derived your own grid table class that contains
617various data types (e.g. numeric, boolean or user-defined custom types) then you only use this
4b39770c 618function for those cells that contain string values.
5c69031c
MB
619
620See \helpref{wxGridTableBase::CanGetValueAs}{wxgridtablebasecangetvalueas}
621and the \helpref{wxGrid overview}{gridoverview} for more information.
622
608754c4 623
4b39770c 624
d4175745
VZ
625\membersection{wxGrid::GetColAt}\label{wxgridgetcolat}
626
627\constfunc{int}{GetColAt}{\param{int }{colPos}}
628
629Returns the column ID of the specified column position.
630
631
608754c4
JS
632\membersection{wxGrid::GetColLeft}\label{wxgridgetcolleft}
633
634\constfunc{int}{GetColLeft}{\param{int }{col}}
635
4b39770c
WS
636
637
78c49c58 638\membersection{wxGrid::GetColLabelAlignment}\label{wxgridgetcollabelalignment}
a660d684 639
78c49c58 640\func{void}{GetColLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
21f280f4 641
78c49c58 642Sets the arguments to the current column label alignment values.
a660d684 643
ce994095
JS
644Horizontal alignment will be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.\\
645Vertical alignment will be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
a660d684 646
9722642d
MB
647\perlnote{This method takes no parameters and
648returns a 2-element list {\tt ( horiz, vert )}.}
649
4b39770c
WS
650
651
78c49c58 652\membersection{wxGrid::GetColLabelSize}\label{wxgridgetcollabelsize}
a660d684 653
78c49c58 654\func{int}{GetColLabelSize}{\void}
a660d684 655
78c49c58 656Returns the current height of the column labels.
21f280f4 657
4b39770c
WS
658
659
78c49c58 660\membersection{wxGrid::GetColLabelValue}\label{wxgridgetcollabelvalue}
a660d684 661
78c49c58 662\func{wxString}{GetColLabelValue}{\param{int }{col}}
a660d684 663
2edb0bde 664Returns the specified column label. The default grid table class provides column labels of
4b39770c 665the form A,B...Z,AA,AB...ZZ,AAA... If you are using a custom grid table you can override
78c49c58 666\helpref{wxGridTableBase::GetColLabelValue}{wxgridtablebasegetcollabelvalue} to provide
4b39770c
WS
667your own labels.
668
669
a660d684 670
608754c4
JS
671\membersection{wxGrid::GetColMinimalAcceptableWidth}\label{wxgridgetcolminimalacceptablewidth}
672
673\func{int}{GetColMinimalAcceptableWidth}{}
674
675This returns the value of the lowest column width that can be handled correctly. See
676member \helpref{SetColMinimalAcceptableWidth}{wxgridsetcolminimalacceptablewidth} for details.
677
4b39770c
WS
678
679
608754c4
JS
680\membersection{wxGrid::GetColMinimalWidth}\label{wxgridgetcolminimalwidth}
681
682\constfunc{int}{GetColMinimalWidth}{\param{int }{col}}
683
684Get the minimal width of the given column/row.
685
686
4b39770c 687
d4175745
VZ
688\membersection{wxGrid::GetColPos}\label{wxgridgetcolpos}
689
690\constfunc{int}{GetColPos}{\param{int }{colID}}
691
692Returns the position of the specified column.
693
694
695
608754c4
JS
696\membersection{wxGrid::GetColRight}\label{wxgridgetcolright}
697
698\constfunc{int}{GetColRight}{\param{int }{col}}
699
4b39770c
WS
700
701
78c49c58 702\membersection{wxGrid::GetColSize}\label{wxgridgetcolsize}
a660d684 703
78c49c58 704\func{int}{GetColSize}{\param{int }{col}}
a660d684 705
78c49c58 706Returns the width of the specified column.
a660d684 707
4b39770c
WS
708
709
78c49c58 710\membersection{wxGrid::GetDefaultCellAlignment}\label{wxgridgetdefaultcellalignment}
a660d684 711
78c49c58 712\func{void}{GetDefaultCellAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
a660d684 713
78c49c58
MB
714Sets the arguments to the current default horizontal and vertical text alignment
715values.
a660d684 716
2eebb742
JS
717Horizontal alignment will be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT. \\
718Vertical alignment will be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
a660d684 719
4b39770c
WS
720
721
78c49c58 722\membersection{wxGrid::GetDefaultCellBackgroundColour}\label{wxgridgetdefaultcellbackgroundcolour}
a660d684 723
78c49c58 724\func{wxColour}{GetDefaultCellBackgroundColour}{\void}
a660d684 725
78c49c58 726Returns the current default background colour for grid cells.
a660d684 727
4b39770c
WS
728
729
78c49c58 730\membersection{wxGrid::GetDefaultCellFont}\label{wxgridgetdefaultcellfont}
a660d684 731
78c49c58 732\func{wxFont}{GetDefaultCellFont}{\void}
a660d684 733
78c49c58 734Returns the current default font for grid cell text.
a660d684 735
4b39770c
WS
736
737
78c49c58 738\membersection{wxGrid::GetDefaultCellTextColour}\label{wxgridgetdefaultcelltextcolour}
a660d684 739
78c49c58 740\func{wxColour}{GetDefaultCellTextColour}{\void}
a660d684 741
78c49c58 742Returns the current default colour for grid cell text.
a660d684 743
4b39770c
WS
744
745
78c49c58 746\membersection{wxGrid::GetDefaultColLabelSize}\label{wxgridgetdefaultcollabelsize}
a660d684 747
78c49c58 748\func{int}{GetDefaultColLabelSize}{\void}
a660d684 749
78c49c58 750Returns the default height for column labels.
c0b042fc 751
4b39770c
WS
752
753
78c49c58 754\membersection{wxGrid::GetDefaultColSize}\label{wxgridgetdefaultcolsize}
c0b042fc 755
78c49c58 756\func{int}{GetDefaultColSize}{\void}
c0b042fc 757
78c49c58 758Returns the current default width for grid columns.
a660d684 759
4b39770c
WS
760
761
78c49c58 762\membersection{wxGrid::GetDefaultEditor}\label{wxgridgetdefaulteditor}
a660d684 763
78c49c58 764\constfunc{wxGridCellEditor*}{GetDefaultEditor}{\void}
a660d684 765
78c49c58
MB
766Returns a pointer to the current default grid cell editor.
767
768See \helpref{wxGridCellEditor}{wxgridcelleditor} and
769the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
770
4b39770c
WS
771
772
608754c4
JS
773\membersection{wxGrid::GetDefaultEditorForCell}\label{wxgridgetdefaulteditorforcell}
774
775\constfunc{wxGridCellEditor*}{GetDefaultEditorForCell}{\param{int }{row}, \param{int }{col}}
776
777\constfunc{wxGridCellEditor*}{GetDefaultEditorForCell}{\param{const wxGridCellCoords\& }{c}}
778
779
4b39770c 780
608754c4
JS
781\membersection{wxGrid::GetDefaultEditorForType}\label{wxgridgetdefaulteditorfortype}
782
783\constfunc{wxGridCellEditor*}{GetDefaultEditorForType}{\param{const wxString\& }{typeName}}
784
785
4b39770c 786
78c49c58
MB
787\membersection{wxGrid::GetDefaultRenderer}\label{wxgridgetdefaultrenderer}
788
789\constfunc{wxGridCellRenderer*}{GetDefaultRenderer}{\void}
790
791Returns a pointer to the current default grid cell renderer.
792
793See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
794the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
a660d684 795
4b39770c
WS
796
797
608754c4
JS
798\membersection{wxGrid::GetDefaultRendererForCell}\label{wxgridgetdefaultrendererforcell}
799
800\constfunc{wxGridCellRenderer*}{GetDefaultRendererForCell}{\param{int }{row}, \param{int }{col}}
801
4b39770c
WS
802
803
608754c4
JS
804\membersection{wxGrid::GetDefaultRendererForType}\label{wxgridgetdefaultrendererfortype}
805
806\constfunc{wxGridCellRenderer*}{GetDefaultRendererForType}{\param{const wxString\& }{typeName}}
807
808
809
78c49c58 810\membersection{wxGrid::GetDefaultRowLabelSize}\label{wxgridgetdefaultrowlabelsize}
a660d684 811
78c49c58
MB
812\func{int}{GetDefaultRowLabelSize}{\void}
813
814Returns the default width for the row labels.
815
4b39770c
WS
816
817
78c49c58
MB
818\membersection{wxGrid::GetDefaultRowSize}\label{wxgridgetdefaultrowsize}
819
820\func{int}{GetDefaultRowSize}{\void}
821
822Returns the current default height for grid rows.
823
4b39770c
WS
824
825
78c49c58
MB
826\membersection{wxGrid::GetGridCursorCol}\label{wxgridgetgridcursorcol}
827
828\func{int}{GetGridCursorCol}{\void}
829
830Returns the current grid cell column position.
831
4b39770c
WS
832
833
78c49c58
MB
834\membersection{wxGrid::GetGridCursorRow}\label{wxgridgetgridcursorrow}
835
836\func{int}{GetGridCursorRow}{\void}
837
838Returns the current grid cell row position.
839
4b39770c
WS
840
841
78c49c58
MB
842\membersection{wxGrid::GetGridLineColour}\label{wxgridgetgridlinecolour}
843
844\func{wxColour}{GetGridLineColour}{\void}
845
846Returns the colour used for grid lines.
847
3d3f3e37
VZ
848\wxheading{See also}
849
850\helpref{GetDefaultGridLinePen()}{wxgridgetdefaultgridlinepen}
851
852
853\membersection{wxGrid::GetDefaultGridLinePen}\label{wxgridgetdefaultgridlinepen}
854
855\func{wxPen}{GetDefaultGridLinePen}{\void}
856
857Returns the pen used for grid lines. This virtual function may be overridden in
858derived classes in order to change the appearance of grid lines. Note that
859currently the pen width must be $1$.
860
861\wxheading{See also}
862
863\helpref{GetColGridLinePen()}{wxgridgetcolgridlinepen},\\
864\helpref{GetRowGridLinePen()}{wxgridgetrowgridlinepen}
865
866
867
868
869\membersection{wxGrid::GetRowGridLinePen}\label{wxgridgetrowgridlinepen}
870
871\func{wxPen}{GetRowGridLinePen}{\param{int }{row}}
872
873Returns the pen used for horizontal grid lines. This virtual function may be
874overridden in derived classes in order to change the appearance of individual
875grid line for the given row \arg{row}.
876
877Example: \\
878\\
879\begin{verbatim}
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)
883 {
884 if ( row%12 == 7 )
885 return wxPen(*wxBLACK, 1, wxSOLID);
886 else
887 return GetDefaultGridLinePen();
888 }
889\end{verbatim}
890
891
892
893\membersection{wxGrid::GetColGridLinePen}\label{wxgridgetcolgridlinepen}
894
895\func{wxPen}{GetColGridLinePen}{\param{int }{col}}
896
897Returns the pen used for vertical grid lines. This virtual function may be
898overridden in derived classes in order to change the appearance of individual
899grid lines for the given column \arg{col}.
900
901See \helpref{GetRowGridLinePen()}{wxgridgetrowgridlinepen} for an example.
902
903
4b39770c
WS
904
905
78c49c58
MB
906\membersection{wxGrid::GridLinesEnabled}\label{wxgridgridlinesenabled}
907
908\func{bool}{GridLinesEnabled}{\void}
909
cc81d32f 910Returns true if drawing of grid lines is turned on, false otherwise.
a660d684 911
4b39770c
WS
912
913
a660d684
KB
914\membersection{wxGrid::GetLabelBackgroundColour}\label{wxgridgetlabelbackgroundcolour}
915
78c49c58 916\func{wxColour}{GetLabelBackgroundColour}{\void}
a660d684 917
78c49c58 918Returns the colour used for the background of row and column labels.
a660d684 919
4b39770c
WS
920
921
78c49c58 922\membersection{wxGrid::GetLabelFont}\label{wxgridgetlabelfont}
a660d684 923
78c49c58 924\func{wxFont}{GetLabelFont}{\void}
a660d684 925
78c49c58 926Returns the font used for row and column labels.
a660d684 927
4b39770c
WS
928
929
a660d684
KB
930\membersection{wxGrid::GetLabelTextColour}\label{wxgridgetlabeltextcolour}
931
78c49c58 932\func{wxColour}{GetLabelTextColour}{\void}
a660d684 933
78c49c58 934Returns the colour used for row and column label text.
a660d684 935
4b39770c
WS
936
937
78c49c58 938\membersection{wxGrid::GetNumberCols}\label{wxgridgetnumbercols}
a660d684 939
78c49c58 940\func{int}{GetNumberCols}{\void}
a660d684 941
78c49c58
MB
942Returns the total number of grid columns (actually the number of columns in the underlying grid
943table).
a660d684 944
4b39770c
WS
945
946
78c49c58 947\membersection{wxGrid::GetNumberRows}\label{wxgridgetnumberrows}
a660d684 948
78c49c58 949\func{int}{GetNumberRows}{\void}
a660d684 950
78c49c58 951Returns the total number of grid rows (actually the number of rows in the underlying grid table).
a660d684 952
4b39770c
WS
953
954
608754c4
JS
955\membersection{wxGrid::GetOrCreateCellAttr}\label{wxgridgetorcreatecellattr}
956
957\constfunc{wxGridCellAttr*}{GetOrCreateCellAttr}{\param{int }{row}, \param{int }{col}}
958
4b39770c
WS
959
960
608754c4
JS
961\membersection{wxGrid::GetRowMinimalAcceptableHeight}\label{wxgridgetrowminimalacceptableheight}
962
963\func{int}{GetRowMinimalAcceptableHeight}{}
964
965This returns the value of the lowest row width that can be handled correctly. See
966member \helpref{SetRowMinimalAcceptableHeight}{wxgridsetrowminimalacceptableheight} for details.
967
968
4b39770c 969
608754c4
JS
970\membersection{wxGrid::GetRowMinimalHeight}\label{wxgridgetrowminimalheight}
971
972\constfunc{int}{GetRowMinimalHeight}{\param{int }{col}}
973
4b39770c
WS
974
975
78c49c58 976\membersection{wxGrid::GetRowLabelAlignment}\label{wxgridgetrowlabelalignment}
a660d684 977
78c49c58 978\func{void}{GetRowLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
a660d684 979
78c49c58 980Sets the arguments to the current row label alignment values.
a660d684 981
78c49c58
MB
982Horizontal alignment will be one of wxLEFT, wxCENTRE or wxRIGHT. \\
983Vertical alignment will be one of wxTOP, wxCENTRE or wxBOTTOM.
a660d684 984
9722642d
MB
985\perlnote{This method takes no parameters and
986returns a 2-element list {\tt ( horiz, vert )}.}
987
4b39770c
WS
988
989
78c49c58 990\membersection{wxGrid::GetRowLabelSize}\label{wxgridgetrowlabelsize}
a660d684 991
78c49c58 992\func{int}{GetRowLabelSize}{\void}
a660d684 993
78c49c58 994Returns the current width of the row labels.
a660d684 995
4b39770c
WS
996
997
78c49c58 998\membersection{wxGrid::GetRowLabelValue}\label{wxgridgetrowlabelvalue}
a660d684 999
78c49c58 1000\func{wxString}{GetRowLabelValue}{\param{int }{row}}
a660d684 1001
2edb0bde 1002Returns the specified row label. The default grid table class provides numeric row labels.
4b39770c 1003If you are using a custom grid table you can override
78c49c58 1004\helpref{wxGridTableBase::GetRowLabelValue}{wxgridtablebasegetcollabelvalue} to provide
4b39770c
WS
1005your own labels.
1006
1007
a660d684 1008
78c49c58 1009\membersection{wxGrid::GetRowSize}\label{wxgridgetrowsize}
a660d684 1010
78c49c58 1011\func{int}{GetRowSize}{\param{int }{row}}
a660d684 1012
78c49c58 1013Returns the height of the specified row.
a660d684 1014
608754c4 1015
4b39770c
WS
1016
1017\membersection{wxGrid::GetScrollLineX}\label{wxgridgetscrolllinex}
1018
1019\constfunc{int}{GetScrollLineX}{\void}
608754c4
JS
1020
1021Returns the number of pixels per horizontal scroll increment. The default is 15.
1022
4b39770c
WS
1023\wxheading{See also}
1024
1025\helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
1026\helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex},\rtfsp
1027\helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
1028
608754c4 1029
4b39770c
WS
1030
1031\membersection{wxGrid::GetScrollLineY}\label{wxgridgetscrollliney}
1032
1033\constfunc{int}{GetScrollLineY}{\void}
608754c4
JS
1034
1035Returns the number of pixels per vertical scroll increment. The default is 15.
1036
4b39770c
WS
1037\wxheading{See also}
1038
1039\helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
1040\helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex},\rtfsp
1041\helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
1042
1043
1044
aa5b8857
SN
1045\membersection{wxGrid::GetSelectionMode}\label{wxgridgetselectionmode}
1046
1047\constfunc{wxGrid::wxGridSelectionModes}{GetSelectionMode}{\void}
1048
1049Returns the current selection mode, see \helpref{wxGrid::SetSelectionMode}{wxgridsetselectionmode}.
1050
4b39770c
WS
1051
1052
aa5b8857
SN
1053\membersection{wxGrid::GetSelectedCells}\label{wxgridgetselectedcells}
1054
1055\constfunc{wxGridCellCoordsArray}{GetSelectedCells}{\void}
1056
1057Returns an array of singly selected cells.
1058
4b39770c
WS
1059
1060
aa5b8857
SN
1061\membersection{wxGrid::GetSelectedCols}\label{wxgridgetselectedcols}
1062
1063\constfunc{wxArrayInt}{GetSelectedCols}{\void}
1064
1065Returns an array of selected cols.
1066
4b39770c
WS
1067
1068
aa5b8857
SN
1069\membersection{wxGrid::GetSelectedRows}\label{wxgridgetselectedrows}
1070
1071\constfunc{wxArrayInt}{GetSelectedRows}{\void}
1072
1073Returns an array of selected rows.
1074
4b39770c
WS
1075
1076
608754c4
JS
1077\membersection{wxGrid::GetSelectionBackground}\label{wxgridgetselectionbackground}
1078
1079\constfunc{wxColour}{GetSelectionBackground}{\void}
1080
1081Access or update the selection fore/back colours
1082
1083
4b39770c 1084
aa5b8857
SN
1085\membersection{wxGrid::GetSelectionBlockTopLeft}\label{wxgridgetselectionblocktopleft}
1086
1087\constfunc{wxGridCellCoordsArray}{GetSelectionBlockTopLeft}{\void}
1088
4b39770c 1089Returns an array of the top left corners of blocks of selected cells,
aa5b8857
SN
1090see \helpref{wxGrid::GetSelectionBlockBottomRight}{wxgridgetselectionblockbottomright}.
1091
4b39770c
WS
1092
1093
aa5b8857
SN
1094\membersection{wxGrid::GetSelectionBlockBottomRight}\label{wxgridgetselectionblockbottomright}
1095
1096\constfunc{wxGridCellCoordsArray}{GetSelectionBlockBottomRight}{\void}
1097
1098Returns an array of the bottom right corners of blocks of selected cells,
1099see \helpref{wxGrid::GetSelectionBlockTopLeft}{wxgridgetselectionblocktopleft}.
1100
4b39770c
WS
1101
1102
608754c4
JS
1103\membersection{wxGrid::GetSelectionForeground}\label{wxgridgetselectionforeground}
1104
1105\constfunc{wxColour}{GetSelectionForeground}{\void}
1106
1107
4b39770c 1108
78c49c58 1109\membersection{wxGrid::GetTable}\label{wxgridgettable}
a660d684 1110
78c49c58 1111\constfunc{wxGridTableBase *}{GetTable}{\void}
a660d684 1112
78c49c58 1113Returns a base pointer to the current table object.
a660d684 1114
4b39770c
WS
1115
1116
608754c4
JS
1117\membersection{wxGrid::GetViewWidth}\label{wxgridgetviewwidth}
1118
1119\func{int}{GetViewWidth}{\void}
1120
1121Returned number of whole cols visible.
1122
4b39770c
WS
1123
1124
78c49c58 1125\membersection{wxGrid::HideCellEditControl}\label{wxgridhidecelleditcontrol}
a660d684 1126
78c49c58
MB
1127\func{void}{HideCellEditControl}{\void}
1128
1129Hides the in-place cell edit control.
a660d684 1130
4b39770c
WS
1131
1132
608754c4
JS
1133\membersection{wxGrid::InitColWidths}\label{wxgridinitcolwidths}
1134
1135\func{void}{InitColWidths}{\void}
1136
1137Init the m\_colWidths/Rights arrays
1138
4b39770c
WS
1139
1140
608754c4
JS
1141\membersection{wxGrid::InitRowHeights}\label{wxgridinitrowheights}
1142
1143\func{void}{InitRowHeights}{\void}
1144
1145NB: {\it never} access m\_row/col arrays directly because they are created
1146on demand, {\it always} use accessor functions instead!
1147
1148Init the m\_rowHeights/Bottoms arrays with default values.
1149
4b39770c
WS
1150
1151
a660d684
KB
1152\membersection{wxGrid::InsertCols}\label{wxgridinsertcols}
1153
cc81d32f 1154\func{bool}{InsertCols}{\param{int }{pos = 0}, \param{int }{numCols = 1}, \param{bool }{updateLabels = true}}
78c49c58
MB
1155
1156Inserts one or more new columns into a grid with the first new column at the
cc81d32f 1157specified position and returns true if successful. The updateLabels argument is not
4b39770c 1158used at present.
a660d684 1159
78c49c58
MB
1160The sequence of actions begins with the grid object requesting the underlying grid
1161table to insert new columns. If this is successful the table notifies the grid and the
d4175745 1162grid updates the display. For a default grid (one where you have called
78c49c58 1163\helpref{wxGrid::CreateGrid}{wxgridcreategrid}) this process is automatic. If you are
4b39770c 1164using a custom grid table (specified with \helpref{wxGrid::SetTable}{wxgridsettable})
d4175745 1165then you must override
78c49c58
MB
1166\helpref{wxGridTableBase::InsertCols}{wxgridtablebaseinsertcols} in your derived
1167table class.
a660d684 1168
4b39770c
WS
1169
1170
a660d684
KB
1171\membersection{wxGrid::InsertRows}\label{wxgridinsertrows}
1172
cc81d32f 1173\func{bool}{InsertRows}{\param{int }{pos = 0}, \param{int }{numRows = 1}, \param{bool }{updateLabels = true}}
a660d684 1174
78c49c58 1175Inserts one or more new rows into a grid with the first new row at the specified
cc81d32f 1176position and returns true if successful. The updateLabels argument is not used at
4b39770c 1177present.
a660d684 1178
78c49c58
MB
1179The sequence of actions begins with the grid object requesting the underlying grid
1180table to insert new rows. If this is successful the table notifies the grid and the
d4175745 1181grid updates the display. For a default grid (one where you have called
78c49c58 1182\helpref{wxGrid::CreateGrid}{wxgridcreategrid}) this process is automatic. If you are
4b39770c 1183using a custom grid table (specified with \helpref{wxGrid::SetTable}{wxgridsettable})
d4175745 1184then you must override
78c49c58
MB
1185\helpref{wxGridTableBase::InsertRows}{wxgridtablebaseinsertrows} in your derived
1186table class.
1187
4b39770c
WS
1188
1189
78c49c58
MB
1190\membersection{wxGrid::IsCellEditControlEnabled}\label{wxgridiscelleditcontrolenabled}
1191
1192\constfunc{bool}{IsCellEditControlEnabled}{\void}
1193
cc81d32f 1194Returns true if the in-place edit control is currently enabled.
78c49c58 1195
4b39770c
WS
1196
1197
78c49c58
MB
1198\membersection{wxGrid::IsCurrentCellReadOnly}\label{wxgridiscurrentcellreadonly}
1199
1200\constfunc{bool}{IsCurrentCellReadOnly}{\void}
1201
cc81d32f 1202Returns true if the current cell has been set to read-only
78c49c58
MB
1203(see \helpref{wxGrid::SetReadOnly}{wxgridsetreadonly}).
1204
4b39770c
WS
1205
1206
78c49c58 1207\membersection{wxGrid::IsEditable}\label{wxgridiseditable}
a660d684 1208
78c49c58 1209\func{bool}{IsEditable}{\void}
a660d684 1210
cc81d32f 1211Returns false if the whole grid has been set as read-only or true otherwise.
78c49c58
MB
1212See \helpref{wxGrid::EnableEditing}{wxgridenableediting} for more information about
1213controlling the editing status of grid cells.
a660d684 1214
4b39770c
WS
1215
1216
aa5b8857
SN
1217\membersection{wxGrid::IsInSelection}\label{wxgridisinselection}
1218
1219\constfunc{bool}{IsInSelection}{\param{int }{row}, \param{int }{col}}
1220
1221\constfunc{bool}{IsInSelection}{\param{const wxGridCellCoords\& }{coords}}
1222
1223Is this cell currently selected.
1224
4b39770c
WS
1225
1226
5c69031c
MB
1227\membersection{wxGrid::IsReadOnly}\label{wxgridisreadonly}
1228
1229\constfunc{bool}{IsReadOnly}{\param{int }{row}, \param{int }{col}}
1230
cc81d32f 1231Returns true if the cell at the specified location can't be edited.
5c69031c
MB
1232See also \helpref{wxGrid::IsReadOnly}{wxgridisreadonly}.
1233
4b39770c
WS
1234
1235
5c69031c
MB
1236\membersection{wxGrid::IsSelection}\label{wxgridisselection}
1237
1238\func{bool}{IsSelection}{\void}
1239
cc81d32f 1240Returns true if there are currently rows, columns or blocks of cells selected.
5c69031c 1241
4b39770c
WS
1242
1243
78c49c58 1244\membersection{wxGrid::IsVisible}\label{wxgridisvisible}
a660d684 1245
cc81d32f 1246\func{bool}{IsVisible}{\param{int }{row}, \param{int }{col}, \param{bool }{wholeCellVisible = true}}
a660d684 1247
cc81d32f 1248\func{bool}{IsVisible}{\param{const wxGridCellCoords\& }{coords}, \param{bool }{wholeCellVisible = true}}
a660d684 1249
cc81d32f 1250Returns true if a cell is either wholly visible (the default) or at least partially
78c49c58 1251visible in the grid window.
a660d684 1252
4b39770c
WS
1253
1254
78c49c58 1255\membersection{wxGrid::MakeCellVisible}\label{wxgridmakecellvisible}
a660d684 1256
78c49c58 1257\func{void}{MakeCellVisible}{\param{int }{row}, \param{int }{col}}
a660d684 1258
78c49c58 1259\func{void}{MakeCellVisible}{\param{const wxGridCellCoords\& }{coords}}
a660d684 1260
78c49c58 1261Brings the specified cell into the visible grid cell area with minimal scrolling. Does
4b39770c
WS
1262nothing if the cell is already visible.
1263
1264
a660d684 1265
78c49c58 1266\membersection{wxGrid::MoveCursorDown}\label{wxgridmovecursordown}
a660d684 1267
78c49c58 1268\func{bool}{MoveCursorDown}{\param{bool }{expandSelection}}
a660d684 1269
2eebb742 1270Moves the grid cursor down by one row. If a block of cells was previously selected it
cc81d32f 1271will expand if the argument is true or be cleared if the argument is false.
a660d684 1272
78c49c58
MB
1273\wxheading{Keyboard}\\
1274This function is called for Down cursor key presses or Shift+Down to expand a selection.
a660d684 1275
4b39770c
WS
1276
1277
78c49c58 1278\membersection{wxGrid::MoveCursorLeft}\label{wxgridmovecursorleft}
a660d684 1279
78c49c58 1280\func{bool}{MoveCursorLeft}{\param{bool }{expandSelection}}
a660d684 1281
78c49c58 1282Moves the grid cursor left by one column. If a block of cells was previously selected it
cc81d32f 1283will expand if the argument is true or be cleared if the argument is false.
a660d684 1284
78c49c58
MB
1285\wxheading{Keyboard}\\
1286This function is called for Left cursor key presses or Shift+Left to expand a selection.
a660d684 1287
4b39770c
WS
1288
1289
78c49c58 1290\membersection{wxGrid::MoveCursorRight}\label{wxgridmovecursorright}
a660d684 1291
78c49c58 1292\func{bool}{MoveCursorRight}{\param{bool }{expandSelection}}
a660d684 1293
78c49c58 1294Moves the grid cursor right by one column. If a block of cells was previously selected it
cc81d32f 1295will expand if the argument is true or be cleared if the argument is false.
a660d684 1296
78c49c58
MB
1297\wxheading{Keyboard}\\
1298This function is called for Right cursor key presses or Shift+Right to expand a selection.
a660d684 1299
4b39770c
WS
1300
1301
78c49c58 1302\membersection{wxGrid::MoveCursorUp}\label{wxgridmovecursorup}
a660d684 1303
78c49c58 1304\func{bool}{MoveCursorUp}{\param{bool }{expandSelection}}
a660d684 1305
78c49c58 1306Moves the grid cursor up by one row. If a block of cells was previously selected it
cc81d32f 1307will expand if the argument is true or be cleared if the argument is false.
a660d684 1308
78c49c58
MB
1309\wxheading{Keyboard}\\
1310This function is called for Up cursor key presses or Shift+Up to expand a selection.
a660d684 1311
4b39770c
WS
1312
1313
78c49c58 1314\membersection{wxGrid::MoveCursorDownBlock}\label{wxgridmovecursordownblock}
a660d684 1315
78c49c58 1316\func{bool}{MoveCursorDownBlock}{\param{bool }{expandSelection}}
a660d684 1317
78c49c58
MB
1318Moves the grid cursor down in the current column such that it skips to the beginning or
1319end of a block of non-empty cells. If a block of cells was previously selected it
cc81d32f 1320will expand if the argument is true or be cleared if the argument is false.
a660d684 1321
78c49c58
MB
1322\wxheading{Keyboard}\\
1323This function is called for the Ctrl+Down key combination. Shift+Ctrl+Down expands a selection.
a660d684 1324
4b39770c
WS
1325
1326
78c49c58 1327\membersection{wxGrid::MoveCursorLeftBlock}\label{wxgridmovecursorleftblock}
a660d684 1328
78c49c58 1329\func{bool}{MoveCursorLeftBlock}{\param{bool }{expandSelection}}
a660d684 1330
78c49c58
MB
1331Moves the grid cursor left in the current row such that it skips to the beginning or
1332end of a block of non-empty cells. If a block of cells was previously selected it
cc81d32f 1333will expand if the argument is true or be cleared if the argument is false.
a660d684 1334
78c49c58
MB
1335\wxheading{Keyboard}\\
1336This function is called for the Ctrl+Left key combination. Shift+Ctrl+left expands a selection.
a660d684 1337
4b39770c
WS
1338
1339
78c49c58
MB
1340\membersection{wxGrid::MoveCursorRightBlock}\label{wxgridmovecursorrightblock}
1341
1342\func{bool}{MoveCursorRightBlock}{\param{bool }{expandSelection}}
1343
1344Moves the grid cursor right in the current row such that it skips to the beginning or
1345end of a block of non-empty cells. If a block of cells was previously selected it
cc81d32f 1346will expand if the argument is true or be cleared if the argument is false.
78c49c58
MB
1347
1348\wxheading{Keyboard}\\
1349This function is called for the Ctrl+Right key combination. Shift+Ctrl+Right expands a selection.
1350
4b39770c
WS
1351
1352
78c49c58
MB
1353\membersection{wxGrid::MoveCursorUpBlock}\label{wxgridmovecursorupblock}
1354
1355\func{bool}{MoveCursorUpBlock}{\param{bool }{expandSelection}}
1356
1357Moves the grid cursor up in the current column such that it skips to the beginning or
1358end of a block of non-empty cells. If a block of cells was previously selected it
cc81d32f 1359will expand if the argument is true or be cleared if the argument is false.
78c49c58
MB
1360
1361\wxheading{Keyboard}\\
1362This function is called for the Ctrl+Up key combination. Shift+Ctrl+Up expands a selection.
1363
4b39770c
WS
1364
1365
78c49c58
MB
1366\membersection{wxGrid::MovePageDown}\label{wxgridmovepagedown}
1367
1368\func{bool}{MovePageDown}{\void}
1369
1370Moves the grid cursor down by some number of rows so that the previous bottom visible row
1371becomes the top visible row.
1372
1373\wxheading{Keyboard}\\
1374This function is called for PgDn keypresses.
1375
4b39770c
WS
1376
1377
78c49c58
MB
1378\membersection{wxGrid::MovePageUp}\label{wxgridmovepageup}
1379
1380\func{bool}{MovePageUp}{\void}
1381
1382Moves the grid cursor up by some number of rows so that the previous top visible row
1383becomes the bottom visible row.
1384
1385\wxheading{Keyboard}\\
1386This function is called for PgUp keypresses.
1387
4b39770c
WS
1388
1389
608754c4
JS
1390\membersection{wxGrid::RegisterDataType}\label{wxgridregisterdatatype}
1391
1392\func{void}{RegisterDataType}{\param{const wxString\& }{typeName}, \param{wxGridCellRenderer* }{renderer}, \param{wxGridCellEditor* }{editor}}
1393
1394Methods for a registry for mapping data types to Renderers/Editors
1395
4b39770c
WS
1396
1397
78c49c58
MB
1398\membersection{wxGrid::SaveEditControlValue}\label{wxgridsaveeditcontrolvalue}
1399
1400\func{void}{SaveEditControlValue}{\void}
1401
1402Sets the value of the current grid cell to the current in-place edit control value.
1403This is called automatically when the grid cursor moves from the current cell to a
1404new cell. It is also a good idea to call this function when closing a grid since
1405any edits to the final cell location will not be saved otherwise.
a660d684 1406
4b39770c
WS
1407
1408
5c69031c
MB
1409\membersection{wxGrid::SelectAll}\label{wxgridselectall}
1410
1411\func{void}{SelectAll}{\void}
1412
1413Selects all cells in the grid.
1414
4b39770c
WS
1415
1416
5c69031c
MB
1417\membersection{wxGrid::SelectBlock}\label{wxgridselectblock}
1418
4b39770c 1419\func{void}{SelectBlock}{\param{int }{topRow}, \param{int }{leftCol},
cc81d32f 1420\param{int }{bottomRow}, \param{int }{rightCol}, \param{bool }{addToSelected = false}}
5c69031c 1421
4b39770c 1422\func{void}{SelectBlock}{\param{const wxGridCellCoords\& }{topLeft},
cc81d32f 1423\param{const wxGridCellCoords\& }{bottomRight}, \param{bool }{addToSelected = false}}
5c69031c 1424
cc81d32f 1425Selects a rectangular block of cells. If addToSelected is false then any existing selection will be
4b39770c
WS
1426deselected; if true the column will be added to the existing selection.
1427
1428
5c69031c
MB
1429
1430\membersection{wxGrid::SelectCol}\label{wxgridselectcol}
1431
cc81d32f 1432\func{void}{SelectCol}{\param{int }{col}, \param{bool }{addToSelected = false}}
5c69031c 1433
cc81d32f
VS
1434Selects the specified column. If addToSelected is false then any existing selection will be
1435deselected; if true the column will be added to the existing selection.
5c69031c 1436
4b39770c
WS
1437
1438
608754c4
JS
1439\membersection{wxGrid::SelectionToDeviceRect}\label{wxgridselectiontodevicerect}
1440
1441\func{wxRect}{SelectionToDeviceRect}{\void}
1442
1443This function returns the rectangle that encloses the selected cells
1444in device coords and clipped to the client size of the grid window.
1445
1446
4b39770c 1447
5c69031c
MB
1448\membersection{wxGrid::SelectRow}\label{wxgridselectrow}
1449
cc81d32f 1450\func{void}{SelectRow}{\param{int }{row}, \param{bool }{addToSelected = false}}
5c69031c 1451
cc81d32f
VS
1452Selects the specified row. If addToSelected is false then any existing selection will be
1453deselected; if true the row will be added to the existing selection.
5c69031c 1454
4b39770c
WS
1455
1456
a660d684
KB
1457\membersection{wxGrid::SetCellAlignment}\label{wxgridsetcellalignment}
1458
78c49c58 1459\func{void}{SetCellAlignment}{\param{int }{row}, \param{int }{col}, \param{int }{horiz}, \param{int }{vert}}
a660d684 1460
2eebb742
JS
1461\func{void}{SetCellAlignment}{\param{int }{align}, \param{int }{row}, \param{int }{col}}
1462
2edb0bde 1463Sets the horizontal and vertical alignment for grid cell text at the specified location.
a660d684 1464
e7240349
GT
1465Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT. \\
1466Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
a660d684 1467
4b39770c
WS
1468
1469
608754c4
JS
1470\membersection{wxGrid::SetCellBackgroundColour}\label{wxgridsetcellbackgroundcolour}
1471
1472\func{void}{SetCellBackgroundColour}{\param{int }{row}, \param{int }{col}, \param{const wxColour\&}{ colour}}
1473
1474
4b39770c 1475
78c49c58 1476\membersection{wxGrid::SetCellEditor}\label{wxgridsetcelleditor}
21f280f4 1477
78c49c58
MB
1478\func{void}{SetCellEditor}{\param{int }{row}, \param{int }{col}, \param{wxGridCellEditor* }{editor}}
1479
4b39770c 1480Sets the editor for the grid cell at the specified location.
78c49c58
MB
1481The grid will take ownership of the pointer.
1482
1483See \helpref{wxGridCellEditor}{wxgridcelleditor} and
1484the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1485
4b39770c
WS
1486
1487
78c49c58
MB
1488\membersection{wxGrid::SetCellFont}\label{wxgridsetcellfont}
1489
deea56b1 1490\func{void}{SetCellFont}{\param{int }{row}, \param{int }{col}, \param{const wxFont\&}{ font}}
78c49c58
MB
1491
1492Sets the font for text in the grid cell at the specified location.
a660d684 1493
4b39770c
WS
1494
1495
78c49c58 1496\membersection{wxGrid::SetCellRenderer}\label{wxgridsetcellrenderer}
a660d684 1497
78c49c58 1498\func{void}{SetCellRenderer}{\param{int }{row}, \param{int }{col}, \param{wxGridCellRenderer* }{renderer}}
a660d684 1499
4b39770c 1500Sets the renderer for the grid cell at the specified location.
78c49c58 1501The grid will take ownership of the pointer.
a660d684 1502
78c49c58
MB
1503See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
1504the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
21f280f4 1505
4b39770c
WS
1506
1507
a660d684
KB
1508\membersection{wxGrid::SetCellTextColour}\label{wxgridsetcelltextcolour}
1509
68f30f26 1510\func{void}{SetCellTextColour}{\param{int }{row}, \param{int }{col}, \param{const wxColour\&}{ colour}}
a660d684 1511
2eebb742
JS
1512\func{void}{SetCellTextColour}{\param{const wxColour\& }{val}, \param{int }{row}, \param{int }{col}}
1513
deea56b1 1514\func{void}{SetCellTextColour}{\param{const wxColour\& }{colour}}
2eebb742 1515
78c49c58 1516Sets the text colour for the grid cell at the specified location.
a660d684 1517
4b39770c
WS
1518
1519
5c69031c
MB
1520\membersection{wxGrid::SetCellValue}\label{wxgridsetcellvalue}
1521
1522\func{void}{SetCellValue}{\param{int }{row}, \param{int }{col}, \param{const wxString\& }{s}}
1523
1524\func{void}{SetCellValue}{\param{const wxGridCellCoords\& }{coords}, \param{const wxString\& }{s}}
1525
2eebb742
JS
1526\func{void}{SetCellValue}{\param{const wxString\& }{val}, \param{int }{row}, \param{int }{col}}
1527
5c69031c
MB
1528Sets the string value for the cell at the specified location. For simple applications where a
1529grid object automatically uses a default grid table of string values you use this function together
4b39770c 1530with \helpref{wxGrid::GetCellValue}{wxgridgetcellvalue} to access cell values.
5c69031c
MB
1531
1532For more complex applications where you have derived your own grid table class that contains
1533various data types (e.g. numeric, boolean or user-defined custom types) then you only use this
2eebb742
JS
1534function for those cells that contain string values.
1535
1536The last form is for backward compatibility only.
5c69031c 1537
d4175745 1538See \helpref{wxGridTableBase::CanSetValueAs}{wxgridtablebasecangetvalueas}
5c69031c
MB
1539and the \helpref{wxGrid overview}{gridoverview} for more information.
1540
4b39770c
WS
1541
1542
78c49c58 1543\membersection{wxGrid::SetColAttr}\label{wxgridsetcolattr}
a660d684 1544
78c49c58 1545\func{void}{SetColAttr}{\param{int }{col}, \param{wxGridCellAttr* }{attr}}
21f280f4 1546
78c49c58 1547Sets the cell attributes for all cells in the specified column.
a660d684 1548
d4175745
VZ
1549For more information about controlling grid cell attributes see the
1550\helpref{wxGridCellAttr}{wxgridcellattr} cell attribute class and the
78c49c58 1551\helpref{wxGrid classes overview}{gridoverview}.
a660d684 1552
4b39770c
WS
1553
1554
78c49c58 1555\membersection{wxGrid::SetColFormatBool}\label{wxgridsetcolformatbool}
a660d684 1556
78c49c58 1557\func{void}{SetColFormatBool}{\param{int }{col}}
a660d684 1558
78c49c58 1559Sets the specified column to display boolean values. wxGrid displays boolean values with a checkbox.
21f280f4 1560
4b39770c
WS
1561
1562
78c49c58 1563\membersection{wxGrid::SetColFormatNumber}\label{wxgridsetcolformatnumber}
a660d684 1564
78c49c58 1565\func{void}{SetColFormatNumber}{\param{int }{col}}
a660d684 1566
78c49c58 1567Sets the specified column to display integer values.
a660d684 1568
4b39770c
WS
1569
1570
78c49c58 1571\membersection{wxGrid::SetColFormatFloat}\label{wxgridsetcolformatfloat}
a660d684 1572
78c49c58 1573\func{void}{SetColFormatFloat}{\param{int }{col}, \param{int }{width = -1}, \param{int }{precision = -1}}
a660d684 1574
78c49c58 1575Sets the specified column to display floating point values with the given width and precision.
a660d684 1576
4b39770c
WS
1577
1578
78c49c58 1579\membersection{wxGrid::SetColFormatCustom}\label{wxgridsetcolformatcustom}
a660d684 1580
78c49c58 1581\func{void}{SetColFormatCustom}{\param{int }{col}, \param{const wxString\& }{typeName}}
a660d684 1582
78c49c58
MB
1583Sets the specified column to display data in a custom format.
1584See the \helpref{wxGrid overview}{gridoverview} for more information on working
1585with custom data types.
a660d684 1586
4b39770c
WS
1587
1588
78c49c58 1589\membersection{wxGrid::SetColLabelAlignment}\label{wxgridsetcollabelalignment}
a660d684 1590
78c49c58 1591\func{void}{SetColLabelAlignment}{\param{int }{horiz}, \param{int }{vert}}
a660d684 1592
78c49c58 1593Sets the horizontal and vertical alignment of column label text.
a660d684 1594
e7240349 1595Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
deea56b1 1596
e7240349 1597Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
78c49c58 1598
4b39770c
WS
1599
1600
78c49c58
MB
1601\membersection{wxGrid::SetColLabelSize}\label{wxgridsetcollabelsize}
1602
1603\func{void}{SetColLabelSize}{\param{int }{height}}
1604
1605Sets the height of the column labels.
1606
4b39770c
WS
1607
1608
78c49c58
MB
1609\membersection{wxGrid::SetColLabelValue}\label{wxgridsetcollabelvalue}
1610
deea56b1 1611\func{void}{SetColLabelValue}{\param{int }{col}, \param{const wxString\&}{ value}}
78c49c58 1612
4b39770c 1613Set the value for the given column label. If you are using a derived grid table you must
78c49c58
MB
1614override \helpref{wxGridTableBase::SetColLabelValue}{wxgridtablebasesetcollabelvalue}
1615for this to have any effect.
1616
4b39770c
WS
1617
1618
78c49c58
MB
1619\membersection{wxGrid::SetColMinimalWidth}\label{wxgridsetcolminimalwidth}
1620
1621\func{void}{SetColMinimalWidth}{\param{int }{col}, \param{int }{width}}
1622
1623Sets the minimal width for the specified column. This should normally be called when creating the grid
1624because it will not resize a column that is already narrower than the minimal width.
b8d24d4e
RG
1625The width argument must be higher than the minimimal acceptable column width, see
1626\helpref{wxGrid::GetColMinimalAcceptableWidth}{wxgridgetcolminimalacceptablewidth}.
1627
4b39770c
WS
1628
1629
b8d24d4e
RG
1630\membersection{wxGrid::SetColMinimalAcceptableWidth}\label{wxgridsetcolminimalacceptablewidth}
1631
1632\func{void}{SetColMinimalAcceptableWidth}{\param{int }{width}}
1633
1634This modifies the minimum column width that can be handled correctly. Specifying a low value here
1635allows smaller grid cells to be dealt with correctly. Specifying a value here which is much smaller
1636than the actual minimum size will incur a performance penalty in the functions which perform
1637grid cell index lookup on the basis of screen coordinates.
1638This should normally be called when creating the grid because it will not resize existing columns
4b39770c
WS
1639with sizes smaller than the value specified here.
1640
1641
b8d24d4e 1642
d4175745
VZ
1643\membersection{wxGrid::SetColPos}\label{wxgridsetcolpos}
1644
1645\func{void}{SetColPos}{\param{int }{colID}, \param{int }{newPos}}
1646
1647Sets the position of the specified column.
1648
1649
1650
78c49c58
MB
1651\membersection{wxGrid::SetColSize}\label{wxgridsetcolsize}
1652
1653\func{void}{SetColSize}{\param{int }{col}, \param{int }{width}}
1654
4b39770c 1655Sets the width of the specified column.
78c49c58
MB
1656
1657This function does not refresh the grid. If you are calling it outside of a BeginBatch / EndBatch
4b39770c 1658block you can use \helpref{wxGrid::ForceRefresh}{wxgridforcerefresh} to see the changes.
78c49c58 1659
cc81d32f 1660Automatically sizes the column to fit its contents. If setAsMin is true the calculated width will
78c49c58
MB
1661also be set as the minimal width for the column.
1662
2eebb742 1663\wxheading{Note}\\
78c49c58 1664wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
4b39770c
WS
1665The memory requirements for this could become prohibitive if your grid is very large.
1666
1667
78c49c58
MB
1668
1669\membersection{wxGrid::SetDefaultCellAlignment}\label{wxgridsetdefaultcellalignment}
1670
1671\func{void}{SetDefaultCellAlignment}{\param{int }{horiz}, \param{int }{vert}}
1672
2edb0bde 1673Sets the default horizontal and vertical alignment for grid cell text.
78c49c58 1674
e7240349 1675Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
deea56b1 1676
e7240349 1677Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
78c49c58 1678
4b39770c
WS
1679
1680
78c49c58
MB
1681\membersection{wxGrid::SetDefaultCellBackgroundColour}\label{wxgridsetdefaultcellbackgroundcolour}
1682
deea56b1 1683\func{void}{SetDefaultCellBackgroundColour}{\param{const wxColour\&}{ colour}}
78c49c58
MB
1684
1685Sets the default background colour for grid cells.
1686
4b39770c
WS
1687
1688
78c49c58
MB
1689\membersection{wxGrid::SetDefaultCellFont}\label{wxgridsetdefaultcellfont}
1690
deea56b1 1691\func{void}{SetDefaultCellFont}{\param{const wxFont\&}{ font}}
78c49c58
MB
1692
1693Sets the default font to be used for grid cell text.
1694
4b39770c
WS
1695
1696
f6bb64a6
JS
1697\membersection{wxGrid::SetDefaultCellTextColour}\label{wxgridsetdefaultcelltextcolour}
1698
1699\func{void}{SetDefaultCellTextColour}{\param{const wxColour\&}{ colour}}
1700
1701Sets the current default colour for grid cell text.
1702
4b39770c
WS
1703
1704
78c49c58
MB
1705\membersection{wxGrid::SetDefaultEditor}\label{wxgridsetdefaulteditor}
1706
1707\func{void}{SetDefaultEditor}{\param{wxGridCellEditor* }{editor}}
1708
1709Sets the default editor for grid cells. The grid will take ownership of the pointer.
1710
1711See \helpref{wxGridCellEditor}{wxgridcelleditor} and
1712the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1713
4b39770c
WS
1714
1715
78c49c58
MB
1716\membersection{wxGrid::SetDefaultRenderer}\label{wxgridsetdefaultrenderer}
1717
1718\func{void}{SetDefaultRenderer}{\param{wxGridCellRenderer* }{renderer}}
1719
1720Sets the default renderer for grid cells. The grid will take ownership of the pointer.
1721
1722See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
1723the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1724
4b39770c
WS
1725
1726
78c49c58 1727\membersection{wxGrid::SetDefaultColSize}\label{wxgridsetdefaultcolsize}
c0b042fc 1728
cc81d32f 1729\func{void}{SetDefaultColSize}{\param{int }{width}, \param{bool }{resizeExistingCols = false}}
c0b042fc 1730
78c49c58 1731Sets the default width for columns in the grid. This will only affect columns subsequently added to
4b39770c
WS
1732the grid unless resizeExistingCols is true.
1733
1734
78c49c58
MB
1735
1736\membersection{wxGrid::SetDefaultRowSize}\label{wxgridsetdefaultrowsize}
1737
cc81d32f 1738\func{void}{SetDefaultRowSize}{\param{int }{height}, \param{bool }{resizeExistingRows = false}}
78c49c58
MB
1739
1740Sets the default height for rows in the grid. This will only affect rows subsequently added
cc81d32f 1741to the grid unless resizeExistingRows is true.
c0b042fc 1742
4b39770c
WS
1743
1744
a660d684
KB
1745\membersection{wxGrid::SetGridCursor}\label{wxgridsetgridcursor}
1746
78c49c58 1747\func{void}{SetGridCursor}{\param{int }{row}, \param{int }{col}}
a660d684 1748
4b39770c 1749Set the grid cursor to the specified cell.
78c49c58 1750This function calls \helpref{wxGrid::MakeCellVisible}{wxgridmakecellvisible}.
a660d684 1751
4b39770c
WS
1752
1753
78c49c58 1754\membersection{wxGrid::SetGridLineColour}\label{wxgridsetgridlinecolour}
a660d684 1755
deea56b1 1756\func{void}{SetGridLineColour}{\param{const wxColour\&}{colour}}
a660d684 1757
78c49c58 1758Sets the colour used to draw grid lines.
a660d684 1759
4b39770c
WS
1760
1761
a660d684
KB
1762\membersection{wxGrid::SetLabelBackgroundColour}\label{wxgridsetlabelbackgroundcolour}
1763
deea56b1 1764\func{void}{SetLabelBackgroundColour}{\param{const wxColour\&}{ colour}}
a660d684 1765
78c49c58 1766Sets the background colour for row and column labels.
a660d684 1767
4b39770c
WS
1768
1769
78c49c58 1770\membersection{wxGrid::SetLabelFont}\label{wxgridsetlabelfont}
a660d684 1771
deea56b1 1772\func{void}{SetLabelFont}{\param{const wxFont\&}{ font}}
a660d684 1773
78c49c58 1774Sets the font for row and column labels.
a660d684 1775
4b39770c
WS
1776
1777
a660d684
KB
1778\membersection{wxGrid::SetLabelTextColour}\label{wxgridsetlabeltextcolour}
1779
deea56b1 1780\func{void}{SetLabelTextColour}{\param{const wxColour\&}{ colour}}
a660d684 1781
78c49c58 1782Sets the colour for row and column label text.
a660d684 1783
4b39770c
WS
1784
1785
608754c4
JS
1786\membersection{wxGrid::SetMargins}\label{wxgridsetmargins}
1787
1788\func{void}{SetMargins}{\param{int }{extraWidth}, \param{int }{extraHeight}}
1789
1790A grid may occupy more space than needed for its rows/columns. This
1791function allows to set how big this extra space is
1792
4b39770c
WS
1793
1794
608754c4
JS
1795\membersection{wxGrid::SetOrCalcColumnSizes}\label{wxgridsetorcalccolumnsizes}
1796
1797\func{int}{SetOrCalcColumnSizes}{\param{bool }{calcOnly}, \param{bool }{setAsMin = true}}
1798
1799Common part of AutoSizeColumn/Row() and GetBestSize()
1800
4b39770c
WS
1801
1802
608754c4
JS
1803\membersection{wxGrid::SetOrCalcRowSizes}\label{wxgridsetorcalcrowsizes}
1804
1805\func{int}{SetOrCalcRowSizes}{\param{bool }{calcOnly}, \param{bool }{setAsMin = true}}
1806
4b39770c
WS
1807
1808
5c69031c
MB
1809\membersection{wxGrid::SetReadOnly}\label{wxgridsetreadonly}
1810
cc81d32f 1811\func{void}{SetReadOnly}{\param{int }{row}, \param{int }{col}, \param{bool }{isReadOnly = true}}
5c69031c
MB
1812
1813Makes the cell at the specified location read-only or editable.
1814See also \helpref{wxGrid::IsReadOnly}{wxgridisreadonly}.
1815
4b39770c
WS
1816
1817
78c49c58 1818\membersection{wxGrid::SetRowAttr}\label{wxgridsetrowattr}
a660d684 1819
78c49c58 1820\func{void}{SetRowAttr}{\param{int }{row}, \param{wxGridCellAttr* }{attr}}
a660d684 1821
78c49c58
MB
1822Sets the cell attributes for all cells in the specified row.
1823See the \helpref{wxGridCellAttr}{wxgridcellattr} class for more information
1824about controlling cell attributes.
a660d684 1825
4b39770c
WS
1826
1827
78c49c58 1828\membersection{wxGrid::SetRowLabelAlignment}\label{wxgridsetrowlabelalignment}
a660d684 1829
78c49c58 1830\func{void}{SetRowLabelAlignment}{\param{int }{horiz}, \param{int }{vert}}
a660d684 1831
78c49c58 1832Sets the horizontal and vertical alignment of row label text.
a660d684 1833
e7240349 1834Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
deea56b1 1835
e7240349 1836Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
a660d684 1837
4b39770c
WS
1838
1839
78c49c58 1840\membersection{wxGrid::SetRowLabelSize}\label{wxgridsetrowlabelsize}
a660d684 1841
78c49c58 1842\func{void}{SetRowLabelSize}{\param{int }{width}}
a660d684 1843
78c49c58
MB
1844Sets the width of the row labels.
1845
4b39770c
WS
1846
1847
78c49c58
MB
1848\membersection{wxGrid::SetRowLabelValue}\label{wxgridsetrowlabelvalue}
1849
deea56b1 1850\func{void}{SetRowLabelValue}{\param{int }{row}, \param{const wxString\&}{ value}}
78c49c58 1851
4b39770c
WS
1852Set the value for the given row label. If you are using a derived grid table you must
1853override \helpref{wxGridTableBase::SetRowLabelValue}{wxgridtablebasesetrowlabelvalue}
78c49c58
MB
1854for this to have any effect.
1855
4b39770c
WS
1856
1857
78c49c58
MB
1858\membersection{wxGrid::SetRowMinimalHeight}\label{wxgridsetrowminimalheight}
1859
b8d24d4e 1860\func{void}{SetRowMinimalHeight}{\param{int }{row}, \param{int }{height}}
78c49c58
MB
1861
1862Sets the minimal height for the specified row. This should normally be called when creating the grid
1863because it will not resize a row that is already shorter than the minimal height.
b8d24d4e
RG
1864The height argument must be higher than the minimimal acceptable row height, see
1865\helpref{wxGrid::GetRowMinimalAcceptableHeight}{wxgridgetrowminimalacceptableheight}.
1866
4b39770c
WS
1867
1868
b8d24d4e
RG
1869\membersection{wxGrid::SetRowMinimalAcceptableHeight}\label{wxgridsetrowminimalacceptableheight}
1870
1871\func{void}{SetRowMinimalAcceptableHeight}{\param{int }{height}}
1872
1873This modifies the minimum row width that can be handled correctly. Specifying a low value here
1874allows smaller grid cells to be dealt with correctly. Specifying a value here which is much smaller
1875than the actual minimum size will incur a performance penalty in the functions which perform
1876grid cell index lookup on the basis of screen coordinates.
1877This should normally be called when creating the grid because it will not resize existing rows
4b39770c
WS
1878with sizes smaller than the value specified here.
1879
1880
b8d24d4e 1881
78c49c58
MB
1882\membersection{wxGrid::SetRowSize}\label{wxgridsetrowsize}
1883
1884\func{void}{SetRowSize}{\param{int }{row}, \param{int }{height}}
1885
4b39770c 1886Sets the height of the specified row.
78c49c58
MB
1887
1888This function does not refresh the grid. If you are calling it outside of a BeginBatch / EndBatch
4b39770c 1889block you can use \helpref{wxGrid::ForceRefresh}{wxgridforcerefresh} to see the changes.
78c49c58 1890
cc81d32f 1891Automatically sizes the column to fit its contents. If setAsMin is true the calculated width will
78c49c58
MB
1892also be set as the minimal width for the column.
1893
deea56b1
JS
1894\wxheading{Note}
1895
78c49c58 1896wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
4b39770c 1897The memory requirements for this could become prohibitive if your grid is very large.
78c49c58 1898
608754c4 1899
4b39770c
WS
1900
1901\membersection{wxGrid::SetScrollLineX}\label{wxgridsetscrolllinex}
1902
1903\func{void}{SetScrollLineX}{\param{int }{x}}
608754c4
JS
1904
1905Sets the number of pixels per horizontal scroll increment. The default is 15.
1906Sometimes wxGrid has trouble setting the scrollbars correctly due to rounding
1907errors: setting this to 1 can help.
1908
4b39770c
WS
1909\wxheading{See also}
1910
1911\helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
1912\helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
1913\helpref{wxGrid::SetScrollLineY}{wxgridsetscrollliney}
1914
608754c4 1915
4b39770c
WS
1916
1917\membersection{wxGrid::SetScrollLineY}\label{wxgridsetscrollliney}
1918
1919\func{void}{SetScrollLineY}{\param{int }{y}}
608754c4
JS
1920
1921Sets the number of pixels per vertical scroll increment. The default is 15.
1922Sometimes wxGrid has trouble setting the scrollbars correctly due to rounding
1923errors: setting this to 1 can help.
1924
4b39770c
WS
1925\wxheading{See also}
1926
1927\helpref{wxGrid::GetScrollLineX}{wxgridgetscrolllinex},\rtfsp
1928\helpref{wxGrid::GetScrollLineY}{wxgridgetscrollliney},\rtfsp
1929\helpref{wxGrid::SetScrollLineX}{wxgridsetscrolllinex}
1930
1931
1932
608754c4
JS
1933\membersection{wxGrid::SetSelectionBackground}\label{wxgridsetselectionbackground}
1934
1935\func{void}{SetSelectionBackground}{\param{const wxColour\& }{c}}
1936
1937
4b39770c 1938
608754c4
JS
1939\membersection{wxGrid::SetSelectionForeground}\label{wxgridsetselectionforeground}
1940
1941\func{void}{SetSelectionForeground}{\param{const wxColour\& }{c}}
1942
1943
4b39770c 1944
78c49c58
MB
1945\membersection{wxGrid::SetSelectionMode}\label{wxgridsetselectionmode}
1946
deea56b1 1947\func{void}{SetSelectionMode}{\param{wxGrid::wxGridSelectionModes}{ selmode}}
78c49c58
MB
1948
1949Set the selection behaviour of the grid.
1950
1951\wxheading{Parameters}
1952
1953\docparam{wxGrid::wxGridSelectCells}{The default mode where individual cells are selected.}
1954
deea56b1 1955\docparam{wxGrid::wxGridSelectRows}{Selections will consist of whole rows.}
78c49c58 1956
f6bb64a6 1957\docparam{wxGrid::wxGridSelectColumns}{Selections will consist of whole columns.}
78c49c58 1958
4b39770c
WS
1959
1960
78c49c58
MB
1961\membersection{wxGrid::SetTable}\label{wxgridsettable}
1962
cc81d32f 1963\func{bool}{SetTable}{\param{wxGridTableBase* }{table}, \param{bool }{takeOwnership = false}, \param{wxGrid::wxGridSelectionModes }{selmode = wxGrid::wxGridSelectCells}}
78c49c58 1964
2eebb742 1965Passes a pointer to a custom grid table to be used by the grid. This should be called
78c49c58 1966after the grid constructor and before using the grid object. If takeOwnership is set to
4b39770c 1967true then the table will be deleted by the wxGrid destructor.
78c49c58
MB
1968
1969Use this function instead of \helpref{wxGrid::CreateGrid}{wxgridcreategrid} when your
1970application involves complex or non-string data or data sets that are too large to fit
4b39770c
WS
1971wholly in memory.
1972
1973
78c49c58
MB
1974
1975\membersection{wxGrid::ShowCellEditControl}\label{wxgridshowcelleditcontrol}
1976
1977\func{void}{ShowCellEditControl}{\void}
1978
1979Displays the in-place cell edit control for the current cell.
1980
4b39770c
WS
1981
1982
78c49c58
MB
1983\membersection{wxGrid::XToCol}\label{wxgridxtocol}
1984
d4175745
VZ
1985\func{int}{XToCol}{\param{int }{x}, \param{bool }{clipToMinMax = false}}
1986
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.}
78c49c58 1990
d4175745
VZ
1991\wxheading{Return value}
1992The grid column that corresponds to the logical x coordinate. Returns
a8d08dbd 1993{\tt wxNOT\_FOUND} if there is no column at the x position.
78c49c58 1994
4b39770c
WS
1995
1996
78c49c58
MB
1997\membersection{wxGrid::XToEdgeOfCol}\label{wxgridxtoedgeofcol}
1998
1999\func{int}{XToEdgeOfCol}{\param{int }{x}}
2000
2001Returns the column whose right hand edge is close to the given logical x position.
a8d08dbd 2002If no column edge is near to this position {\tt wxNOT\_FOUND} is returned.
78c49c58 2003
4b39770c
WS
2004
2005
78c49c58
MB
2006\membersection{wxGrid::YToEdgeOfRow}\label{wxgridytoedgeofrow}
2007
2008\func{int}{YToEdgeOfRow}{\param{int }{y}}
2009
2010Returns the row whose bottom edge is close to the given logical y position.
a8d08dbd 2011If no row edge is near to this position {\tt wxNOT\_FOUND} is returned.
78c49c58 2012
4b39770c
WS
2013
2014
78c49c58
MB
2015\membersection{wxGrid::YToRow}\label{wxgridytorow}
2016
2017\func{int}{YToRow}{\param{int }{y}}
2018
d4175745 2019Returns the grid row that corresponds to the logical y coordinate. Returns
a8d08dbd 2020{\tt wxNOT\_FOUND} if there is no row at the y position.
095e0f91 2021