STACK container

The STACK container holds stack items defining a logical alignment of form items.

Important:

This feature is experimental, the syntax/name and semantics/behavior may change in a future version.

Syntax

STACK
  { scalable-item
  | container-list
  }
END
where container-list is:
grouping-item 
   leaf-item
   [...]
END
[...]
  1. scalable-item is a leaf element of the stacked layout, for widgets with a scalable width and height.
  2. grouping-item is a stacked layout grouping element that holds a list of leaf-items.
  3. leaf-item is a leaf element of the stacked layout, for widgets with a fixed size (non-scalable).

Can hold

Scalable stack items: IMAGE, TEXTEDIT, WEBCOMPONENT.

or:

Grouping stack items: FOLDER, GROUP, TABLE.

Usage

The STACK container is used to define a stack-based layout.

Note: Unlike grid-based containers (GRID) where element definition is split in the LAYOUT and ATTRIBUTES sections, the items in a STACK container define both the position and attributes.

The STACK container must appear immediately after the LAYOUT keyword.

The STACK container typically defines a list of elements (such as GROUP, FOLDER, TABLE), grouping leaf stack items (such as form fields) together:
LAYOUT
 STACK
  GROUP custinfo (TEXT="Customer info")
    EDIT customer.cust_num, TITLE="Num:", NOENTRY;
    EDIT customer.cust_name, TITLE="Name:", SCROLL;
    ...
  END
  TABLE cust_orders (STYLE="compact_list", DOUBLECLICK=select)
    LABEL orders.ord_num, TITLE="Num";
    LABEL orders.ord_ship, TITLE="Ship date";
    LABEL orders.ord_value, TITLE="Value";
    ...
  END
  ...
 END
END

A stack container can also define a single scalable stack item, such as an IMAGE, TEXTEDIT, or WEBCOMPONENT:

STACK
  IMAGE FORMONLY.picture;
END