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

3.9 Formula Engine Classes

Objective Grid treats the formula engine as a separate entity. You might consider Objective Grid as a front end to this engine that loads values from the engine when cells need to be drawn and that stores values or formulas back into the engine whenever cells are changed.

The formula engine is discussed in detail in Chapter 14, "The Formula Engine."

Figure 39: Objective Grid formula class hierarchy

3.9.1 CGXFormulaSheet

The CGXFormulaSheet class provides an interface to the Objective Grid formula engine. CGXFormulaSheet can be attached to a CGXGridCore object and replace the CGXData object that holds all the cell data. CGXFormulaSheet has special overrides for GetStyleRowCol() and StoreStyleRowCol() so that whenever cells are changed in the grid the actual change will be directly stored in the formula engine. Also other operations like moving, removing and inserting cells will be forwarded to the engine by overrides in CGXFormulaSheet.

3.9.2 CGXWorksheetFunctions

The CGXWorksheetFunctions class provides an extensible interface to the formula engine. You can specify what worksheet functions should get linked into your application. You can also add your own custom worksheet functions to the engine.

3.9.3 CGXDefaultWorksheetFunctions

The CGXDefaultWorksheetFunctions class has a lookup table with all built-in worksheet functions.

3.9.4 CGXFormula

CGXFormula is used by the CGXFormulaSheet::ParseExpression() method to store a compiled formula expression in binary form. You can later pass this CGXFormula object to EvaluateExpression().



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.