Combining TTY and style attributes
TTY attributes can be specific to a form element or can be inherited by an element from a parent node (such as the form or window).
Specific element TTY attributes are directly set in the element node in the AUI tree; they can,
for example, be defined with the COLOR
attribute of form items. Inherited TTY attributes are taken from the
parent nodes of the leaf element to be displayed. For example, when a form is displayed with
DISPLAY FORM
followed by an ATTRIBUTE
clause containing TTY color,
font option and/or video attributes, all static labels will be displayed with the TTY attributes of
the form. Note that the form elements controlled by interactive instructions (i.e. form fields) will
explicitly get the TTY attributes defined by the ATTRIBUTE
clause of OPEN
WINDOW
, OPEN FORM
, DISPLAY TO / BY NAME
or the current
dialog statement, and must be considered specific TTY attributes for the element.
Specific TTY attributes defined for a form element have a higher priority than style attributes, while inherited TTY attributes (set on one of the parent elements) have a lower priority than style attributes defined for the element.
COLOR=BLUE
:LABEL lab01: TEXT="Field 1:", COLOR = BLUE, STYLE = "mystyle";
EDIT fld01 = FORMONLY.field01, COLOR = BLUE, STYLE = "mystyle";
LABEL lab02: TEXT="Field 2:", STYLE = "mystyle";
EDIT fld02 = FORMONLY.field02, STYLE = "mystyle";
ATTRIBUTES
clause
using a red color, and the fields are used by an INPUT
dialog,
with no ATTRIBUTES
clause, so the default
TTY attributes are gotten from the OPEN FORM
instruction:OPEN FORM f FROM "ttyform"
DISPLAY FORM f ATTRIBUTES(RED)
INPUT BY NAME field01, field02 WITHOUT DEFAULTS
<StyleList>
<Style name="Edit.mystyle">
<StyleAttribute name="textColor" value="green" />
</Style>
<Style name="Label.mystyle">
<StyleAttribute name="textColor" value="magenta" />
</Style>
</StyleList>
The text in the form field fld01 is displayed in blue (from
the specific COLOR
attribute), while fld02 is
displayed in red (the TTY attribute of the form, the style Edit.mystyle being
ignored).
Since labels are not used by the interactive instructions, lab01 is
displayed in blue (from the specific COLOR
attribute),
while lab02 is displayed in magenta (from the style Label.mystyle,
the form TTY attribute red being ignored).