Syntax - Action List

Action lists describe dynamics of a window object (or module):

ActionList ::= [ ActionBody ]
ActionBody ::= ActionBody ActionElem | ActionElem
ActionElem ::= Action | Definition
Action ::= Event: Statements
Event ::= SELECT | CURRENT | NON_CURRENT | SELECT |
MOUSE_CLICK | MOUSE_CLICK_R | DOUBLE_CLICK |
C_UP | C_DOWN | PG_UP | PG_DOWN |
F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9
F9 | F10 | F11 | F12 | ALTERED | DROP |
Statements ::= Statements SingleStmt | Statements, SingleStmt | SingleStmt
Definition ::= VariableDefinition | StatementDefinition |
StatementDeclaration | MessageDeclaration

action list Example

Event
InstantView® knows the following predefined events:

Event Description
SELECT a button, menu item etc. has been selected (via mouse or keyboard entry);
in an input field, SELECT is caused via ENTER key            
CURRENT window object focussed
NON_CURRENT window object unfocussed
MOUSE_CLICK left mouse-button single-click
MOUSE_CLICK_R right mouse-button single-click
DOUBLE_CLICK left mouse-button double-click
CLOSE (parent) window gets closed (interactively)
INITIALIZE activated, once a window object gets generated
TERMINATE activated before a window object disappears
C_UP cursor-up key pressed
C_DOWN cursor-down key pressed
PG_UP page-up key pressed 
PG_DOWN page-down key pressed
F2 F2 key pressed
. . . . . .
F12 F12 key pressed
ALTERED input field content has been modified interactively; the statement Alert defines, if and when modifications will be registered
DROP dragged object have been dropped (drag and drop) (only with flag ACCEPT_DROP), objects and paste mode are in the stack

Message
see statement Message

SingleStmt
Except for a few cases, statements are identified with an identifier, which can be followed by one or two parameters: 

    Statement(parameter1, parameter2)

In case the first parameter should not be specified, whereas the second one should, please use the following syntax:

    Statement(, parameter)

For most statements, it is possible to indicate the identifier STACK instead of a constant parameter. The parameter should be variable and will be taken off the stack top (before all values, which need the statement themselves).
Passing a vector to the stack, all statements -for which this makes sense- are iteratively processed by all vector elements.

A few statements without parameter are represented by special characters (such as +, -, * and / for the equivalent operations). In reference to the C syntax, it is possible to write { and } instead of begin and end.
Other than structuring statements (if, ifnot, else, do, while, loop, begin, end, break, quit, and cancel) all statements start with a capital letter. When a statement operand refers to an object member, there will be the following syntax for an access path.

A large and important statement group refers to a window object (target object), which is defined by the parameters (Parentwindow, Childobjekt).

VariablenDefinition
see statement variable

StatementDefinition
see statement define

StatementDeklaration
see statement declare

MessageDeklaration
see statement message

Two InstantView® statements can be separated via comma:

    Stmt1,  Stmt2   // is semantically equivalent to
    Stmt1 Stmt2