Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Objective Grid User's Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

3.6 Data Structures

Objective Grid maintains grid properties and attributes in separate classes. This allows several grid views to share the same data. Objective Grid provides several pre-built dialogs that allow the end user to modify properties.

Figure 36: Objective Grid data structure class hierarchy

3.6.1 CGXGridParam

CGXGridParam contains shared attributes such as the row heights, the cell contents, the styles map, the printer settings and the selected ranges. By default, an instance of CGXGridParam is created in CGXGridCore::OnGridInitialUpdate(), but can also be embedded in the document and linked to the grid.

3.6.2 CGXData

The CGXData class maintains the cell contents of the grid and the row and column base styles. The grid component creates an instance of this class in CGXGridCore::OnGridInitialUpdate() and attaches it to the parameter object.

3.6.3 CGXProperties

The CGXProperties class maintains the display and print properties of a grid, such as margins, header/footer and colors of grid lines. Objective Grid offers some pre-built dialog classes that allow the end user to modify these settings at run time. All settings except the header/footer text can be written to and loaded from the profile.

3.6.4 CGXCommand

The CGXCommand class is an abstract base class for storing Undo information for commands. If you want to support Undo/Redo for your commands, you should derive a class from CGXCommand and store all information necessary for undoing the operation into the command object. A detailed discussion of this process is included in the Programmer's Guide section of this manual.

3.6.5 CGXAbstractControlFactory

CGXAbstractControlFactory is an abstract base class for registering new cell types together with user attributes. This class simplifies the registration of new cell types in the grid.

3.6.6 CGXControlFactory

CGXControlFactory is the default implementation of the Objective Grid control factory. CGXControlFactory registers all cell types, user attributes and window classes provided by Objective Grid and will force them to be linked in your application.

3.6.7 CGXGridDropTarget

A CGXGridDropTarget object provides the communication mechanism between a grid and the OLE libraries. Creating an object of this class allows a window to accept data through the OLE drag-and-drop mechanism.

3.6.8 CGXNoOleDataObjectProxy

CGXNoOleDataObjectProxy objects are used to pass COleDataObject objects to the OLE drag & drop overridables in CGXGridCore.

3.6.9 CGXNoOleDataSourceProxy

CGXNoOleDataSourceProxy objects used to pass COleDataSource objects to the OLE drag & drop overridables in CGXGridCore.

3.6.10 CGXDisplayPropertiesDialog, CGXHeaderFooterDialog, CGXPrintPropertiesDialog

These classes provide dialogs that allow the end user to change the settings maintained by the CGXProperties class. All dialogs provide an option that allows the user to save/load the settings using the registry/profile.

3.6.11 CGXRange

CGXRange objects define a rectangular range of cells in the grid. A range is specified through a top and bottom row and a left and right columns. Ranges can represent a selection of cells, columns, rows or all cells.

3.6.12 CGXRangeList

CGXRangeList maintains a list of range objects. For example, ranges of cells selected by the user are stored in a CGXRangeList.

3.6.13 CGXPrintDevice

The CGXPrintDevice class maintains printer settings. These printer settings can be modified through the CPrintDialog dialog or by the programmer.



Previous fileTop of DocumentContentsNo linkNext file

Copyright © Rogue Wave Software, Inc. All Rights Reserved.

The Rogue Wave name and logo, and Stingray, are registered trademarks of Rogue Wave Software. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.