]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/grid.tex
Updated docs for wxGrid: added events, event macros, default editors and renderers
[wxWidgets.git] / docs / latex / wx / grid.tex
1 \section{\class{wxGrid}}\label{wxgrid}
2
3 wxGrid and its related classes are used for displaying and editing tabular
4 data. They provide a rich set of features for display, editing, and
5 interacting with a variety of data sources. For simple applications, and to
6 help you get started, wxGrid is the only class you need to refer to
7 directly. It will set up default instances of the other classes and manage
8 them for you. For more complex applications you can derive your own
9 classes for custom grid views, grid data tables, cell editors and
10 renderers. The \helpref{wxGrid classes overview}{gridoverview} has
11 examples of simple and more complex applications, explains the
12 relationship between the various grid classes and has a summary of the
13 keyboard shortcuts and mouse functions provided by wxGrid.
14
15 wxGrid has been greatly expanded and redesigned for wxWindows 2.2
16 onwards. If you have been using the old wxGrid class you will probably
17 want to have a look at the \helpref{wxGrid classes overview}{gridoverview} to see
18 how things have changed. The new grid classes are reasonably backward-compatible
19 but there are some exceptions. There are also easier ways of doing many things compared to
20 the previous implementation.
21
22 \wxheading{Derived from}
23
24 \helpref{wxScrolledWindow}{wxscrolledwindow}\\
25 \helpref{wxWindow}{wxwindow}\\
26 \helpref{wxEvtHandler}{wxevthandler}\\
27 \helpref{wxObject}{wxobject}
28
29 \wxheading{Include files}
30
31 <wx/grid.h>
32
33 \wxheading{Window styles}
34
35 There are presently no specific window styles for wxGrid.
36
37 \wxheading{Event handling}
38
39 \input gridevt.inc
40
41 The event handler for the following functions takes a
42 \helpref{wxGridSizeEvent}{wxgridsizeevent} parameter.
43
44 \twocolwidtha{7cm}
45 \begin{twocollist}\itemsep=0pt
46 \twocolitem{{\bf EVT\_GRID\_COL\_SIZE(func)}}{The user resized a column by dragging it. Processes a wxEVT\_GRID\_COL\_SIZE.}
47 \twocolitem{{\bf EVT\_GRID\_ROW\_SIZE(func)}}{The user resized a row by dragging it. Processes a wxEVT\_GRID\_ROW\_SIZE.}
48 \end{twocollist}%
49
50 The event handler for the following functions takes a
51 \helpref{wxGridRangeSelectEvent}{wxgridrangeselectevent} parameter.
52
53 \twocolwidtha{7cm}
54 \begin{twocollist}\itemsep=0pt
55 \twocolitem{{\bf EVT\_GRID\_RANGE\_SELECT(func)}}{The user selected a group of contiguous cells. Processes a wxEVT\_GRID\_RANGE\_SELECT.}
56 \end{twocollist}%
57
58 The event handler for the following functions takes a
59 \helpref{wxGridEditorCreatedEvent}{wxgrideditorcreatedevent} parameter.
60
61 \twocolwidtha{7cm}
62 \begin{twocollist}\itemsep=0pt
63 \twocolitem{{\bf EVT\_GRID\_EDITOR\_CREATED(func)}}{The editor for a cell was created. Processes a wxEVT\_GRID\_EDITOR\_CREATED.}
64 \end{twocollist}%
65
66 \wxheading{See also}
67
68 \helpref{wxGrid overview}{gridoverview}
69
70 %%%%%%%%%%% FUNCTION GROUPS %%%%%%%%%%%%%
71 \latexignore{\rtfignore{\wxheading{Function groups}}}
72
73 \membersection{Constructors and initialization}
74
75 \helpref{wxGrid}{wxgridctor}\\
76 \helpref{\destruct{wxGrid}}{wxgriddtor}\\
77 \helpref{CreateGrid}{wxgridcreategrid}\\
78 \helpref{SetTable}{wxgridsettable}
79
80 \membersection{Display format}
81
82 \membersection{Selection functions}
83
84 \helpref{wxGrid::ClearSelection}{wxgridclearselection}\\
85 \helpref{wxGrid::IsSelection}{wxgridisselection}\\
86 \helpref{wxGrid::SelectAll}{wxgridselectall}\\
87 \helpref{wxGrid::SelectBlock}{wxgridselectblock}\\
88 \helpref{wxGrid::SelectCol}{wxgridselectcol}\\
89 \helpref{wxGrid::SelectRow}{wxgridselectrow}
90
91 %%%%%%%%% MEMBER FUNCTIONS %%%%%%%%%%
92 \helponly{\insertatlevel{2}{
93
94 \wxheading{Members}
95
96 }}
97
98 \membersection{wxGrid::wxGrid}\label{wxgridctor}
99
100 \func{}{wxGrid}{\void}
101
102 Default constructor
103
104 \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}}
105
106 Constructor to create a grid object. Call either \helpref{wxGrid::CreateGrid}{wxgridcreategrid} or
107 \helpref{wxGrid::SetTable}{wxgridsettable} directly after this to initialize the grid before using
108 it.
109
110 \membersection{wxGrid::\destruct{wxGrid}}\label{wxgriddtor}
111
112 \func{}{\destruct{wxGrid}}{\void}
113
114 Destructor. This will also destroy the associated grid table unless you passed a table
115 object to the grid and specified that the grid should not take ownership of the
116 table (see \helpref{wxGrid::SetTable}{wxgridsettable}).
117
118 \membersection{wxGrid::AppendCols}\label{wxgridappendcols}
119
120 \func{bool}{AppendCols}{\param{int }{numCols = 1}, \param{bool }{updateLabels = TRUE}}
121
122 Appends one or more new columns to the right of the grid and returns TRUE if
123 successful. The updateLabels argument is not used at present.
124
125 If you are using a derived grid table class you will need to override
126 \helpref{wxGridTableBase::AppendCols}{wxgridtablebaseappendcols}. See
127 \helpref{wxGrid::InsertCols}{wxgridinsertcols} for further information.
128
129 \membersection{wxGrid::AppendRows}\label{wxgridappendrows}
130
131 \func{bool}{AppendRows}{\param{int }{numRows = 1}, \param{bool }{updateLabels = TRUE}}
132
133 Appends one or more new rows to the bottom of the grid and returns TRUE if
134 successful. The updateLabels argument is not used at present.
135
136 If you are using a derived grid table class you will need to override
137 \helpref{wxGridTableBase::AppendRows}{wxgridtablebaseappendrows}. See
138 \helpref{wxGrid::InsertRows}{wxgridinsertrows} for further information.
139
140 \membersection{wxGrid::AutoSize}\label{wxgridautosize}
141
142 \func{void}{AutoSize}{\void}
143
144 Automatically sets the height and width of all rows and columns to fit their contents.
145
146 \wxheading{Note}\\
147 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
148 The memory requirements for this could become prohibitive if your grid is very large.
149
150 \membersection{wxGrid::AutoSizeColumn}\label{wxgridautosizecolumn}
151
152 \func{void}{AutoSizeColumn}{\param{int }{col}, \param{bool }{setAsMin = TRUE}}
153
154 Automatically sizes the column to fit its contents. If setAsMin is TRUE the calculated width will
155 also be set as the minimal width for the column.
156
157 \wxheading{Note}\\
158 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
159 The memory requirements for this could become prohibitive if your grid is very large.
160
161 \membersection{wxGrid::AutoSizeColumns}\label{wxgridautosizecolumns}
162
163 \func{void}{AutoSizeColumns}{\param{bool }{setAsMin = TRUE}}
164
165 Automatically sizes all columns to fit their contents. If setAsMin is TRUE the calculated widths will
166 also be set as the minimal widths for the columns.
167
168 \wxheading{Note}\\
169 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
170 The memory requirements for this could become prohibitive if your grid is very large.
171
172 \membersection{wxGrid::AutoSizeRow}\label{wxgridautosizerow}
173
174 \func{void}{AutoSizeRow}{\param{int }{row}, \param{bool }{setAsMin = TRUE}}
175
176 Automatically sizes the row to fit its contents. If setAsMin is TRUE the calculated height will
177 also be set as the minimal height for the row.
178
179 \wxheading{Note}\\
180 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
181 The memory requirements for this could become prohibitive if your grid is very large.
182
183 \membersection{wxGrid::AutoSizeRows}\label{wxgridautosizerows}
184
185 \func{void}{AutoSizeRows}{\param{bool }{setAsMin = TRUE}}
186
187 Automatically sizes all rows to fit their contents. If setAsMin is TRUE the calculated heights will
188 also be set as the minimal heights for the rows.
189
190 \wxheading{Note}\\
191 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
192 The memory requirements for this could become prohibitive if your grid is very large.
193
194 \membersection{wxGrid::BeginBatch}\label{wxgridbeginbatch}
195
196 \func{void}{BeginBatch}{\void}
197
198 Increments the grid's batch count. When the count is greater than zero repainting of
199 the grid is suppressed. Each call to BeginBatch must be matched by a later call to
200 \helpref{wxGrid::EndBatch}{wxgridendbatch}. Code that does a lot of grid
201 modification can be enclosed between BeginBatch and EndBatch calls to avoid
202 screen flicker. The final EndBatch will cause the grid to be repainted.
203
204 \membersection{wxGrid::CanDragColSize}\label{wxgridcandragcolsize}
205
206 \func{bool}{CanDragColSize}{\void}
207
208 Returns TRUE if columns can be resized by dragging with the mouse. Columns can be resized
209 by dragging the edges of their labels. If grid line dragging is enabled they can also be
210 resized by dragging the right edge of the column in the grid cell area
211 (see \helpref{wxGrid::EnableDragGridSize}{wxgridenabledraggridsize}).
212
213 \membersection{wxGrid::CanDragRowSize}\label{wxgridcandragrowsize}
214
215 \func{bool}{CanDragRowSize}{\void}
216
217 Returns TRUE if rows can be resized by dragging with the mouse. Rows can be resized
218 by dragging the edges of their labels. If grid line dragging is enabled they can also be
219 resized by dragging the lower edge of the row in the grid cell area
220 (see \helpref{wxGrid::EnableDragGridSize}{wxgridenabledraggridsize}).
221
222 \membersection{wxGrid::CanDragGridSize}\label{wxgridcandraggridsize}
223
224 \func{bool}{CanDragGridSize}{\void}
225
226 Return TRUE if the dragging of grid lines to resize rows and columns is enabled or FALSE otherwise.
227
228 \membersection{wxGrid::CanEnableCellControl}\label{wxgridcanenablecellcontrol}
229
230 \constfunc{bool}{CanEnableCellControl}{\void}
231
232 Returns TRUE if the in-place edit control for the current grid cell can be used and
233 FALSE otherwise (e.g. if the current cell is read-only).
234
235 \membersection{wxGrid::CellToRect}\label{wxgridcelltorect}
236
237 \func{wxRect}{CellToRect}{\param{int }{row}, \param{int }{col}}
238
239 \func{wxRect}{CellToRect}{\param{const wxGridCellCoords\& }{coords}}
240
241 Return the rectangle corresponding to the grid cell's size and position in logical
242 coordinates.
243
244 \membersection{wxGrid::ClearGrid}\label{wxgridcleargrid}
245
246 \func{void}{ClearGrid}{\void}
247
248 Clears all data in the underlying grid table and repaints the grid. The table is not deleted by
249 this function. If you are using a derived table class then you need to override
250 \helpref{wxGridTableBase::Clear}{wxgridtablebaseclear} for this function to have any effect.
251
252 \membersection{wxGrid::ClearSelection}\label{wxgridclearselection}
253
254 \func{void}{ClearSelection}{\void}
255
256 Deselects all cells that are currently selected.
257
258 \membersection{wxGrid::CreateGrid}\label{wxgridcreategrid}
259
260 \func{bool}{CreateGrid}{\param{int }{numRows}, \param{int }{numCols}, \param{wxGrid::wxGridSelectionModes }{selmode = wxGrid::wxGridSelectCells}}
261
262 Creates a grid with the specified initial number of rows and columns.
263 Call this directly after the grid constructor. When you use this
264 function wxGrid will create and manage a simple table of string values
265 for you. All of the grid data will be stored in memory.
266
267 For applications with more complex data types or relationships, or for
268 dealing with very large datasets, you should derive your own grid table
269 class and pass a table object to the grid with \helpref{wxGrid::SetTable}{wxgridsettable}.
270
271 \membersection{wxGrid::DeleteCols}\label{wxgriddeletecols}
272
273 \func{bool}{DeleteCols}{\param{int }{pos = 0}, \param{int }{numCols = 1}, \param{bool }{updateLabels = TRUE}}
274
275 Deletes one or more columns from a grid starting at the specified position and returns
276 TRUE if successful. The updateLabels argument is not used at present.
277
278 If you are using a derived grid table class you will need to override
279 \helpref{wxGridTableBase::DeleteCols}{wxgridtablebasedeletecols}. See
280 \helpref{wxGrid::InsertCols}{wxgridinsertcols} for further information.
281
282 \membersection{wxGrid::DeleteRows}\label{wxgriddeleterows}
283
284 \func{bool}{DeleteRows}{\param{int }{pos = 0}, \param{int }{numRows = 1}, \param{bool }{updateLabels = TRUE}}
285
286 Deletes one or more rows from a grid starting at the specified position and returns
287 TRUE if successful. The updateLabels argument is not used at present.
288
289 If you are using a derived grid table class you will need to override
290 \helpref{wxGridTableBase::DeleteRows}{wxgridtablebasedeleterows}. See
291 \helpref{wxGrid::InsertRows}{wxgridinsertrows} for further information.
292
293 \membersection{wxGrid::DisableCellEditControl}\label{wxgriddisablecelleditcontrol}
294
295 \func{void}{DisableCellEditControl}{\void}
296
297 Disables in-place editing of grid cells.
298 Equivalent to calling EnableCellEditControl(FALSE).
299
300 \membersection{wxGrid::DisableDragColSize}\label{wxgriddisabledragcolsize}
301
302 \func{void}{DisableDragColSize}{\void}
303
304 Disables column sizing by dragging with the mouse. Equivalent to passing FALSE to
305 \helpref{wxGrid::EnableDragColSize}{wxgridenabledragcolsize}.
306
307 \membersection{wxGrid::DisableDragGridSize}\label{wxgriddisabledraggridsize}
308
309 \func{void}{DisableDragGridSize}{\void}
310
311 Disable mouse dragging of grid lines to resize rows and columns. Equivalent to passing
312 FALSE to \helpref{wxGrid::EnableDragGridSize}{wxgridenabledraggridsize}
313
314 \membersection{wxGrid::DisableDragRowSize}\label{wxgriddisabledragrowsize}
315
316 \func{void}{DisableDragRowSize}{\void}
317
318 Disables row sizing by dragging with the mouse. Equivalent to passing FALSE to
319 \helpref{wxGrid::EnableDragRowSize}{wxgridenabledragrowsize}.
320
321 \membersection{wxGrid::EnableCellEditControl}\label{wxgridenablecelleditcontrol}
322
323 \func{void}{EnableCellEditControl}{\param{bool }{enable = TRUE}}
324
325 Enables or disables in-place editing of grid cell data. The grid will issue either a
326 wxEVT\_GRID\_EDITOR\_SHOWN or wxEVT\_GRID\_EDITOR\_HIDDEN event.
327
328 \membersection{wxGrid::EnableDragColSize}\label{wxgridenabledragcolsize}
329
330 \func{void}{EnableDragColSize}{\param{bool }{enable = TRUE}}
331
332 Enables or disables column sizing by dragging with the mouse.
333
334 \membersection{wxGrid::EnableDragGridSize}\label{wxgridenabledraggridsize}
335
336 \func{void}{EnableDragGridSize}{\param{bool }{enable = TRUE}}
337
338 Enables or disables row and column resizing by dragging gridlines with the mouse.
339
340 \membersection{wxGrid::EnableDragRowSize}\label{wxgridenabledragrowsize}
341
342 \func{void}{EnableDragRowSize}{\param{bool }{enable = TRUE}}
343
344 Enables or disables row sizing by dragging with the mouse.
345
346 \membersection{wxGrid::EnableEditing}\label{wxgridenableediting}
347
348 \func{void}{EnableEditing}{\param{bool }{edit}}
349
350 If the edit argument is FALSE this function sets the whole grid as read-only. If the
351 argument is TRUE the grid is set to the default state where cells may be editable. In the
352 default state you can set single grid cells and whole rows and columns to be editable or
353 read-only via
354 \helpref{wxGridCellAttribute::SetReadOnly}{wxgridcellattrsetreadonly}. For single
355 cells you can also use the shortcut function
356 \helpref{wxGrid::SetReadOnly}{wxgridsetreadonly}.
357
358 For more information about controlling grid cell attributes see the
359 \helpref{wxGridCellAttr}{wxgridcellattr} cell attribute class and the
360 \helpref{wxGrid classes overview}{gridoverview}.
361
362 \membersection{wxGrid::EnableGridLines}\label{wxgridenablegridlines}
363
364 \func{void}{EnableGridLines}{\param{bool }{enable = TRUE}}
365
366 Turns the drawing of grid lines on or off.
367
368 \membersection{wxGrid::EndBatch}\label{wxgridendbatch}
369
370 \func{void}{EndBatch}{\void}
371
372 Decrements the grid's batch count. When the count is greater than zero repainting of
373 the grid is suppressed. Each previous call to
374 \helpref{wxGrid::BeginBatch}{wxgridbeginbatch} must be matched by a later call to
375 EndBatch. Code that does a lot of grid modification can be enclosed between
376 BeginBatch and EndBatch calls to avoid screen flicker. The final EndBatch will
377 cause the grid to be repainted.
378
379 \membersection{wxGrid::ForceRefresh}\label{wxgridforcerefresh}
380
381 \func{void}{ForceRefresh}{\void}
382
383 Causes immediate repainting of the grid. Use this instead of the usual wxWindow::Refresh.
384
385 \membersection{wxGrid::GetBatchCount}\label{wxgridgetbatchcount}
386
387 \func{int}{GetBatchCount}{\void}
388
389 Returns the number of times that \helpref{wxGrid::BeginBatch}{wxgridbeginbatch} has been called
390 without (yet) matching calls to \helpref{wxGrid::EndBatch}{wxgridendbatch}. While
391 the grid's batch count is greater than zero the display will not be updated.
392
393 \membersection{wxGrid::GetCellAlignment}\label{wxgridgetcellalignment}
394
395 \func{void}{GetCellAlignment}{\param{int }{row}, \param{int }{col}, \param{int* }{horiz}, \param{int* }{vert}}
396
397 Sets the arguments to the horizontal and vertical text alignment values for the
398 grid cell at the specified location.
399
400 Horizontal alignment will be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT. \\
401 Vertical alignment will be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
402
403 \membersection{wxGrid::GetCellBackgroundColour}\label{wxgridgetcellbackgroundcolour}
404
405 \func{wxColour}{GetCellBackgroundColour}{\param{int }{row}, \param{int }{col}}
406
407 Returns the background colour of the cell at the specified location.
408
409 \membersection{wxGrid::GetCellEditor}\label{wxgridgetcelleditor}
410
411 \func{wxGridCellEditor*}{GetCellEditor}{\param{int }{row}, \param{int }{col}}
412
413 Returns a pointer to the editor for the cell at the specified location.
414
415 See \helpref{wxGridCellEditor}{wxgridcelleditor} and
416 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
417
418 \membersection{wxGrid::GetCellFont}\label{wxgridgetcellfont}
419
420 \func{wxFont}{GetCellFont}{\param{int }{row}, \param{int }{col}}
421
422 Returns the font for text in the grid cell at the specified location.
423
424 \membersection{wxGrid::GetCellRenderer}\label{wxgridgetcellrenderer}
425
426 \func{wxGridCellRenderer*}{GetCellRenderer}{\param{int }{row}, \param{int }{col}}
427
428 Returns a pointer to the renderer for the grid cell at the specified location.
429
430 See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
431 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
432
433 \membersection{wxGrid::GetCellTextColour}\label{wxgridgetcelltextcolour}
434
435 \func{wxColour}{GetCellTextColour}{\param{int }{row}, \param{int }{col}}
436
437 Returns the text colour for the grid cell at the specified location.
438
439 \membersection{wxGrid::GetCellValue}\label{wxgridgetcellvalue}
440
441 \func{wxString}{GetCellValue}{\param{int }{row}, \param{int }{col}}
442
443 \func{wxString}{GetCellValue}{\param{const wxGridCellCoords\&}{coords}}
444
445 Returns the string contained in the cell at the specified location. For simple applications where a
446 grid object automatically uses a default grid table of string values you use this function together
447 with \helpref{wxGrid::SetCellValue}{wxgridsetcellvalue} to access cell values.
448
449 For more complex applications where you have derived your own grid table class that contains
450 various data types (e.g. numeric, boolean or user-defined custom types) then you only use this
451 function for those cells that contain string values.
452
453 See \helpref{wxGridTableBase::CanGetValueAs}{wxgridtablebasecangetvalueas}
454 and the \helpref{wxGrid overview}{gridoverview} for more information.
455
456 \membersection{wxGrid::GetColLabelAlignment}\label{wxgridgetcollabelalignment}
457
458 \func{void}{GetColLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
459
460 Sets the arguments to the current column label alignment values.
461
462 Horizontal alignment will be one of wxLEFT, wxCENTRE or wxRIGHT. \\
463 Vertical alignment will be one of wxTOP, wxCENTRE or wxBOTTOM.
464
465 \membersection{wxGrid::GetColLabelSize}\label{wxgridgetcollabelsize}
466
467 \func{int}{GetColLabelSize}{\void}
468
469 Returns the current height of the column labels.
470
471 \membersection{wxGrid::GetColLabelValue}\label{wxgridgetcollabelvalue}
472
473 \func{wxString}{GetColLabelValue}{\param{int }{col}}
474
475 Returns the specifed column label. The default grid table class provides column labels of
476 the form A,B...Z,AA,AB...ZZ,AAA... If you are using a custom grid table you can override
477 \helpref{wxGridTableBase::GetColLabelValue}{wxgridtablebasegetcollabelvalue} to provide
478 your own labels.
479
480 \membersection{wxGrid::GetColSize}\label{wxgridgetcolsize}
481
482 \func{int}{GetColSize}{\param{int }{col}}
483
484 Returns the width of the specified column.
485
486 \membersection{wxGrid::GetDefaultCellAlignment}\label{wxgridgetdefaultcellalignment}
487
488 \func{void}{GetDefaultCellAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
489
490 Sets the arguments to the current default horizontal and vertical text alignment
491 values.
492
493 Horizontal alignment will be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT. \\
494 Vertical alignment will be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
495
496 \membersection{wxGrid::GetDefaultCellBackgroundColour}\label{wxgridgetdefaultcellbackgroundcolour}
497
498 \func{wxColour}{GetDefaultCellBackgroundColour}{\void}
499
500 Returns the current default background colour for grid cells.
501
502 \membersection{wxGrid::GetDefaultCellFont}\label{wxgridgetdefaultcellfont}
503
504 \func{wxFont}{GetDefaultCellFont}{\void}
505
506 Returns the current default font for grid cell text.
507
508 \membersection{wxGrid::GetDefaultCellTextColour}\label{wxgridgetdefaultcelltextcolour}
509
510 \func{wxColour}{GetDefaultCellTextColour}{\void}
511
512 Returns the current default colour for grid cell text.
513
514 \membersection{wxGrid::GetDefaultColLabelSize}\label{wxgridgetdefaultcollabelsize}
515
516 \func{int}{GetDefaultColLabelSize}{\void}
517
518 Returns the default height for column labels.
519
520 \membersection{wxGrid::GetDefaultColSize}\label{wxgridgetdefaultcolsize}
521
522 \func{int}{GetDefaultColSize}{\void}
523
524 Returns the current default width for grid columns.
525
526 \membersection{wxGrid::GetDefaultEditor}\label{wxgridgetdefaulteditor}
527
528 \constfunc{wxGridCellEditor*}{GetDefaultEditor}{\void}
529
530 Returns a pointer to the current default grid cell editor.
531
532 See \helpref{wxGridCellEditor}{wxgridcelleditor} and
533 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
534
535 \membersection{wxGrid::GetDefaultRenderer}\label{wxgridgetdefaultrenderer}
536
537 \constfunc{wxGridCellRenderer*}{GetDefaultRenderer}{\void}
538
539 Returns a pointer to the current default grid cell renderer.
540
541 See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
542 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
543
544 \membersection{wxGrid::GetDefaultRowLabelSize}\label{wxgridgetdefaultrowlabelsize}
545
546 \func{int}{GetDefaultRowLabelSize}{\void}
547
548 Returns the default width for the row labels.
549
550 \membersection{wxGrid::GetDefaultRowSize}\label{wxgridgetdefaultrowsize}
551
552 \func{int}{GetDefaultRowSize}{\void}
553
554 Returns the current default height for grid rows.
555
556 \membersection{wxGrid::GetGridCursorCol}\label{wxgridgetgridcursorcol}
557
558 \func{int}{GetGridCursorCol}{\void}
559
560 Returns the current grid cell column position.
561
562 \membersection{wxGrid::GetGridCursorRow}\label{wxgridgetgridcursorrow}
563
564 \func{int}{GetGridCursorRow}{\void}
565
566 Returns the current grid cell row position.
567
568 \membersection{wxGrid::GetGridLineColour}\label{wxgridgetgridlinecolour}
569
570 \func{wxColour}{GetGridLineColour}{\void}
571
572 Returns the colour used for grid lines.
573
574 \membersection{wxGrid::GridLinesEnabled}\label{wxgridgridlinesenabled}
575
576 \func{bool}{GridLinesEnabled}{\void}
577
578 Returnes TRUE if drawing of grid lines is turned on, FALSE otherwise.
579
580 \membersection{wxGrid::GetLabelBackgroundColour}\label{wxgridgetlabelbackgroundcolour}
581
582 \func{wxColour}{GetLabelBackgroundColour}{\void}
583
584 Returns the colour used for the background of row and column labels.
585
586 \membersection{wxGrid::GetLabelFont}\label{wxgridgetlabelfont}
587
588 \func{wxFont}{GetLabelFont}{\void}
589
590 Returns the font used for row and column labels.
591
592 \membersection{wxGrid::GetLabelTextColour}\label{wxgridgetlabeltextcolour}
593
594 \func{wxColour}{GetLabelTextColour}{\void}
595
596 Returns the colour used for row and column label text.
597
598 \membersection{wxGrid::GetNumberCols}\label{wxgridgetnumbercols}
599
600 \func{int}{GetNumberCols}{\void}
601
602 Returns the total number of grid columns (actually the number of columns in the underlying grid
603 table).
604
605 \membersection{wxGrid::GetNumberRows}\label{wxgridgetnumberrows}
606
607 \func{int}{GetNumberRows}{\void}
608
609 Returns the total number of grid rows (actually the number of rows in the underlying grid table).
610
611 \membersection{wxGrid::GetRowLabelAlignment}\label{wxgridgetrowlabelalignment}
612
613 \func{void}{GetRowLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
614
615 Sets the arguments to the current row label alignment values.
616
617 Horizontal alignment will be one of wxLEFT, wxCENTRE or wxRIGHT. \\
618 Vertical alignment will be one of wxTOP, wxCENTRE or wxBOTTOM.
619
620 \membersection{wxGrid::GetRowLabelSize}\label{wxgridgetrowlabelsize}
621
622 \func{int}{GetRowLabelSize}{\void}
623
624 Returns the current width of the row labels.
625
626 \membersection{wxGrid::GetRowLabelValue}\label{wxgridgetrowlabelvalue}
627
628 \func{wxString}{GetRowLabelValue}{\param{int }{row}}
629
630 Returns the specifed row label. The default grid table class provides numeric row labels.
631 If you are using a custom grid table you can override
632 \helpref{wxGridTableBase::GetRowLabelValue}{wxgridtablebasegetcollabelvalue} to provide
633 your own labels.
634
635 \membersection{wxGrid::GetRowSize}\label{wxgridgetrowsize}
636
637 \func{int}{GetRowSize}{\param{int }{row}}
638
639 Returns the height of the specified row.
640
641 \membersection{wxGrid::GetTable}\label{wxgridgettable}
642
643 \constfunc{wxGridTableBase *}{GetTable}{\void}
644
645 Returns a base pointer to the current table object.
646
647 \membersection{wxGrid::HideCellEditControl}\label{wxgridhidecelleditcontrol}
648
649 \func{void}{HideCellEditControl}{\void}
650
651 Hides the in-place cell edit control.
652
653 \membersection{wxGrid::InsertCols}\label{wxgridinsertcols}
654
655 \func{bool}{InsertCols}{\param{int }{pos = 0}, \param{int }{numCols = 1}, \param{bool }{updateLabels = TRUE}}
656
657 Inserts one or more new columns into a grid with the first new column at the
658 specified position and returns TRUE if successful. The updateLabels argument is not
659 used at present.
660
661 The sequence of actions begins with the grid object requesting the underlying grid
662 table to insert new columns. If this is successful the table notifies the grid and the
663 grid updates the display. For a default grid (one where you have called
664 \helpref{wxGrid::CreateGrid}{wxgridcreategrid}) this process is automatic. If you are
665 using a custom grid table (specified with \helpref{wxGrid::SetTable}{wxgridsettable})
666 then you must override
667 \helpref{wxGridTableBase::InsertCols}{wxgridtablebaseinsertcols} in your derived
668 table class.
669
670 \membersection{wxGrid::InsertRows}\label{wxgridinsertrows}
671
672 \func{bool}{InsertRows}{\param{int }{pos = 0}, \param{int }{numRows = 1}, \param{bool }{updateLabels = TRUE}}
673
674 Inserts one or more new rows into a grid with the first new row at the specified
675 position and returns TRUE if successful. The updateLabels argument is not used at
676 present.
677
678 The sequence of actions begins with the grid object requesting the underlying grid
679 table to insert new rows. If this is successful the table notifies the grid and the
680 grid updates the display. For a default grid (one where you have called
681 \helpref{wxGrid::CreateGrid}{wxgridcreategrid}) this process is automatic. If you are
682 using a custom grid table (specified with \helpref{wxGrid::SetTable}{wxgridsettable})
683 then you must override
684 \helpref{wxGridTableBase::InsertRows}{wxgridtablebaseinsertrows} in your derived
685 table class.
686
687 \membersection{wxGrid::IsCellEditControlEnabled}\label{wxgridiscelleditcontrolenabled}
688
689 \constfunc{bool}{IsCellEditControlEnabled}{\void}
690
691 Returns TRUE if the in-place edit control is currently enabled.
692
693 \membersection{wxGrid::IsCurrentCellReadOnly}\label{wxgridiscurrentcellreadonly}
694
695 \constfunc{bool}{IsCurrentCellReadOnly}{\void}
696
697 Returns TRUE if the current cell has been set to read-only
698 (see \helpref{wxGrid::SetReadOnly}{wxgridsetreadonly}).
699
700 \membersection{wxGrid::IsEditable}\label{wxgridiseditable}
701
702 \func{bool}{IsEditable}{\void}
703
704 Returns FALSE if the whole grid has been set as read-only or TRUE otherwise.
705 See \helpref{wxGrid::EnableEditing}{wxgridenableediting} for more information about
706 controlling the editing status of grid cells.
707
708 \membersection{wxGrid::IsReadOnly}\label{wxgridisreadonly}
709
710 \constfunc{bool}{IsReadOnly}{\param{int }{row}, \param{int }{col}}
711
712 Returns TRUE if the cell at the specified location can't be edited.
713 See also \helpref{wxGrid::IsReadOnly}{wxgridisreadonly}.
714
715 \membersection{wxGrid::IsSelection}\label{wxgridisselection}
716
717 \func{bool}{IsSelection}{\void}
718
719 Returns TRUE if there are currently rows, columns or blocks of cells selected.
720
721 \membersection{wxGrid::IsVisible}\label{wxgridisvisible}
722
723 \func{bool}{IsVisible}{\param{int }{row}, \param{int }{col}, \param{bool }{wholeCellVisible = TRUE}}
724
725 \func{bool}{IsVisible}{\param{const wxGridCellCoords\& }{coords}, \param{bool }{wholeCellVisible = TRUE}}
726
727 Returns TRUE if a cell is either wholly visible (the default) or at least partially
728 visible in the grid window.
729
730 \membersection{wxGrid::MakeCellVisible}\label{wxgridmakecellvisible}
731
732 \func{void}{MakeCellVisible}{\param{int }{row}, \param{int }{col}}
733
734 \func{void}{MakeCellVisible}{\param{const wxGridCellCoords\& }{coords}}
735
736 Brings the specified cell into the visible grid cell area with minimal scrolling. Does
737 nothing if the cell is already visible.
738
739 \membersection{wxGrid::MoveCursorDown}\label{wxgridmovecursordown}
740
741 \func{bool}{MoveCursorDown}{\param{bool }{expandSelection}}
742
743 Moves the grid cursor down by one row. If a block of cells was previously selected it
744 will expand if the argument is TRUE or be cleared if the argument is FALSE.
745
746 \wxheading{Keyboard}\\
747 This function is called for Down cursor key presses or Shift+Down to expand a selection.
748
749 \membersection{wxGrid::MoveCursorLeft}\label{wxgridmovecursorleft}
750
751 \func{bool}{MoveCursorLeft}{\param{bool }{expandSelection}}
752
753 Moves the grid cursor left by one column. If a block of cells was previously selected it
754 will expand if the argument is TRUE or be cleared if the argument is FALSE.
755
756 \wxheading{Keyboard}\\
757 This function is called for Left cursor key presses or Shift+Left to expand a selection.
758
759 \membersection{wxGrid::MoveCursorRight}\label{wxgridmovecursorright}
760
761 \func{bool}{MoveCursorRight}{\param{bool }{expandSelection}}
762
763 Moves the grid cursor right by one column. If a block of cells was previously selected it
764 will expand if the argument is TRUE or be cleared if the argument is FALSE.
765
766 \wxheading{Keyboard}\\
767 This function is called for Right cursor key presses or Shift+Right to expand a selection.
768
769 \membersection{wxGrid::MoveCursorUp}\label{wxgridmovecursorup}
770
771 \func{bool}{MoveCursorUp}{\param{bool }{expandSelection}}
772
773 Moves the grid cursor up by one row. If a block of cells was previously selected it
774 will expand if the argument is TRUE or be cleared if the argument is FALSE.
775
776 \wxheading{Keyboard}\\
777 This function is called for Up cursor key presses or Shift+Up to expand a selection.
778
779 \membersection{wxGrid::MoveCursorDownBlock}\label{wxgridmovecursordownblock}
780
781 \func{bool}{MoveCursorDownBlock}{\param{bool }{expandSelection}}
782
783 Moves the grid cursor down in the current column such that it skips to the beginning or
784 end of a block of non-empty cells. If a block of cells was previously selected it
785 will expand if the argument is TRUE or be cleared if the argument is FALSE.
786
787 \wxheading{Keyboard}\\
788 This function is called for the Ctrl+Down key combination. Shift+Ctrl+Down expands a selection.
789
790 \membersection{wxGrid::MoveCursorLeftBlock}\label{wxgridmovecursorleftblock}
791
792 \func{bool}{MoveCursorLeftBlock}{\param{bool }{expandSelection}}
793
794 Moves the grid cursor left in the current row such that it skips to the beginning or
795 end of a block of non-empty cells. If a block of cells was previously selected it
796 will expand if the argument is TRUE or be cleared if the argument is FALSE.
797
798 \wxheading{Keyboard}\\
799 This function is called for the Ctrl+Left key combination. Shift+Ctrl+left expands a selection.
800
801 \membersection{wxGrid::MoveCursorRightBlock}\label{wxgridmovecursorrightblock}
802
803 \func{bool}{MoveCursorRightBlock}{\param{bool }{expandSelection}}
804
805 Moves the grid cursor right in the current row such that it skips to the beginning or
806 end of a block of non-empty cells. If a block of cells was previously selected it
807 will expand if the argument is TRUE or be cleared if the argument is FALSE.
808
809 \wxheading{Keyboard}\\
810 This function is called for the Ctrl+Right key combination. Shift+Ctrl+Right expands a selection.
811
812 \membersection{wxGrid::MoveCursorUpBlock}\label{wxgridmovecursorupblock}
813
814 \func{bool}{MoveCursorUpBlock}{\param{bool }{expandSelection}}
815
816 Moves the grid cursor up in the current column such that it skips to the beginning or
817 end of a block of non-empty cells. If a block of cells was previously selected it
818 will expand if the argument is TRUE or be cleared if the argument is FALSE.
819
820 \wxheading{Keyboard}\\
821 This function is called for the Ctrl+Up key combination. Shift+Ctrl+Up expands a selection.
822
823 \membersection{wxGrid::MovePageDown}\label{wxgridmovepagedown}
824
825 \func{bool}{MovePageDown}{\void}
826
827 Moves the grid cursor down by some number of rows so that the previous bottom visible row
828 becomes the top visible row.
829
830 \wxheading{Keyboard}\\
831 This function is called for PgDn keypresses.
832
833 \membersection{wxGrid::MovePageUp}\label{wxgridmovepageup}
834
835 \func{bool}{MovePageUp}{\void}
836
837 Moves the grid cursor up by some number of rows so that the previous top visible row
838 becomes the bottom visible row.
839
840 \wxheading{Keyboard}\\
841 This function is called for PgUp keypresses.
842
843 \membersection{wxGrid::SaveEditControlValue}\label{wxgridsaveeditcontrolvalue}
844
845 \func{void}{SaveEditControlValue}{\void}
846
847 Sets the value of the current grid cell to the current in-place edit control value.
848 This is called automatically when the grid cursor moves from the current cell to a
849 new cell. It is also a good idea to call this function when closing a grid since
850 any edits to the final cell location will not be saved otherwise.
851
852 \membersection{wxGrid::SelectAll}\label{wxgridselectall}
853
854 \func{void}{SelectAll}{\void}
855
856 Selects all cells in the grid.
857
858 \membersection{wxGrid::SelectBlock}\label{wxgridselectblock}
859
860 \func{void}{SelectBlock}{\param{int }{topRow}, \param{int }{leftCol},
861 \param{int }{bottomRow}, \param{int }{rightCol}, \param{bool }{addToSelected = FALSE}}
862
863 \func{void}{SelectBlock}{\param{const wxGridCellCoords\& }{topLeft},
864 \param{const wxGridCellCoords\& }{bottomRight}, \param{bool }{addToSelected = FALSE}}
865
866 Selects a rectangular block of cells. If addToSelected is FALSE then any existing selection will be
867 deselected; if TRUE the column will be added to the existing selection.
868
869 \membersection{wxGrid::SelectCol}\label{wxgridselectcol}
870
871 \func{void}{SelectCol}{\param{int }{col}, \param{bool }{addToSelected = FALSE}}
872
873 Selects the specified column. If addToSelected is FALSE then any existing selection will be
874 deselected; if TRUE the column will be added to the existing selection.
875
876 \membersection{wxGrid::SelectRow}\label{wxgridselectrow}
877
878 \func{void}{SelectRow}{\param{int }{row}, \param{bool }{addToSelected = FALSE}}
879
880 Selects the specified row. If addToSelected is FALSE then any existing selection will be
881 deselected; if TRUE the row will be added to the existing selection.
882
883 \membersection{wxGrid::SetCellAlignment}\label{wxgridsetcellalignment}
884
885 \func{void}{SetCellAlignment}{\param{int }{row}, \param{int }{col}, \param{int }{horiz}, \param{int }{vert}}
886
887 \func{void}{SetCellAlignment}{\param{int }{align}, \param{int }{row}, \param{int }{col}}
888
889 \func{void}{SetCellAlignment}{\param{int }{align}}
890
891 Sets the horizontal and vertial alignment for grid cell text at the specified location.
892
893 Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT. \\
894 Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
895
896 \membersection{wxGrid::SetCellEditor}\label{wxgridsetcelleditor}
897
898 \func{void}{SetCellEditor}{\param{int }{row}, \param{int }{col}, \param{wxGridCellEditor* }{editor}}
899
900 Sets the editor for the grid cell at the specified location.
901 The grid will take ownership of the pointer.
902
903 See \helpref{wxGridCellEditor}{wxgridcelleditor} and
904 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
905
906 \membersection{wxGrid::SetCellFont}\label{wxgridsetcellfont}
907
908 \func{void}{SetCellFont}{\param{int }{row}, \param{int }{col}, \param{const wxFont\&}{ font}}
909
910 Sets the font for text in the grid cell at the specified location.
911
912 \membersection{wxGrid::SetCellRenderer}\label{wxgridsetcellrenderer}
913
914 \func{void}{SetCellRenderer}{\param{int }{row}, \param{int }{col}, \param{wxGridCellRenderer* }{renderer}}
915
916 Sets the renderer for the grid cell at the specified location.
917 The grid will take ownership of the pointer.
918
919 See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
920 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
921
922 \membersection{wxGrid::SetCellTextColour}\label{wxgridsetcelltextcolour}
923
924 \func{void}{SetCellTextColour}{\param{int }{row}, \param{int }{col}, \param{const wxColour\&}{ colour}}
925
926 \func{void}{SetCellTextColour}{\param{const wxColour\& }{val}, \param{int }{row}, \param{int }{col}}
927
928 \func{void}{SetCellTextColour}{\param{const wxColour\& }{colour}}
929
930 Sets the text colour for the grid cell at the specified location.
931
932 \membersection{wxGrid::SetCellValue}\label{wxgridsetcellvalue}
933
934 \func{void}{SetCellValue}{\param{int }{row}, \param{int }{col}, \param{const wxString\& }{s}}
935
936 \func{void}{SetCellValue}{\param{const wxGridCellCoords\& }{coords}, \param{const wxString\& }{s}}
937
938 \func{void}{SetCellValue}{\param{const wxString\& }{val}, \param{int }{row}, \param{int }{col}}
939
940 Sets the string value for the cell at the specified location. For simple applications where a
941 grid object automatically uses a default grid table of string values you use this function together
942 with \helpref{wxGrid::GetCellValue}{wxgridgetcellvalue} to access cell values.
943
944 For more complex applications where you have derived your own grid table class that contains
945 various data types (e.g. numeric, boolean or user-defined custom types) then you only use this
946 function for those cells that contain string values.
947
948 The last form is for backward compatibility only.
949
950 See \helpref{wxGridTableBase::CanSetValueAs}{wxgridtablebasecangetvalueas}
951 and the \helpref{wxGrid overview}{gridoverview} for more information.
952
953 \membersection{wxGrid::SetColAttr}\label{wxgridsetcolattr}
954
955 \func{void}{SetColAttr}{\param{int }{col}, \param{wxGridCellAttr* }{attr}}
956
957 Sets the cell attributes for all cells in the specified column.
958
959 For more information about controlling grid cell attributes see the
960 \helpref{wxGridCellAttr}{wxgridcellattr} cell attribute class and the
961 \helpref{wxGrid classes overview}{gridoverview}.
962
963 \membersection{wxGrid::SetColFormatBool}\label{wxgridsetcolformatbool}
964
965 \func{void}{SetColFormatBool}{\param{int }{col}}
966
967 Sets the specified column to display boolean values. wxGrid displays boolean values with a checkbox.
968
969 \membersection{wxGrid::SetColFormatNumber}\label{wxgridsetcolformatnumber}
970
971 \func{void}{SetColFormatNumber}{\param{int }{col}}
972
973 Sets the specified column to display integer values.
974
975 \membersection{wxGrid::SetColFormatFloat}\label{wxgridsetcolformatfloat}
976
977 \func{void}{SetColFormatFloat}{\param{int }{col}, \param{int }{width = -1}, \param{int }{precision = -1}}
978
979 Sets the specified column to display floating point values with the given width and precision.
980
981 \membersection{wxGrid::SetColFormatCustom}\label{wxgridsetcolformatcustom}
982
983 \func{void}{SetColFormatCustom}{\param{int }{col}, \param{const wxString\& }{typeName}}
984
985 Sets the specified column to display data in a custom format.
986 See the \helpref{wxGrid overview}{gridoverview} for more information on working
987 with custom data types.
988
989 \membersection{wxGrid::SetColLabelAlignment}\label{wxgridsetcollabelalignment}
990
991 \func{void}{SetColLabelAlignment}{\param{int }{horiz}, \param{int }{vert}}
992
993 Sets the horizontal and vertical alignment of column label text.
994
995 Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
996
997 Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
998
999 \membersection{wxGrid::SetColLabelSize}\label{wxgridsetcollabelsize}
1000
1001 \func{void}{SetColLabelSize}{\param{int }{height}}
1002
1003 Sets the height of the column labels.
1004
1005 \membersection{wxGrid::SetColLabelValue}\label{wxgridsetcollabelvalue}
1006
1007 \func{void}{SetColLabelValue}{\param{int }{col}, \param{const wxString\&}{ value}}
1008
1009 Set the value for the given column label. If you are using a derived grid table you must
1010 override \helpref{wxGridTableBase::SetColLabelValue}{wxgridtablebasesetcollabelvalue}
1011 for this to have any effect.
1012
1013 \membersection{wxGrid::SetColMinimalWidth}\label{wxgridsetcolminimalwidth}
1014
1015 \func{void}{SetColMinimalWidth}{\param{int }{col}, \param{int }{width}}
1016
1017 Sets the minimal width for the specified column. This should normally be called when creating the grid
1018 because it will not resize a column that is already narrower than the minimal width.
1019
1020 \membersection{wxGrid::SetColSize}\label{wxgridsetcolsize}
1021
1022 \func{void}{SetColSize}{\param{int }{col}, \param{int }{width}}
1023
1024 Sets the width of the specified column.
1025
1026 This function does not refresh the grid. If you are calling it outside of a BeginBatch / EndBatch
1027 block you can use \helpref{wxGrid::ForceRefresh}{wxgridforcerefresh} to see the changes.
1028
1029 Automatically sizes the column to fit its contents. If setAsMin is TRUE the calculated width will
1030 also be set as the minimal width for the column.
1031
1032 \wxheading{Note}\\
1033 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
1034 The memory requirements for this could become prohibitive if your grid is very large.
1035
1036 \membersection{wxGrid::SetDefaultCellAlignment}\label{wxgridsetdefaultcellalignment}
1037
1038 \func{void}{SetDefaultCellAlignment}{\param{int }{horiz}, \param{int }{vert}}
1039
1040 Sets the default horizontal and vertial alignment for grid cell text.
1041
1042 Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
1043
1044 Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
1045
1046 \membersection{wxGrid::SetDefaultCellBackgroundColour}\label{wxgridsetdefaultcellbackgroundcolour}
1047
1048 \func{void}{SetDefaultCellBackgroundColour}{\param{const wxColour\&}{ colour}}
1049
1050 Sets the default background colour for grid cells.
1051
1052 \membersection{wxGrid::SetDefaultCellFont}\label{wxgridsetdefaultcellfont}
1053
1054 \func{void}{SetDefaultCellFont}{\param{const wxFont\&}{ font}}
1055
1056 Sets the default font to be used for grid cell text.
1057
1058 \membersection{wxGrid::SetDefaultEditor}\label{wxgridsetdefaulteditor}
1059
1060 \func{void}{SetDefaultEditor}{\param{wxGridCellEditor* }{editor}}
1061
1062 Sets the default editor for grid cells. The grid will take ownership of the pointer.
1063
1064 See \helpref{wxGridCellEditor}{wxgridcelleditor} and
1065 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1066
1067 \membersection{wxGrid::SetDefaultRenderer}\label{wxgridsetdefaultrenderer}
1068
1069 \func{void}{SetDefaultRenderer}{\param{wxGridCellRenderer* }{renderer}}
1070
1071 Sets the default renderer for grid cells. The grid will take ownership of the pointer.
1072
1073 See \helpref{wxGridCellRenderer}{wxgridcellrenderer} and
1074 the \helpref{wxGrid overview}{gridoverview} for more information about cell editors and renderers.
1075
1076 \membersection{wxGrid::SetDefaultColSize}\label{wxgridsetdefaultcolsize}
1077
1078 \func{void}{SetDefaultColSize}{\param{int }{width}, \param{bool }{resizeExistingCols = FALSE}}
1079
1080 Sets the default width for columns in the grid. This will only affect columns subsequently added to
1081 the grid unless resizeExistingCols is TRUE.
1082
1083 \membersection{wxGrid::SetDefaultRowSize}\label{wxgridsetdefaultrowsize}
1084
1085 \func{void}{SetDefaultRowSize}{\param{int }{height}, \param{bool }{resizeExistingRows = FALSE}}
1086
1087 Sets the default height for rows in the grid. This will only affect rows subsequently added
1088 to the grid unless resizeExistingRows is TRUE.
1089
1090 \membersection{wxGrid::SetGridCursor}\label{wxgridsetgridcursor}
1091
1092 \func{void}{SetGridCursor}{\param{int }{row}, \param{int }{col}}
1093
1094 Set the grid cursor to the specified cell.
1095 This function calls \helpref{wxGrid::MakeCellVisible}{wxgridmakecellvisible}.
1096
1097 \membersection{wxGrid::SetGridLineColour}\label{wxgridsetgridlinecolour}
1098
1099 \func{void}{SetGridLineColour}{\param{const wxColour\&}{colour}}
1100
1101 Sets the colour used to draw grid lines.
1102
1103 \membersection{wxGrid::SetLabelBackgroundColour}\label{wxgridsetlabelbackgroundcolour}
1104
1105 \func{void}{SetLabelBackgroundColour}{\param{const wxColour\&}{ colour}}
1106
1107 Sets the background colour for row and column labels.
1108
1109 \membersection{wxGrid::SetLabelFont}\label{wxgridsetlabelfont}
1110
1111 \func{void}{SetLabelFont}{\param{const wxFont\&}{ font}}
1112
1113 Sets the font for row and column labels.
1114
1115 \membersection{wxGrid::SetLabelTextColour}\label{wxgridsetlabeltextcolour}
1116
1117 \func{void}{SetLabelTextColour}{\param{const wxColour\&}{ colour}}
1118
1119 Sets the colour for row and column label text.
1120
1121 \membersection{wxGrid::SetReadOnly}\label{wxgridsetreadonly}
1122
1123 \func{void}{SetReadOnly}{\param{int }{row}, \param{int }{col}, \param{bool }{isReadOnly = TRUE}}
1124
1125 Makes the cell at the specified location read-only or editable.
1126 See also \helpref{wxGrid::IsReadOnly}{wxgridisreadonly}.
1127
1128 \membersection{wxGrid::SetRowAttr}\label{wxgridsetrowattr}
1129
1130 \func{void}{SetRowAttr}{\param{int }{row}, \param{wxGridCellAttr* }{attr}}
1131
1132 Sets the cell attributes for all cells in the specified row.
1133 See the \helpref{wxGridCellAttr}{wxgridcellattr} class for more information
1134 about controlling cell attributes.
1135
1136 \membersection{wxGrid::SetRowLabelAlignment}\label{wxgridsetrowlabelalignment}
1137
1138 \func{void}{SetRowLabelAlignment}{\param{int }{horiz}, \param{int }{vert}}
1139
1140 Sets the horizontal and vertical alignment of row label text.
1141
1142 Horizontal alignment should be one of wxALIGN\_LEFT, wxALIGN\_CENTRE or wxALIGN\_RIGHT.
1143
1144 Vertical alignment should be one of wxALIGN\_TOP, wxALIGN\_CENTRE or wxALIGN\_BOTTOM.
1145
1146 \membersection{wxGrid::SetRowLabelSize}\label{wxgridsetrowlabelsize}
1147
1148 \func{void}{SetRowLabelSize}{\param{int }{width}}
1149
1150 Sets the width of the row labels.
1151
1152 \membersection{wxGrid::SetRowLabelValue}\label{wxgridsetrowlabelvalue}
1153
1154 \func{void}{SetRowLabelValue}{\param{int }{row}, \param{const wxString\&}{ value}}
1155
1156 Set the value for the given row label. If you are using a derived grid table you must
1157 override \helpref{wxGridTableBase::SetRowLabelValue}{wxgridtablebasesetrowlabelvalue}
1158 for this to have any effect.
1159
1160 \membersection{wxGrid::SetRowMinimalHeight}\label{wxgridsetrowminimalheight}
1161
1162 \func{void}{SetRowMinimalHeight}{\param{int }{row}, \param{int }{width}}
1163
1164 Sets the minimal height for the specified row. This should normally be called when creating the grid
1165 because it will not resize a row that is already shorter than the minimal height.
1166
1167 \membersection{wxGrid::SetRowSize}\label{wxgridsetrowsize}
1168
1169 \func{void}{SetRowSize}{\param{int }{row}, \param{int }{height}}
1170
1171 Sets the height of the specified row.
1172
1173 This function does not refresh the grid. If you are calling it outside of a BeginBatch / EndBatch
1174 block you can use \helpref{wxGrid::ForceRefresh}{wxgridforcerefresh} to see the changes.
1175
1176 Automatically sizes the column to fit its contents. If setAsMin is TRUE the calculated width will
1177 also be set as the minimal width for the column.
1178
1179 \wxheading{Note}
1180
1181 wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
1182 The memory requirements for this could become prohibitive if your grid is very large.
1183
1184 \membersection{wxGrid::SetSelectionMode}\label{wxgridsetselectionmode}
1185
1186 \func{void}{SetSelectionMode}{\param{wxGrid::wxGridSelectionModes}{ selmode}}
1187
1188 Set the selection behaviour of the grid.
1189
1190 \wxheading{Parameters}
1191
1192 \docparam{wxGrid::wxGridSelectCells}{The default mode where individual cells are selected.}
1193
1194 \docparam{wxGrid::wxGridSelectRows}{Selections will consist of whole rows.}
1195
1196 \docparam{wxGrid::wxGridSelectionColumns}{Selections will consist of whole columns.}
1197
1198 \membersection{wxGrid::SetTable}\label{wxgridsettable}
1199
1200 \func{bool}{SetTable}{\param{wxGridTableBase* }{table}, \param{bool }{takeOwnership = FALSE}, \param{wxGrid::wxGridSelectionModes }{selmode = wxGrid::wxGridSelectCells}}
1201
1202 Passes a pointer to a custom grid table to be used by the grid. This should be called
1203 after the grid constructor and before using the grid object. If takeOwnership is set to
1204 TRUE then the table will be deleted by the wxGrid destructor.
1205
1206 Use this function instead of \helpref{wxGrid::CreateGrid}{wxgridcreategrid} when your
1207 application involves complex or non-string data or data sets that are too large to fit
1208 wholly in memory.
1209
1210 \membersection{wxGrid::ShowCellEditControl}\label{wxgridshowcelleditcontrol}
1211
1212 \func{void}{ShowCellEditControl}{\void}
1213
1214 Displays the in-place cell edit control for the current cell.
1215
1216 \membersection{wxGrid::XToCol}\label{wxgridxtocol}
1217
1218 \func{int}{XToCol}{\param{int }{x}}
1219
1220 Returns the grid column that corresponds to the logical x coordinate. Returns
1221 wxNOT\_FOUND if there is no column at the x position.
1222
1223 \membersection{wxGrid::XToEdgeOfCol}\label{wxgridxtoedgeofcol}
1224
1225 \func{int}{XToEdgeOfCol}{\param{int }{x}}
1226
1227 Returns the column whose right hand edge is close to the given logical x position.
1228 If no column edge is near to this position wxNOT\_FOUND is returned.
1229
1230 \membersection{wxGrid::YToEdgeOfRow}\label{wxgridytoedgeofrow}
1231
1232 \func{int}{YToEdgeOfRow}{\param{int }{y}}
1233
1234 Returns the row whose bottom edge is close to the given logical y position.
1235 If no row edge is near to this position wxNOT\_FOUND is returned.
1236
1237 \membersection{wxGrid::YToRow}\label{wxgridytorow}
1238
1239 \func{int}{YToRow}{\param{int }{y}}
1240
1241 Returns the grid row that corresponds to the logical y coordinate. Returns
1242 wxNOT\_FOUND if there is no row at the y position.
1243
1244
1245
1246 \membersection{wxGrid::IsInSelection}\label{wxgridisinselection}
1247
1248 \func{bool}{IsInSelection}{\param{int }{row}, \param{int }{col}}
1249
1250 \func{bool}{IsInSelection}{\param{const wxGridCellCoords\& }{coords}}
1251
1252
1253 \membersection{wxGrid::BlockToDeviceRect}\label{wxgridblocktodevicerect}
1254
1255 \func{wxRect}{BlockToDeviceRect}{\param{const wxGridCellCoords \& }{topLeft}, \param{const wxGridCellCoords \& }{bottomRight}}
1256
1257 This function returns the rectangle that encloses the block of cells
1258 limited by TopLeft and BottomRight cell in device coords and clipped
1259 to the client size of the grid window.
1260
1261
1262 \membersection{wxGrid::SelectionToDeviceRect}\label{wxgridselectiontodevicerect}
1263
1264 \func{wxRect}{SelectionToDeviceRect}{\void}
1265
1266 This function returns the rectangle that encloses the selected cells
1267 in device coords and clipped to the client size of the grid window.
1268
1269
1270 \membersection{wxGrid::GetSelectionBackground}\label{wxgridgetselectionbackground}
1271
1272 \constfunc{wxColour}{GetSelectionBackground}{\void}
1273
1274 Access or update the selection fore/back colours
1275
1276
1277 \membersection{wxGrid::GetSelectionForeground}\label{wxgridgetselectionforeground}
1278
1279 \constfunc{wxColour}{GetSelectionForeground}{\void}
1280
1281
1282 \membersection{wxGrid::SetSelectionBackground}\label{wxgridsetselectionbackground}
1283
1284 \func{void}{SetSelectionBackground}{\param{const wxColour\& }{c}}
1285
1286
1287 \membersection{wxGrid::SetSelectionForeground}\label{wxgridsetselectionforeground}
1288
1289 \func{void}{SetSelectionForeground}{\param{const wxColour\& }{c}}
1290
1291
1292 \membersection{wxGrid::RegisterDataType}\label{wxgridregisterdatatype}
1293
1294 \func{void}{RegisterDataType}{\param{const wxString\& }{typeName}, \param{wxGridCellRenderer* }{renderer}, \param{wxGridCellEditor* }{editor}}
1295
1296 Methods for a registry for mapping data types to Renderers/Editors
1297
1298 \membersection{wxGrid::GetDefaultEditorForCell}\label{wxgridgetdefaulteditorforcell}
1299
1300 \constfunc{wxGridCellEditor*}{GetDefaultEditorForCell}{\param{int }{row}, \param{int }{col}}
1301
1302 \constfunc{wxGridCellEditor*}{GetDefaultEditorForCell}{\param{const wxGridCellCoords\& }{c}}
1303
1304
1305 \membersection{wxGrid::GetDefaultRendererForCell}\label{wxgridgetdefaultrendererforcell}
1306
1307 \constfunc{wxGridCellRenderer*}{GetDefaultRendererForCell}{\param{int }{row}, \param{int }{col}}
1308
1309
1310 \membersection{wxGrid::GetDefaultEditorForType}\label{wxgridgetdefaulteditorfortype}
1311
1312 \constfunc{wxGridCellEditor*}{GetDefaultEditorForType}{\param{const wxString\& }{typeName}}
1313
1314
1315 \membersection{wxGrid::GetDefaultRendererForType}\label{wxgridgetdefaultrendererfortype}
1316
1317 \constfunc{wxGridCellRenderer*}{GetDefaultRendererForType}{\param{const wxString\& }{typeName}}
1318
1319
1320 \membersection{wxGrid::SetMargins}\label{wxgridsetmargins}
1321
1322 \func{void}{SetMargins}{\param{int }{extraWidth}, \param{int }{extraHeight}}
1323
1324 A grid may occupy more space than needed for its rows/columns. This
1325 function allows to set how big this extra space is
1326
1327 \membersection{wxGrid::wxGrid}\label{wxgridwxgrid}
1328
1329 \func{}{wxGrid}{\param{wxWindow* }{parent}, \param{int }{x}, \param{int }{y}, \param{int }{w = -1}, \param{int }{h = -1}, \param{long }{style = wxWANTS\_CHARS}, \param{const wxString\& }{name = wxPanelNameStr}}
1330
1331 Backward compatibility.
1332
1333 \membersection{wxGrid::UpdateDimensions}\label{wxgridupdatedimensions}
1334
1335 \func{void}{UpdateDimensions}{\void}
1336
1337 Backward compatibility.
1338
1339 \membersection{wxGrid::GetRows}\label{wxgridgetrows}
1340
1341 \func{int}{GetRows}{\void}
1342
1343 Backward compatibility.
1344
1345 \membersection{wxGrid::GetCols}\label{wxgridgetcols}
1346
1347 \func{int}{GetCols}{\void}
1348
1349 Backward compatibility.
1350
1351 \membersection{wxGrid::GetCursorRow}\label{wxgridgetcursorrow}
1352
1353 \func{int}{GetCursorRow}{\void}
1354
1355 Backward compatibility.
1356
1357 \membersection{wxGrid::GetCursorColumn}\label{wxgridgetcursorcolumn}
1358
1359 \func{int}{GetCursorColumn}{\void}
1360
1361 Backward compatibility.
1362
1363 \membersection{wxGrid::GetScrollPosX}\label{wxgridgetscrollposx}
1364
1365 \func{int}{GetScrollPosX}{\void}
1366
1367 Backward compatibility.
1368
1369 \membersection{wxGrid::GetScrollPosY}\label{wxgridgetscrollposy}
1370
1371 \func{int}{GetScrollPosY}{\void}
1372
1373 Backward compatibility.
1374
1375 \membersection{wxGrid::SetScrollX}\label{wxgridsetscrollx}
1376
1377 \func{void}{SetScrollX}{\param{int }{x}}
1378
1379 Backward compatibility.
1380
1381 \membersection{wxGrid::SetScrollY}\label{wxgridsetscrolly}
1382
1383 \func{void}{SetScrollY}{\param{int }{y}}
1384
1385 Backward compatibility.
1386
1387 \membersection{wxGrid::SetColumnWidth}\label{wxgridsetcolumnwidth}
1388
1389 \func{void}{SetColumnWidth}{\param{int }{col}, \param{int }{width}}
1390
1391 Backward compatibility.
1392
1393 \membersection{wxGrid::GetColumnWidth}\label{wxgridgetcolumnwidth}
1394
1395 \func{int}{GetColumnWidth}{\param{int }{col}}
1396
1397 Backward compatibility.
1398
1399 \membersection{wxGrid::SetRowHeight}\label{wxgridsetrowheight}
1400
1401 \func{void}{SetRowHeight}{\param{int }{row}, \param{int }{height}}
1402
1403 Backward compatibility.
1404
1405 \membersection{wxGrid::GetViewHeight}\label{wxgridgetviewheight}
1406
1407 \func{int}{GetViewHeight}{\void}
1408
1409 Backward compatibility.
1410
1411 \membersection{wxGrid::GetViewWidth}\label{wxgridgetviewwidth}
1412
1413 \func{int}{GetViewWidth}{\void}
1414
1415 Returned number of whole cols visible.
1416
1417 \membersection{wxGrid::SetLabelSize}\label{wxgridsetlabelsize}
1418
1419 \func{void}{SetLabelSize}{\param{int }{orientation}, \param{int }{sz}}
1420
1421
1422 \membersection{wxGrid::GetLabelSize}\label{wxgridgetlabelsize}
1423
1424 \func{int}{GetLabelSize}{\param{int }{orientation}}
1425
1426
1427 \membersection{wxGrid::SetLabelAlignment}\label{wxgridsetlabelalignment}
1428
1429 \func{void}{SetLabelAlignment}{\param{int }{orientation}, \param{int }{align}}
1430
1431
1432 \membersection{wxGrid::GetLabelAlignment}\label{wxgridgetlabelalignment}
1433
1434 \func{int}{GetLabelAlignment}{\param{int }{orientation}, \param{int }{align}}
1435
1436
1437 \membersection{wxGrid::SetLabelValue}\label{wxgridsetlabelvalue}
1438
1439 \func{void}{SetLabelValue}{\param{int }{orientation}, \param{const wxString\& }{val}, \param{int }{pos}}
1440
1441
1442 \membersection{wxGrid::GetLabelValue}\label{wxgridgetlabelvalue}
1443
1444 \func{wxString}{GetLabelValue}{\param{int }{orientation}, \param{int }{pos}}
1445
1446
1447 \membersection{wxGrid::GetCellTextFont}\label{wxgridgetcelltextfont}
1448
1449 \constfunc{wxFont}{GetCellTextFont}{\void}
1450
1451 \constfunc{wxFont}{GetCellTextFont}{\param{int }{row}, \param{int }{col}}
1452
1453
1454 \membersection{wxGrid::SetCellTextFont}\label{wxgridsetcelltextfont}
1455
1456 \func{void}{SetCellTextFont}{\param{const wxFont\& }{fnt}}
1457
1458 \func{void}{SetCellTextFont}{\param{const wxFont\& }{fnt}, \param{int }{row}, \param{int }{col}}
1459
1460
1461 \membersection{wxGrid::SetCellBackgroundColour}\label{wxgridsetcellbackgroundcolour}
1462
1463 \func{void}{SetCellBackgroundColour}{\param{const wxColour\& }{col}}
1464
1465 \func{void}{SetCellBackgroundColour}{\param{int }{row}, \param{int }{col}, \param{const wxColour\&}{ colour}}
1466
1467 \func{void}{SetCellBackgroundColour}{\param{const wxColour\& }{colour}, \param{int }{row}, \param{int }{col}}
1468
1469
1470 \membersection{wxGrid::GetEditable}\label{wxgridgeteditable}
1471
1472 \func{bool}{GetEditable}{\void}
1473
1474
1475 \membersection{wxGrid::SetEditable}\label{wxgridseteditable}
1476
1477 \func{void}{SetEditable}{\param{bool }{edit = TRUE}}
1478
1479
1480 \membersection{wxGrid::GetEditInPlace}\label{wxgridgeteditinplace}
1481
1482 \func{bool}{GetEditInPlace}{\void}
1483
1484
1485 \membersection{wxGrid::SetEditInPlace}\label{wxgridseteditinplace}
1486
1487 \func{void}{SetEditInPlace}{\param{bool }{edit = TRUE}}
1488
1489
1490 \membersection{wxGrid::SetCellBitmap}\label{wxgridsetcellbitmap}
1491
1492 \func{void}{SetCellBitmap}{\param{wxBitmap* }{bitmap}, \param{int }{row}, \param{int }{col}}
1493
1494
1495 \membersection{wxGrid::SetDividerPen}\label{wxgridsetdividerpen}
1496
1497 \func{void}{SetDividerPen}{\param{const wxPen\& }{pen}}
1498
1499
1500 \membersection{wxGrid::GetDividerPen}\label{wxgridgetdividerpen}
1501
1502 \constfunc{wxPen\&}{GetDividerPen}{\void}
1503
1504
1505 \membersection{wxGrid::OnActivate}\label{wxgridonactivate}
1506
1507 \func{void}{OnActivate}{\param{bool }{active}}
1508
1509 \membersection{wxGrid::Fit}\label{wxgridfit}
1510
1511 \func{void}{Fit}{\void}
1512
1513 Overridden wxWindow methods
1514
1515 \membersection{wxGrid::DoGetBestSize}\label{wxgriddogetbestsize}
1516
1517 \constfunc{wxSize}{DoGetBestSize}{\void}
1518
1519 \membersection{wxGrid::InitRowHeights}\label{wxgridinitrowheights}
1520
1521 \func{void}{InitRowHeights}{\void}
1522
1523 NB: {\it never} access m\_row/col arrays directly because they are created
1524 on demand, {\it always} use accessor functions instead!
1525
1526 Init the m\_rowHeights/Bottoms arrays with default values.
1527
1528 \membersection{wxGrid::InitColWidths}\label{wxgridinitcolwidths}
1529
1530 \func{void}{InitColWidths}{\void}
1531
1532 Init the m\_colWidths/Rights arrays
1533
1534
1535 \membersection{wxGrid::GetColWidth}\label{wxgridgetcolwidth}
1536
1537 \constfunc{int}{GetColWidth}{\param{int }{col}}
1538
1539 Get the col/row coords
1540
1541
1542 \membersection{wxGrid::GetColLeft}\label{wxgridgetcolleft}
1543
1544 \constfunc{int}{GetColLeft}{\param{int }{col}}
1545
1546
1547 \membersection{wxGrid::GetColRight}\label{wxgridgetcolright}
1548
1549 \constfunc{int}{GetColRight}{\param{int }{col}}
1550
1551
1552 \membersection{wxGrid::GetRowHeight}\label{wxgridgetrowheight}
1553
1554 \constfunc{int}{GetRowHeight}{\param{int }{row}}
1555
1556 This function must be public for compatibility.
1557
1558 \membersection{wxGrid::GetRowTop}\label{wxgridgetrowtop}
1559
1560 \constfunc{int}{GetRowTop}{\param{int }{row}}
1561
1562
1563 \membersection{wxGrid::GetRowBottom}\label{wxgridgetrowbottom}
1564
1565 \constfunc{int}{GetRowBottom}{\param{int }{row}}
1566
1567
1568 \membersection{wxGrid::SetOrCalcColumnSizes}\label{wxgridsetorcalccolumnsizes}
1569
1570 \func{int}{SetOrCalcColumnSizes}{\param{bool }{calcOnly}, \param{bool }{setAsMin = TRUE}}
1571
1572 Common part of AutoSizeColumn/Row() and GetBestSize()
1573
1574 \membersection{wxGrid::SetOrCalcRowSizes}\label{wxgridsetorcalcrowsizes}
1575
1576 \func{int}{SetOrCalcRowSizes}{\param{bool }{calcOnly}, \param{bool }{setAsMin = TRUE}}
1577
1578 \membersection{wxGrid::AutoSizeColOrRow}\label{wxgridautosizecolorrow}
1579
1580 \func{void}{AutoSizeColOrRow}{\param{int }{n}, \param{bool }{setAsMin}, \param{bool }{column}}
1581
1582 Common part of AutoSizeColumn/Row() or row?
1583
1584 \membersection{wxGrid::GetColMinimalWidth}\label{wxgridgetcolminimalwidth}
1585
1586 \constfunc{int}{GetColMinimalWidth}{\param{int }{col}}
1587
1588 get the minimal width of the given column/row
1589
1590 \membersection{wxGrid::GetRowMinimalHeight}\label{wxgridgetrowminimalheight}
1591
1592 \constfunc{int}{GetRowMinimalHeight}{\param{int }{col}}
1593
1594 \membersection{wxGrid::CanHaveAttributes}\label{wxgridcanhaveattributes}
1595
1596 \func{bool}{CanHaveAttributes}{\void}
1597
1598 Do we have some place to store attributes in?
1599
1600 \membersection{wxGrid::GetOrCreateCellAttr}\label{wxgridgetorcreatecellattr}
1601
1602 \constfunc{wxGridCellAttr*}{GetOrCreateCellAttr}{\param{int }{row}, \param{int }{col}}
1603