|
GEOS SDK TechDocs
|
|
1.1 Instance Data
|
1.3 Application Instance Reference
The GCN mechanism is fully discussed in the General Change Mechanism chapter.
Your application may use application GCN lists to notify objects of certain events. For example, it is essential that any windowed objects that you wish to appear upon startup (including your GenPrimary) are added to the GAGCNLT_WINDOWS GCN list.
GenApplication uses its own GCN list types. The four most often used, and the four you will likely use in most of your applications, are listed below. The others can be found in the file
geoworks.def
and following this short list. Note that all of these GCN list types correspond to the manufacturer ID MANUFACTURER_ID_GEOWORKS.
-
MGCNLT_ACTIVE_LIST
This GCN list keeps a record of all objects that need to be built upon application startup. Objects on this list will receive several system attach and detach messages. Several types of GenControl objects need to be on this list to function properly. In that case, these controllers must also appear on either the GAGCNLT_SELF_LOAD_OPTIONS or GAGCNLT_STARTUP_LOAD_OPTIONS lists as well. Objects that do not need to receive attach notification (but do need to receive detach notification) may be added dynamically to this list.
-
GAGCNLT_WINDOWS
This GCN list keeps a record of windowed objects. All windowed objects that should be visible on startup must be added to this list. Any time a windowed object is visually initialized, it will be added to this list. It will not be removed until the object is visually closed. This is used to save window state across shutdown.
-
GAGCNLT_SELF_LOAD_OPTIONS
This GCN list contains a record of all objects that save options upon receiving
MSG_META_SAVE_OPTIONS
. These objects will self-load their options; objects on this list will not receive
MSG_META_LOAD_OPTIONS
automatically. If they need to do so, they should be added to the
GAGCNLT_STARTUP_LOAD_OPTIONS
list instead. Objects on this list will be sent
MSG_META_SAVE_OPTIONS
when the GenApplication receives
MSG_META_SAVE_OPTIONS
.
-
GAGCNLT_STARTUP_LOAD_OPTIONS
This GCN list contains a record of all objects that should both load their options upon startup and save their options upon receiving
MSG_META_SAVE_OPTIONS
. Objects on this list will receive
MSG_META_LOAD_OPTIONS
when they are first loaded.
Code Display 3-4 Sample GenApplication with Controllers
/* This application includes six controllers. One, the TabControl, must receive
* MSG_META_ATTACH to work properly and is placed on the GCN active list. Another
* controller, the GenViewController, must receive MSG_META_LOAD_OPTIONS at
* startup and is therefore placed on the STARTUP_LOAD_OPTIONS list. All other
* controllers are placed on the SELF_LOAD_OPTIONS list. Note that controllers
* placed on the active list still need to be placed on one options list. */
@object GenApplicationClass MyApplication = {
GI_comp = @MyPrimary;
/* Windows GCN list. */
gcnList(MANUFACTURER_ID_GEOWORKS, GAGCNLT_WINDOWS) = @MyPrimary;
/* Active GCN list. All objects that should receive
* MSG_META_ATTACH should be on this list. These controllers
* should also be added to the appropriate LOAD_OPTIONS list. */
gcnList(MANUFACTURER_ID_GEOWORKS, MGCNLT_ACTIVE_LIST) = @MyTabControl,
@MyToolControl;
/* Startup Load Options GCN list. This list must include
* all objects that should receive MSG_META_LOAD_OPTIONS
* at attach time. */
gcnList(MANUFACTURER_ID_GEOWORKS, GAGCNLT_STARTUP_LOAD_OPTIONS) =
@MyGenViewControl;
/* Self Load Options GCN list. All objects that save
* options and are not on the Startup Load Options list
* should appear here. */
gcnList(MANUFACTURER_ID_GEOWORKS, GAGCNLT_SELF_LOAD_OPTIONS) = @MyTabControl,
@MyToolControl, @MyEditControl, @MyCharControl,
@MyParaControl;
}
The other GenApplication-defined GCN lists are listed below with comments about their functions. Other GCN list types are also declared by other classes (e.g.
MetaClass
).
-
GAGCNLT_GEN_CONTROL_NOTIFY_STATUS_CHANGE
-
Keeps the GenToolControl up-to-date on the status of all the GenControl objects. The data block passed with this list is of type
NotifyGenControlStatusChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_SELECT_STATE_CHANGE
-
Notifies objects of changes in the selection state. The data block passed with this list is of type
NotifySelectStateChange
.
-
GAGCNLT_EDIT_CONTROL_NOTIFY_UNDO_STATE_CHANGE
-
Notifies objects of changes in the state of the undo item. The data block passed with this list is of type
NotifyUndoStateChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_CHAR_ATTR_CHANGE
-
Notifies objects of changes in the text character attributes.The data block passed with this list is of type
VisTextNotifyCharAttrChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_PARA_ATTR_CHANGE
-
Notifies objects of changes in the text paragraph attributes. The data block passed with this list is of type
VisTextNotifyParaAttrChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_TYPE_CHANGE
-
Notifies objects of changes in the text type change.The data block passed with this list is of type
VisTextNotifyTypeChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_SELECTION_CHANGE
-
Notifies objects of changes in the text selection. The data block passed with this list is of type
VisTextNotifySelectionChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_COUNT_CHANGE
-
Notifies objects of changes in the text count. The data block passed with this list is of type
VisTextNotifyCountChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_STYLE_TEXT_CHANGE
-
Notifies objects of possible changes in the style. The data block passed with this list is of type
NotifyStyleChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_STYLE_SHEET_TEXT_CHANGE
-
Notifies objects of possible changes in the style sheet.The data block passed with this list is of type
NotifyStyleSheetChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_STYLE_CHANGE
-
Notifies objects of changes in the current text style. The data block passed with this list is of type
NotifyTextStyleChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_FONT_CHANGE
-
Notifies objects of changes in the font. The data block passed with this list is of type
NotifyFontChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_POINT_SIZE_CHANGE
-
Notifies objects of changes in text point size. The data block passed with this list is of type
NotifyPointSizeChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_FONT_ATTR_CHANGE
-
Notifies objects of changes in the font attributes. The data block passed with this list is of type
NotifyFontAttrChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_JUSTIFICATION_CHANGE
-
Notifies objects of changes in the paragraph justification. The data block passed with this list is of type
NotifyJustificationChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_FG_COLOR_CHANGE
-
Notifies objects of changes in the text foreground (character) color. The data block passed with this list is of type
NotifyColorChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_BG_COLOR_CHANGE
-
Notifies objects of changes in the text background color. The data block passed with this list is of type
NotifyColorChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_PARA_COLOR_CHANGE
-
Notifies objects of changes in the text paragraph color.The data block passed with this list is of type
NotifyColorChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_BORDER_COLOR_CHANGE
-
Notifies objects of changes in text border color. The data block passed with this list is of type
NotifyColorChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_SEARCH_SPELL_CHANGE
-
Notifies objects of changes in the search/spell objects.
-
GAGCNLT_APP_TARGET_NOTIFY_SEARCH_REPLACE_CHANGE
-
Notifies objects of changes in the search-and-replace mechanism.
-
GAGCNLT_APP_TARGET_NOTIFY_CHART_TYPE_CHANGE
-
Notifies objects of changes in chart type.
-
GAGCNLT_APP_TARGET_NOTIFY_CHART_GROUP_FLAGS
-
Notifies objects of changes in chart group flags.
-
GAGCNLT_APP_TARGET_NOTIFY_CHART_AXIS_ATTRIBUTES
-
Notifies objects of changes in chart axis attributes.
-
GAGCNLT_APP_TARGET_NOTIFY_CHART_MARKER_SHAPE
-
Notifies objects of changes in the chart marker shape.
-
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_CURRENT_TOOL_CHANGE
-
Notifies objects of changes in the selected GrObj tool.
-
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_BODY_SELECTION_STATE_CHANGE
-
Notifies objects of changes in the GrObj body selection state.
-
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_AREA_ATTR_CHANGE
-
Notifies objects of changes in the GrObj area attributes.
-
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_LINE_ATTR_CHANGE
-
Notifies objects of changes in the GrObj line attributes.
-
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_TEXT_ATTR_CHANGE
-
Notifies objects of changes in the GrObj text attributes.
-
GAGCNLT_APP_TARGET_NOTIFY_STYLE_GROBJ_CHANGE
-
Notifies objects of changes in style changes relating to the GrObj.
-
GAGCNLT_APP_TARGET_NOTIFY_STYLE_SHEET_GROBJ_CHANGE
-
Notifies objects of changes in the style sheet.
-
GAGCNLT_APP_TARGET_NOTIFY_RULER_TYPE_CHANGE
-
Notifies objects of changes in ruler type.
-
GAGCNLT_APP_TARGET_NOTIFY_RULER_GRID_CHANGE
-
Notifies objects of changes in the ruler grid.
-
GAGCNLT_TEXT_RULER_OBJECTS
-
Notifies objects of changes in the active ruler.
-
GAGCNLT_APP_TARGET_NOTIFY_BITMAP_CURRENT_TOOL_CHANGE
-
Notifies objects of changes in the selected bitmap tool.
-
GAGCNLT_APP_TARGET_NOTIFY_BITMAP_CURRENT_FORMAT_CHANGE
-
Notifies objects of changes in the current bitmap format.
-
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_FIELD_PROPERTIES_STATUS_CHANGE
-
Notifies objects of changes in the flatfile database properties status.
-
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_FIELD_LIST_CHANGE
-
Notifies objects of changes in the flatfile field list.
-
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_RCP_STATUS_CHANGE
-
Notifies objects of changes in flatfile status.
-
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_FIELD_APPEARANCE_CHANGE
-
Notifies objects that a field within the flat file has changed its appearance.
-
GAGCNLT_APP_NOTIFY_DOC_SIZE_CHANGE
-
Notifies objects of changes in document size. The data block passed with this list is of type
NotifyPageSetupChange
.
-
GAGCNLT_APP_NOTIFY_PAPER_SIZE_CHANGE
-
Notifies objects of changes in chosen paper size. The data block passed with this list is of type
NotifyPageSetupChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_VIEW_STATE_CHANGE
-
Notifies objects of changes in of view state. The data block passed with this list is of type
NotifyViewStateChange
.
-
GAGCNLT_CONTROLLED_GEN_VIEW_OBJECTS
-
A list of GenView objects controlled by the GenViewControl. (These GenViews will have ATTR_GEN_VIEW_INTERACT_WITH_CONTROLLER set in their instance data.)
-
GAGCNLT_APP_TARGET_NOTIFY_INK_STATE_CHANGE
-
Notifies objects of changes in Ink state.
-
GAGCNLT_CONTROLLED_INK_OBJECTS
-
A list of Ink objects controlled by the InkControl.
-
GAGCNLT_APP_TARGET_NOTIFY_PAGE_STATE_CHANGE
-
Notifies objects of changes in page state. The data block passed with this list is of type
NotifyPageStateChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_DOCUMENT_CHANGE
-
Notifies objects of changes in a document. The data block passed with this list is of type
NotifyPageStateChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_DISPLAY_CHANGE
-
Notifies objects of changes in a display. The data block passed with this list is of type
NotifyDisplayChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_DISPLAY_LIST_CHANGE
-
Notifies objects of changes in the display list. The data block passed with this list is of type
NotifyColorChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_MARKER_SHAPE
-
Notifies objects of changes in a spline marker shape.
-
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_POINT
-
Notifies objects of changes in spline points.
-
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_POLYLINE
-
Notifies objects of changes in spline polylines.
-
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_SMOOTHNESS
-
Notifies objects of changes in spline smoothness.
-
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_OPEN_CLOSE_CHANGE
-
Notifies objects of changes in a spline's open/close state.
-
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_ACTIVE_CELL_CHANGE
-
Notifies objects of changes in the spreadsheet's active cell range. The data block passed with this list is of type
NotifySSheetActiveCellChanged
.
-
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_EDIT_BAR_CHANGE
-
Notifies objects of changes in the spreadsheet's edit bar. The data block passed with this list is of type
NotifySSheetEditBarChanged
.
-
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_SELECTION_CHANGE
-
Notifies objects of changes in the spreadsheet's selection. The data block passed with this list is of type
NotifySSheetSelectionChanged
.
-
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_CELL_WIDTH_HEIGHT_CHANGE
-
Notifies objects of changes in the spreadsheet's cell width or height. The data block passed with this list is of type
NotifySSheetCellWidthHeightChang
e.
-
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_DOC_ATTR_CHANGE
-
Notifies objects of changes in the spreadsheet's document attributes. The data block passed with this list is of type
NotifySSheetDocAttrChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_CELL_ATTR_CHANGE
-
Notifies objects of changes in the spreadsheet's cell attributes. The data block passed with this list is of type
NotifySSheetCellAttrChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_CELL_NOTES_CHANGE
-
Notifies objects of changes in the notes of a cell within a spreadsheet.
-
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_DATA_RANGE_CHANGE
-
Notifies objects of changes in the spreadsheet's data range selection. The data block passed with this list is of type
NotifySSheetDataRangeChange
.
-
GAGCNLT_APP_TARGET_NOTIFY_TEXT_NAME_CHANGE
-
Notifies objects of changes in a text object's names run. The data block passed with this list is of type
VisTextNotifyNameChange.
-
GAGCNLT_FLOAT_FORMAT_CHANGE
-
Notifies objects of changes in a particular float format within the float format controller.
-
GAGCNLT_DISPLAY_OBJECTS_WITH_RULERS
-
A list of GenDisplay objects that have rulers.
-
GAGCNLT_APP_TARGET_NOTIFY_APP_CHANGE
-
Notifies objects of changes in an application.
-
GAGCNLT_APP_TARGET_NOTIFY_LIBRARY_CHANGE
-
Notifies objects of changes in a library.
-
GAGCNLT_APP_TARGET_NOTIFY_CARD_BACK_CHANGE
-
Notifies objects that a card back has changed.
-
GAGCNLT_NOTIFY_FOCUS_TEXT_OBJECT
-
Notifies objects that a an editable text object has a gained the focus. This list is used by the floating keyboard to determine when it should be enabled or not.
-
GAGCNLT_NOTIFY_TEXT_CONTEXT
-
Notifies objects that a the selection or data in a focused text object has changed, if that text object has text contexts turned on. This list is used by hand-writing recognition.
-
GAGCNLT_NOTIFY_HELP_CONTEXT_CHANGE
-
Notifies objects that a help context has changed.
-
GAGCNLT_FLOAT_FORMAT_INIT
-
Notifies the float controller that it should re-initialize itself. This normally sent to the controller when the target document has changed.
-
GAGCNLT_ALWAYS_INTERACTABLE_WINDOWS
-
This list stores windows that should always remain interactable, even if modal windows are on-screen. Objects on this list will get messages even if GenInteractions invoked by
UserDoDialog()
are on-screen. These objects also receive MSG_META_CHECK_IF_INTERACTABLE_OBJECT to allow them to specify objects under them (such as objects in the child blocks) that should also receive messages.
-
GAGCNLT_USER_DO_DIALOGS
-
This list stores all dialog boxes initiated via
UserDoDialog()
.
-
GAGCNLT_MODAL_WIN_CHANGE
-
Notifies objects that modal window changes have occurred within the application.
-
GACGNLT_APP_TARGET_NOTIFY_SPREADSHEET_NAME_CHANGE
-
Notifies objects that a spreadsheet's name has changed.
-
GAGCNLT_CONTROLLERS_WITHIN_USER_DO_DIALOGS
-
This list stores objects (usually controllers) that will appear within the context of
UserDoDialog()
but will not be within the same block as the dialog box. Objects on this list will receive MSG_META_CHECK_IF_INTERACTABLE_OBJECT.
-
GAGCNLT_FOCUS_WINDOW_KBD_STATUS
-
Notifies floating keyboards when windows gain the focus on pen systems.
|
GEOS SDK TechDocs
|
|
1.1 Instance Data
|
1.3 Application Instance Reference