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