Menus and Dialog Boxes: 2.3 GenInteraction Instance Data: GenInteraction Types

Up: GEOS SDK TechDocs | Up | Prev: 2.2 Standard Interactions (Menus) | Next: 2.4 GenInteraction Attributes
GII_type, MSG_GEN_INTERACTION_GET_TYPE, MSG_GEN_INTERACTION_SET_TYPE

The GII_type instance field describes the contents of the Interaction. This attribute depends on the makeup of the children within the Interaction. (Note that it would be unusual for an Interaction to appear without children.) In most cases, this will directly affect the functionality of the particular Interaction. Every GenInteraction object should contain children that perform some function within the UI. That function is determined in part by this instance field.

Each of the following types is an enumeration of GenInteractionType ; therefore, you may select one and only one of the following types for your Interaction. By default, a GenInteraction is GIT_ORGANIZATIONAL.

GIT_ORGANIZATIONAL
This specifies that the Interaction is merely organizational. This allows the Interaction to provide geometry management (and not much else) to its children. Any objects within an organizational Interaction should be able to perform their actions independently. Organizational Interactions may appear in any visual form: sub-groups, menus, or dialog boxes.
GIT_PROPERTIES
This specifies that the Interaction contains properties (attributes) that the user can change. Typically, a properties Interaction will operate in one of two modes: immediate or delayed. If the GII_visibility attribute causes this Interaction to appear as a dialog box, the specific UI may create "Apply" and "Reset" triggers. In delayed mode, an apply trigger allows the Interaction to process changes made within the properties Interaction as a group rather than individually; the reset trigger allows the Interaction to reset the properties to their former state. If a popup is GIT_PROPERTIES, it will operate in immediate mode even if hints attempt to override this.
GIT_PROGRESS
This specifies that the Interaction displays a progress report for some operation. For example, a dialog box may appear showing a disk copy operation with the time remaining to its completion. If the GII_visibility attribute causes this Interaction to appear as a dialog box, the specific UI may create a "Stop" trigger that halts the operation in progress and the progress reporting. Your application is responsible for stopping the Interaction from communicating its progress report and may dismiss the Interaction if the specific UI desires.
GIT_COMMAND
This specifies that the Interaction contains commands that the application provides. If the GII_visibility attribute causes this Interaction to appear as a dialog box, the specific UI may create a "Close" trigger to dismiss the dialog. You will have to supply your own specific command triggers within a GIT_COMMAND dialog box.
GIT_NOTIFICATION
This specifies that the Interaction sends notification of some event. If the GII_visibility attribute causes this Interaction to appear as a dialog box, the specific UI may create an "OK" trigger that the user can press to acknowledge the notification.
GIT_AFFIRMATION
This specifies that the Interaction asks for confirmation of an operation. If the GII_visibility attribute causes this Interaction to appear as a dialog box, the specific UI may create "Yes" and "No" triggers. Depending upon the Specific UI, these triggers may dismiss the dialog box.
GIT_MULTIPLE_RESPONSE
This specifies that this Interaction may include multiple items that the user can respond to. (Your application should add custom response triggers using the GenTrigger's vardata ATTR_GEN_TRIGGER_INTERACTION_COMMAND .) If you wish these triggers to appear in a dialog box reply bar, use HINT_SEEK_REPLY_BAR .

You may retrieve or set the type of any Interaction at run-time. To retrieve the GenInteractionType stored in the GII_type instance field, send MSG_GEN_INTERACTION_GET_TYPE . You can set the type of any Interaction by sending it MSG_GEN_INTERACTION_SET_TYPE . Make sure that any Interaction you set the type for is not currently GS_USABLE or an error will result.

MSG_GEN_INTERACTION_GET_TYPE

byte	MSG_GEN_INTERACTION_GET_TYPE();

This message returns the current GenInteractionType stored in the GII_type instance field for the Interaction.

Source: Unrestricted.

Destination: Any GenInteraction object.

Parameters: None.

Return: GenInteractionType of the Interaction.

Interception: Generally not intercepted.

MSG_GEN_INTERACTION_SET_TYPE

void	MSG_GEN_INTERACTION_SET_TYPE(
        byte	type);

This message sets the GII_type instance data for the GenInteraction. This message must pass a valid GenInteractionType enumerated type to the Interaction object. The Interaction must not be GS_USABLE when receiving this message; the new type will take effect when the Interaction is next made GS_USABLE.

Source: Unrestricted.

Destination: Any non-usable GenInteraction object.

Parameters: type GenInteractionType for the Interaction.

Return: Nothing.

Interception: Generally not intercepted.

Warnings: Make sure that the object is not GS_USABLE when sending it this message.


Up: GEOS SDK TechDocs | Up | Prev: 2.2 Standard Interactions (Menus) | Next: 2.4 GenInteraction Attributes