Definition: |
include pGUI.e
Ihandle ih = IupHbox(Ihandles children={}, string attributes="", sequence data={}) |
Description: |
Creates a void container for composing elements horizontally. It is a box that arranges the elements it contains from left to right.
children: list of the elements that will be placed in the box. It can be empty. For more information on the attributes and data parameters see IupSetAttributes. It does not have a native representation. Returns: the identifier of the created element. |
Notes: |
The box can be created with no elements and filled dynamically using IupAppend() or IupInsert().
The box will NOT expand its children, it will allow its children to expand according to the space left in the box parent. So for the expansion to occur, the children must be expandable with EXPAND!=NO, and there must be room in the box parent. When translating C code, note that internally Phix only uses the C function IupHboxv, which accepts a single null-terminated list, and does not use the variable-parameter C IupHbox function. It is perfectly legal (in Phix) to specify an empty list ({}) for the children parameter, but not NULL. Also note that C code requires a trailing NULL, whereas in pGUI it makes no difference whether one is present or not. |
Attributes: | |
ALIGNMENT | (non inheritable) Vertically aligns the elements. Possible values: "ATOP", "ACENTER", "ABOTTOM". Default: "ATOP". |
EXPAND | (non inheritable) The default value is "YES". See the documentation of the attribute for EXPAND inheritance. |
EXPANDCHILDREN | (non inheritable) forces all children to expand vertically and to fully occupy its space available inside the box. Default: "NO". This has the same effect as setting EXPAND=VERTICAL on each child. (since 3.0) |
GAP, CGAP | Defines a horizontal space in pixels between the children, CGAP is in the same units of the SIZE attribute for the width. Default: "0". (CGAP since 3.0) |
NGAP, NCGAP | (non inheritable) Same as GAP but are non inheritable. (since 3.0) |
HOMOGENEOUS | (non inheritable) forces all children to get equal horizontal space. The space width will be based on the largest child. Default: "NO". Notice that this does not changes the children size, only the available space for each one of them to expand. (since 3.0) |
MARGIN, CMARGIN | Defines a margin in pixels, CMARGIN is in the same units of the SIZE attribute. Its value has the format "widthxheight", where width and height are integer values corresponding to the horizontal and vertical margins, respectively. Default: "0x0" (no margin). (CMARGIN since 3.0) |
NMARGIN, NCMARGIN | (non inheritable) Same as MARGIN but are non inheritable. (since 3.0) |
NORMALIZESIZE | (non inheritable) normalizes all children natural size to be the biggest natural size among them. All natural width will be set to the biggest width, and all natural height will be set to the biggest height according to is value. Can be NO, HORIZONTAL, VERTICAL or BOTH. Default: "NO". Same as using IupNormalizer. (since 3.0) |
SIZE / RASTERSIZE | (non inheritable) Defines the width of the box. When consulted behaves as the standard SIZE/RASTERSIZE attributes. The standard format "wxh" can also be used, but height will be ignored (since 3.3). |
WID | (read-only) returns -1 if mapped. |
also | FONT, POSITION, CLIENTSIZE, CLIENTOFFSET, MINSIZE, MAXSIZE: also accepted. |
Attributes: | (at Children) |
EXPANDWEIGHT | (non inheritable) (at children only) If a child defines the expand weight, then it is used to multiply the free space used for expansion. (since 3.1) |
FLOATING | (non inheritable) (at children only) If a child has FLOATING=YES then its size and position will be ignored by the layout processing. Default: "NO". (since 3.0) |
See Also: | IupVbox, IupZbox |