Following the .DEFINE verbs should be a .PANEL verb that signals
the start of the panel layout. This verb must also start at column
one and be capitalized. The lines in the panel definition should be
specified in the same positions that you want them displayed. All text entered after the panel verb is significant to the panel
generator, including blank lines, and therefore comment lines are
not allowed. The first character has to be a protect/skip or unprotect
control character. The panel definition ends at the end of file or
the next .PANEL verb starting in column one. Only one panel definition
per file is supported.
The panel layout is close to what you see, with the exception of
the control characters and the imbedded variables which are not shown
when the panel is displayed. A field typed on the third line after
the .PANEL starting at column ten is positioned on the terminal screen
third line, column ten.
The characteristics of the .PANEL verb follow.
- It must start in the first column, followed by a space, and capitalized.
- It must have a panel name on the same line as .PANEL, unless it
is an end of panel indicator.
- It must have at least one field and the first character following
the .PANEL line has to be a protect, skip, or unprotect control character.
- The field ends at the start of the next field unless an explicit
input field length is being used. An empty field can be used to terminate
a field.
- To use a control character as a regular displayable character,
type two consecutive control characters. To display two consecutive
control characters, type four consecutive control characters. For
each pair of control characters that get displayed as one character,
the subsequent text in the field will be displayed one position to
the left, except if there are 7 or more consecutive spaces following
the pair of control characters.
- The protect/skip field can have any number of variables or text
that will fit in that field. A variable in a protected field has
area available for substitution, starts at the variable identifier
control character, and ends just before the next control character
or text.
- Space is not allowed between a variable identifier control character
and the variable name. A space causes the variable name to be interpreted
as plain text.
- The unprotect field can have only one associated variable.
- The unprotected field can have a number explicitly stating the
field length. The number must be between the unprotect and variable
control characters. When the explicit field length is used, a field
does not need termination. If an explicit length field is the last
field of a line then a terminating field is created with a skip attribute
to force a field end.
- When an explicit input field length is used, all of the following
field's column positions are adjusted left or right to force proper
alignment, so the explicit length field and the field immediately
after abut each other. Other fields on that line keep its spacing
intact. This alignment only affects that one line, the fields on the
next line are unaffected. For example, a line has 5 fields with the
1st and 4th fields having explicit length and spacing. Between fields
1 and 2 is 4, between 2 and 3 is 5, between 3 and 4 is 6, and between
4 and 5 is 7. When this line is displayed, field 2 starts right after
field 1 (no space), separation between fields 2 and 3 is still 5,
separation between fields 3 and 4 is still 6, and field 5 follows
right after field 4 (no space). If the explicit length causes the
current field or subsequent fields to overflow into the next field,
an error is returned when the panel is displayed.
- When a field does not terminate on the same line (for example,
field spans lines), the field length varies with the width of the
screen on which the panel is being displayed. Also, if the last field
has no terminator, that field wraps the screen until the first field
start is encountered.
- Only the fields containing a variable can have its attributes
dynamically changed during panel output.
- If a protect/skip field is dynamically changed to an unprotected
field, only the first variable in the field has the operator input
assigned to it. All of the contents of the input field are assigned.
- The panel source file must reside in the REXX File System before
it can be processed into the intermediate file (panel object) used
by the runtime panel facility.