GEOS SDK TechDocs
|
|
3 Saving User Options
|
3.2 The GEOS.INI File
All appropriate generic UI objects have the ability to save their options. For example, a properties GenInteraction could save which of its options are on and which are off when the user presses a "save options" trigger.
To save generic object options, you have to do two basic things:
Saving Generic Object Options shows an example of how objects should be declared for saving their options.
Code Display 7-2 Saving Generic Object Options
/* The GenApplication object must declare a GCN list of the type appropriate for * the options being saved (or both types if the application uses both types). * This GenApplication declares a list of objects whose options do not have to be * loaded at startup. */
@object GenApplicationClass SampleApp = {
GI_visMoniker = "Sample Application";
GI_comp = SamplePrimary; /* Primary window object is the only child. */
gcnList(MANUFACTURER_ID_GEOWORKS, GAGCNLT_WINDOWS) = SamplePrimary;
/* The above list is to declare windowed objects that must appear
* when the application is opened and made usable. */
gcnList(MANUFACTURER_ID_GEOWORKS, GAGCNLT_SELF_LOAD_OPTIONS) =
SampleController;
/* The above list is used for generic objects that save their
* options but do not need their options loaded at startup. */
}
/* Some applications that have generic objects save their own options might not * have a special Options menu but may just have a trigger somewhere for saving * options. In any case, the "save options" trigger sends MSG_META_SAVE_OPTIONS to * its GenApplication object. If you use an Options menu with GIGT_OPTIONS_MENU * set, this will automatically be built into the menu. * The SampleOptionsMenu is a child of SamplePrimary, not shown. */
@object GenInteractionClass SampleOptionsMenu = {
GI_comp = SampleToolbox, SampleToolControl, SampleSaveOptsTrigger;
GII_visibility = GIV_POPUP; /* Make it a menu. */
ATTR_GEN_INTERACTION_GROUP_TYPE = (GIGT_OPTIONS_MENU);
}
/* The other objects (controllers) are not shown here. Just the "save options" * trigger, which sends MSG_META_SAVE_OPTIONS to the GenApplication object. */
@object GenTriggerClass SampleSaveOptsTrigger = {
GI_visMoniker = `S', "Save Options";
GTI_destination = SampleApp;
GTI_actionMsg = MSG_META_SAVE_OPTIONS;
}
GEOS SDK TechDocs
|
|
3 Saving User Options
|
3.2 The GEOS.INI File