X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e812c32f56204dba7e107c7eb52563ce0a952999..f6268c151c84762a9d664b6e9a7e938ef2619415:/docs/doxygen/overviews/grid.h diff --git a/docs/doxygen/overviews/grid.h b/docs/doxygen/overviews/grid.h index d5ea310988..d37678d374 100644 --- a/docs/doxygen/overviews/grid.h +++ b/docs/doxygen/overviews/grid.h @@ -3,74 +3,64 @@ // Purpose: topic overview // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @page overview_grid wxGrid Overview -Classes: wxGrid - -@li @ref overview_grid_intro -@li @ref overview_grid_simpleexample -@li @ref overview_grid_complexexample -@li @ref overview_grid_classrelations -@li @ref overview_grid_keyboardmouse - - -
- - -@section overview_grid_intro Introduction +@tableofcontents wxGrid and its related classes are used for displaying and editing tabular data. wxGrid supports custom attributes for the table cells, allowing to completely customize its appearance and uses a separate grid table -(wxGridTableBase-derived) class for the data management meaning that it -can be used to display arbitrary amounts of data. +(wxGridTableBase-derived) class for the data management meaning that it can be +used to display arbitrary amounts of data. + + -@section overview_grid_simpleexample Getting started: a simple example +@section overview_grid_simpleexample Getting Started -For simple applications you need only refer to the wxGrid class in your -code. This example shows how you might create a grid in a frame or -dialog constructor and illustrates some of the formatting functions. +For simple applications you need only refer to the wxGrid class in your code. +This example shows how you might create a grid in a frame or dialog constructor +and illustrates some of the formatting functions. @code - // Create a wxGrid object - - grid = new wxGrid( this, - -1, - wxPoint( 0, 0 ), - wxSize( 400, 300 ) ); - - // Then we call CreateGrid to set the dimensions of the grid - // (100 rows and 10 columns in this example) - grid->CreateGrid( 100, 10 ); - - // We can set the sizes of individual rows and columns - // in pixels - grid->SetRowSize( 0, 60 ); - grid->SetColSize( 0, 120 ); - - // And set grid cell contents as strings - grid->SetCellValue( 0, 0, "wxGrid is good" ); - - // We can specify that some cells are read->only - grid->SetCellValue( 0, 3, "This is read->only" ); - grid->SetReadOnly( 0, 3 ); - - // Colours can be specified for grid cell contents - grid->SetCellValue(3, 3, "green on grey"); - grid->SetCellTextColour(3, 3, *wxGREEN); - grid->SetCellBackgroundColour(3, 3, *wxLIGHT_GREY); - - // We can specify the some cells will store numeric - // values rather than strings. Here we set grid column 5 - // to hold floating point values displayed with width of 6 - // and precision of 2 - grid->SetColFormatFloat(5, 6, 2); - grid->SetCellValue(0, 6, "3.1415"); +// Create a wxGrid object + +grid = new wxGrid( this, + -1, + wxPoint( 0, 0 ), + wxSize( 400, 300 ) ); + +// Then we call CreateGrid to set the dimensions of the grid +// (100 rows and 10 columns in this example) +grid->CreateGrid( 100, 10 ); + +// We can set the sizes of individual rows and columns +// in pixels +grid->SetRowSize( 0, 60 ); +grid->SetColSize( 0, 120 ); + +// And set grid cell contents as strings +grid->SetCellValue( 0, 0, "wxGrid is good" ); + +// We can specify that some cells are read->only +grid->SetCellValue( 0, 3, "This is read->only" ); +grid->SetReadOnly( 0, 3 ); + +// Colours can be specified for grid cell contents +grid->SetCellValue(3, 3, "green on grey"); +grid->SetCellTextColour(3, 3, *wxGREEN); +grid->SetCellBackgroundColour(3, 3, *wxLIGHT_GREY); + +// We can specify the some cells will store numeric +// values rather than strings. Here we set grid column 5 +// to hold floating point values displayed with width of 6 +// and precision of 2 +grid->SetColFormatFloat(5, 6, 2); +grid->SetCellValue(0, 6, "3.1415"); @endcode Here is a list of classes related to wxGrid: @@ -113,21 +103,9 @@ Here is a list of classes related to wxGrid: @li wxGridTypeRegistry: Contains information about the data types supported by the grid. -@section overview_grid_complexexample A more complex example - -@todo To be written - - -@section overview_grid_classrelations How the wxGrid classes relate to each other - -@todo To be written - - -@section overview_grid_keyboardmouse Keyboard and mouse actions -@todo To be written -@section overview_grid_resizing Column and row sizes +@section overview_grid_resizing Column and Row Sizes @b NB: This section will discuss the resizing of wxGrid rows only to avoid repetitions but everything in it also applies to grid columns, just replace @c @@ -143,12 +121,15 @@ to fit its contents with wxGrid::AutoSizeRow() or do it for all rows at once with wxGrid::AutoSizeRows(). Additionally, by default the user can also drag the row separator lines to -resize the rows interactively. This can be forbidden by calling -wxGrid::DisableDragRowSize(). If you do allow the user to resize the grid rows, -it may be a good idea to save their heights and restore it when the grid is -recreated the next time (possibly during a next program execution): the -functions wxGrid::GetRowSizes() and wxGrid::SetRowSizes() can help with this, -you will just need to serialize wxGridSizesInfo structure returned by the -former in some way and deserialize it back before calling the latter. +resize the rows interactively. This can be forbidden completely by calling +wxGrid::DisableDragRowSize() or just for the individual rows using +wxGrid::DisableRowResize(). + +If you do allow the user to resize the grid rows, it may be a good idea to save +their heights and restore it when the grid is recreated the next time (possibly +during a next program execution): the functions wxGrid::GetRowSizes() and +wxGrid::SetRowSizes() can help with this, you will just need to serialize +wxGridSizesInfo structure returned by the former in some way and deserialize it +back before calling the latter. */