]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/doxygen/overviews/grid.h
Fix broken and missing DataView interface items for Phoenix
[wxWidgets.git] / docs / doxygen / overviews / grid.h
index cb29b5e16de1ed5fa0c464ec8d95d19eda23d172..d37678d3743810d5439a87c79059b7b2be905ad2 100644 (file)
@@ -3,74 +3,64 @@
 // Purpose:     topic overview
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     topic overview
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 
 @page overview_grid wxGrid Overview
 
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 
 @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
-
-
-<hr>
-
-
-@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
 
 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.
+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.
 
 
-@section overview_grid_simpleexample Getting started: a simple example
 
 
-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.
+
+@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.
 
 @code
 
 @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:
 @endcode
 
 Here is a list of classes related to wxGrid:
@@ -113,19 +103,33 @@ Here is a list of classes related to wxGrid:
 @li wxGridTypeRegistry: Contains information about the data types supported by
     the grid.
 
 @li wxGridTypeRegistry: Contains information about the data types supported by
     the grid.
 
-@section overview_grid_complexexample A more complex example
 
 
-@todo Yet to be written
 
 
+@section overview_grid_resizing Column and Row Sizes
 
 
-@section overview_grid_classrelations How the wxGrid classes relate to each other
+@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
+Row in the method names with @c Col.
 
 
-@todo Yet to be written
+Initially all wxGrid rows have the same height, which can be modified for all
+of them at once using wxGrid::SetDefaultRowSize(). However, unlike simpler
+controls such as wxListBox or wxListCtrl, wxGrid also allows its rows to be
+individually resized to have their own height using wxGrid::SetRowSize() (as a
+special case, a row may be hidden entirely by setting its size to 0, which is
+done by a helper wxGrid::HideRow() method). It is also possible to resize a row
+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 completely by calling
+wxGrid::DisableDragRowSize() or just for the individual rows using
+wxGrid::DisableRowResize().
 
 
-@section overview_grid_keyboardmouse Keyboard and mouse actions
-
-@todo Yet to be written
+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.
 
 */
 
 */
-