The List Objects: 5.1 GenBooleanGroups: GenBooleanGroup Instance Data

Up: GEOS SDK TechDocs | Up | Prev: 5 GenBooleanGroups | Next: 5.2 GenBooleanGroup Usage

GenBooleanGroup and GenBoolean objects contain a variety of information. The bulk of the functionality of the list is contained in the GenBooleanGroup; the items themselves only contain identifying information that the list uses.

GenBooleanGroup Instance Data

The GenBooleanGroup contains instance fields relating to the state of its individual children. These instance fields are listed in GenBooleanGroup Instance Fields .

Code Display 11-8 GenBooleanGroup Instance Fields

    @instance word			GBGI_selectedBooleans = 0;
    @instance word			GBGI_indeterminateBooleans = 0;
    @instance word			GBGI_modifiedBooleans = 0;
    @instance optr			GBGI_destination;
    @instance Message			GBGI_applyMsg = 0;
@vardata Message			ATTR_GEN_BOOLEAN_GROUP_STATUS_MSG;
@vardata optr			ATTR_GEN_BOOLEAN_GROUP_LINK;
    @reloc ATTR_GEN_BOOLEAN_GROUP_LINK, 0, optr;
@vardata void			ATTR_GEN_BOOLEAN_GROUP_INIT_FILE_BOOLEAN;
/* Hints */
@vardata void			HINT_BOOLEAN_GROUP_SCROLLABLE;
@vardata void			HINT_BOOLEAN_GROUP_MINIMIZE_SIZE;
@vardata void			HINT_BOOLEAN_GROUP_CHECKBOX_STYLE;
@vardata void			HINT_BOOLEAN_GROUP_TOOLBOX_STYLE;

GBGI_ selectedBooleans is a record representing the selection state of the GenBooleanGroup's children. If a bit is set, the GenBoolean corresponding to that position is selected. Because of this field's size, no more than 16 GenBooleans may belong to a single GenBooleanGroup.

GBGI_ indeterminateBooleans is a record representing the indeterminate state of the GenBooleanGroup's children. A GenBoolean is indeterminate if it cannot be considered either selected or unselected. If a bit is set, the GenBoolean corresponding to that position is indeterminate.

GBGI_ modifiedBooleans is a record representing the modified state of the GenBooleanGroup's children. A GenBoolean is modified if its state (selected, deselected, or indeterminate) has changed since the last apply. If a bit is set, the GenBoolean corresponding to that position has been marked modified.

GBGI_ destination contains the optr of the object or process that handles messages sent out by the GenBooleanGroup. This destination object will receive the apply action stored in GBGI_ applyMsg whenever the user changes the GenBooleanGroup and that state change is later applied.

GBGI_ applyMsg stores the apply action for the GenBooleanGroup to send out whenever a MSG_GEN_APPLY takes place, either through an immediate state change or through a delayed mode activation.

ATTR_GEN_BOOLEAN_GROUP_STATUS_MSG assigns a status message to your GenBooleanGroup. A status message allows objects to receive notice of a change in the BooleanGroup's current state without forcing an apply. This attribute is useful for cases where the state within your BooleanGroup may reflect information within other user interface objects and should therefore be updated whenever its user changes occur, regardless of the need to apply those changes.

ATTR_GEN_BOOLEAN_GROUP_LINK allows two or more GenBooleanGroups to be linked together and act as one BooleanGroup. Each BooleanGroup may contain one or more booleans with constant values unique to all other booleans within the linked BooleanGroups. The links should also be circular, with the last group pointing back to the first. All of these BooleanGroups should have identical states so they will work correctly.

ATTR_GEN_BOOLEAN_GROUP_INIT_FILE_BOOLEAN forces the GenBooleanGroup to use "true" and "false" values in the GEOS.INI file.

HINT_BOOLEAN_GROUP_SCROLLABLE implements the Boolean Group as a scrollable list, if that feature is supported by the specific UI. HINT_BOOLEAN_GROUP_MINIMIZE_SIZE instructs the UI to minimize the size of the Boolean Group. Depending on the specific UI, the Boolean group may be placed within a popup list or made scrollable.

HINT_BOOLEAN_GROUP_CHECKBOX_STYLE indicates that the Boolean Group should display its Booleans with the "checkbox" style, if that style is supported by the Specific UI. HINT_BOOLEAN_GROUP_TOOLBOX_STYLE indicates that the group should use the toolbox style, with a simple box around the Boolean's visual moniker. This style is the default for toolboxes in OSF/Motif, but not for other Booleans.

GenBoolean Instance Data

GenBooleanClass contains one additional instance field:

@instance word			GBI_identifier;

GBI_ identifier sets the identifying keyword (a 16-bit mask representing a specific bit--or bits--within a word-length bitfield) that uniquely identifies this GenBoolean. This identifier is used by the GenBooleanGroup parent to reference the Boolean. No two Booleans may specify common bits set, although a single Boolean's identifier may have several bits set.


Up: GEOS SDK TechDocs | Up | Prev: 5 GenBooleanGroups | Next: 5.2 GenBooleanGroup Usage