GEOS SDK TechDocs
|
|
|
1 GenInteraction Features
|
3 GenInteraction Usage
GenInteraction has a set of instance fields; all are listed in GenInteraction Instance Fields
. Any objects of
GenInteractionClass
or one of its subclasses will contain these instance fields, along with the instance fields of
GenClass
.
Code Display 7-1 GenInteraction Instance Fields
@instance GenInteractionType GII_type = GIT_ORGANIZATIONAL;
typedef ByteEnum GenInteractionType; #define GIT_ORGANIZATIONAL 0 #define GIT_PROPERTIES 1 #define GIT_PROGRESS 2 #define GIT_COMMAND 3 #define GIT_NOTIFICATION 4 #define GIT_AFFIRMATION 5 #define GIT_MULTIPLE_RESPONSE 6
@instance GenInteractionVisibility GII_visibility = GIV_SUB_GROUP;
typedef ByteEnum GenInteractionVisibility; #define GIV_NO_PREFERENCE 0 #define GIV_POPUP 1 #define GIV_SUB_GROUP 2 #define GIV_CONTROL_GROUP 3 #define GIV_DIALOG 4 #define GIV_POPOUT 5
@instance GenInteractionAttrs GII_attrs = 0;
typedef ByteFlags GenInteractionAttrs; #define GIA_NOT_USER_INITIATABLE 0x80 #define GIA_INITIATED_VIA_USER_DO_DIALOG 0x40 #define GIA_MODAL 0x20 #define GIA_SYS_MODAL 0x10
GII_
type
describes the function of the GenInteraction.
GII_
visibility
describes the visual implementation of the GenInteraction. Typically, this affects where and how the object and its children are arranged within the UI. A GenInteraction's visibility may also affect the behavior of the children, though this is generally a function of the GII_
type
field.
GII_
attrs
define attributes that affect how a GenInteraction is initiated, and whether input to other parts of the application (or system) is affected.
Code Display 7-2 GenInteraction Hints
/* * Hints that affect Properties GenInteractions. These hints are described in the * GIT_PROPERTIES GenInteraction section. */
@vardata void HINT_INTERACTION_SINGLE_USAGE; @vardata void HINT_INTERACTION_COMPLEX_PROPERTIES; @vardata void HINT_INTERACTION_SIMPLE_PROPERTIES; @vardata void HINT_INTERACTION_RELATED_PROPERTIES; @vardata void HINT_INTERACTION_UNRELATED_PROPERTIES; @vardata void HINT_INTERACTION_SLOW_RESPONSE_PROPERTIES; @vardata void HINT_INTERACTION_FAST_RESPONSE_PROPERTIES; @vardata void HINT_INTERACTION_REQUIRES_VALIDATION;
/* Hints that affect all types of GenInteractions. */
@vardata void HINT_INTERACTION_FREQUENT_USAGE; @vardata void HINT_INTERACTION_INFREQUENT_USAGE; @vardata void HINT_INTERACTION_MAKE_RESIZABLE; @vardata void HINT_INTERACTION_CANNOT_BE_DEFAULT; @vardata void HINT_INTERACTION_MODAL; @vardata void HINT_INTERACTION_NO_DISTURB; @vardata void HINT_INTERACTION_DEFAULT_ACTION_IS_NAVIGATE_TO_NEXT_FIELD; @vardata void HINT_CUSTOM_SYS_MENU; @vardata void HINT_INTERACTION_MAXIMIZABLE; @vardata void HINT_INTERACTION_POPOUT_HIDDEN_ON_STARTUP; @vardata void HINT_INTERACTION_DISCARD_WHEN_CLOSED;
HINT_INTERACTION_FREQUENT_USAGE indicates that the GenInteraction is frequently used, and the specific UI may alter default functionality to reflect this. In most cases, this prevents dialog boxes from being automatically dismissed when the user is done interacting with them.
HINT_INTERACTION_INFREQUENT_USAGE indicates that the GenInteraction is infrequently used. In some specific UIs, this prevents sub-menus from automatically cascading.
HINT_INTERACTION_MAKE_RESIZABLE indicates that this GenInteraction may be resized even if it not normally allowed to do so. This hint usually only applies to dialog boxes.
HINT_INTERACTION_CANNOT_BE_DEFAULT indicates that this GenInteraction should not be activated as a system default. This hint prevents children of this GenInteraction from being activated as system defaults also. You should use this hint to mark groups of objects that may be potentially destructive; the user will be prevented from accidentally activating any objects in the GenInteraction.
HINT_INTERACTION_MODAL indicates that this GenInteraction (a dialog box) should be application modal. This hint should be used in place of GIA_MODAL in cases where modality is not needed for functionality, but is needed to present a cleaner UI to the user. Ideally, you should be able to go back and remove these hints by reworking the UI at some later time.
HINT_INTERACTION_NO_DISTURB indicates that this GenInteraction, if initiated, should be brought on-screen without disturbing the focus of the application. Usually, this hint is placed on notification type dialog boxes (such as new-mail notifications) so that the dialog box doesn't irritate the user by drawing away the focus.
HINT_INTERACTION_DEFAULT_ACTION_IS_NAVIGATE_TO_NEXT_FIELD indicates that the default action for this Interaction group is to navigate to the next field. If something activates the GenInteraction's default action (for example by double-clicking within its confines) objects within the Interaction will not be activated; the focus will travel to the next field.
HINT_CUSTOM_SYS_MENU indicates that this GenInteraction menu is a custom system menu. Depending on the specific UI, the standard system menu will be added as a sub-menu of the custom system menu. This hint takes an integer value that specifies the child position to place the standard system menu (0 being the first position).
HINT_INTERACTION_MAXIMIZABLE indicates that this GenInteraction should be maximizable. This hint also allows the GenInteraction to become restorable to its non-maximizable state.
HINT_INTERACTION_POPOUT_HIDDEN_ON_STARTUP indicates that the GIV_POPOUT GenInteraction should be initially off-screen.
HINT_INTERACTION_DISCARD_WHEN_CLOSED
indicates that the GenInteraction object (which must be a dialog box) can be discarded from memory when it is brought off-screen. This is an optimazation designed to free up memory. If the GenInteraction contains this hint, it must also be marked GIA_NOT_USER_INITIATABLE (to prevent it from being referenced), and contain a one-way upward generic link only. The dialog and all of its children must reside in their own block marked
nonDetachable
and
discardable
. (There should also be no other objects in that block, of course.)
Code Display 7-3 GenInteraction Optional Attributes
/* Optional Attributes. */
@vardata byte ATTR_GEN_INTERACTION_GROUP_TYPE; /* GenInteractionGroupType */
typedef ByteEnum GenInteractionGroupType; #define GIGT_FILE_MENU 0 #define GIGT_EDIT_MENU 1 #define GIGT_VIEW_MENU 2 #define GIGT_OPTIONS_MENU 3 #define GIGT_WINDOW_MENU 4 #define GIGT_HELP_MENU 5 #define GIGT_PRINT_GROUP 6
@vardata void ATTR_GEN_INTERACTION_OVERRIDE_INPUT_RESTRICTIONS; @vardata void ATTR_GEN_INTERACTION_ABIDE_BY_INPUT_RESTRICTIONS; @vardata void ATTR_GEN_INTERACTION_POPPED_OUT; @vardata void ATTR_GEN_INTERACTION_POPOUT_NOT_CLOSABLE;
ATTR_GEN_INTERACTION_GROUP_TYPE
indicates that this GenInteraction (typically a menu) is a special group that the specific UI should be aware of. This optional attribute takes a
GenInteractionGroupType
as its argument. For more information on these standard menus, see Standard Interactions (Menus)
.
ATTR_GEN_INTERACTION_OVERRIDE_INPUT_RESTRICTIONS instructs the specific UI to override any input restrictions in place on a modal dialog box. Many dialog types (GIT_PROGRESS, GIT_NOTIFICATION, GIT_AFFIRMATION and GIT_MULTIPLE_RESPONSE) override these input restrictions by default anyway; this hint is for use in cases where this override is not provided.
ATTR_GEN_INTERACTION_ABIDE_BY_INPUT_RESTRICTIONS instructs the specific UI to abide by any input restrictions in place on a modal dialog box. In general, this changes the default behavior for many dialog types (GIT_PROGRESS, GIT_NOTIFICATION, GIT_AFFIRMATION and GIT_MULTIPLE_RESPONSE) which normally override any input restrictions be default.
ATTR_GEN_INTERACTION_POPPED_OUT indicates that a GIV_POPOUT GenInteraction is in its popped-out state. Absence of this optional attribute indicates that the popout is in its popped-in state. This attribute can be set initially, in which case the Popout will appear popped out. This attribute is also set internally by the UI whenever the state of the GIV_POPOUT changes.
ATTR_GEN_INTERACTION_POPOUT_NOT_CLOSABLE indicates that a GIV_POPOUT, when popped out in its dialog box state, will not be closable; you will only be able to pop it back into its sub-group state.
GEOS SDK TechDocs
|
|
|
1 GenInteraction Features
|
3 GenInteraction Usage