window

Calls a window.

Available in:

Apps (win) Apps (char) Reportwriter RPC Standalone PL
X X      

Syntax

void window(window-name | window-seq,action[,xml])
ident       window-name
int         window-seq
keyword     action (close,initialize,max,min,open,query,run,top,update)
string      xml

Description

Calls a specified window. You can call any window from anywhere in the application.
window-name specifies the window to call by name.
window-seq specifies the window by sequence number.
action specify the action(s) to perform on the window. Multiple actions can be OR'd. This value can be:

closeClose and remove the window from the screen.
initializeExecute the window's initialize trigger.
maxMaximize the window. Only for popup and stacked windows. All other stacked windows will be collapsed.
minMinimize the window. Only for popup and stacked windows.
openIf the window does not already exist, create it. In either case, put it on top of any other windows on the screen.
queryExecute the window's query trigger.
runIf the window is open, put it in front of any other windows on the screen and pass control to its window trigger. If the window is not open, a user input call returns an error.
topBring the window to the top.
updateExecute the window's update trigger.

If you specify multiple ations for window(), they are executed in the following order: open,top/max/min, initialize, query, update, run, and close.

xmlOptional XML string to dynamically modify certain window definitions. The xml format is

<WINDOW FIELDS='n' ACTIONS='n' TEXTS='n' GRAPHICS='n' TOP='v' LEFT='v' HEIGHT='v' WIDTH='v'/>

where 'n' is a value between 0 and the count of that object type in the design and 'v' can be prefixed with '-' or '+'. If '-' or '+' is specified, then a delta is applied to the window's original setting for that value; otherwise it is an absolute position. 'v' is cells or pixels based on the window definition.

Example

Placed in the window trigger and conditionally invokes different windows depending on the value in SAL.
{
if (SAL > 20000) window(CUT_SALARY,open|run|close);
else             window(RAISE_SALARY,open|run|close);
}