Back to Projects
TUIX v0.6Beta

Last Updated: 2026-08-14

Layout Container Widgets

Layout containers manage child buffer placement automatically through flex-like stacks (`Row`, `Column`), resizable splitters (`SplitPane`), and multi-track grids (`Grid`).

Row & Column Stack Layouts (`ROW`, `COLUMN`)

MethodDescription
objects.tuix_stack_add_object(obj_ptr, scene_name, builder_name, width_mod, height_mod) -> intCreates and attaches a new child widget into the stack container.
objects.tuix_stack_attach_child(obj_ptr, scene_name, child_uid) -> intAttaches an existing child widget UID to the stack.
objects.tuix_stack_set_gap(obj_ptr, gap: int) -> intSets cell spacing between adjacent children.
objects.tuix_stack_set_padding(obj_ptr, left, top, right, bottom) -> intSets inner padding margins.
objects.tuix_stack_set_justify(obj_ptr, justify: int) -> intSets main-axis justification (`START`, `CENTER`, `END`, `SPACE_BETWEEN`).
objects.tuix_stack_set_align(obj_ptr, align: int) -> intSets cross-axis alignment (`START`, `CENTER`, `END`, `STRETCH`).

SplitPane (`content_builder.SPLIT_PANE`)

MethodDescription
objects.tuix_splitpane_set_orientation(obj_ptr, orientation: int) -> intSets horizontal (`AXIS_HORIZONTAL`) or vertical (`AXIS_VERTICAL`) split divider orientation.
objects.tuix_splitpane_set_split_ratio(obj_ptr, ratio: float) -> intSets proportional split ratio (e.g. 0.35 for 35% / 65% split).
objects.tuix_splitpane_set_min_sizes(obj_ptr, first_min: int, second_min: int) -> intEnforces minimum cell dimensions on both panes.

Grid (`content_builder.GRID`)

MethodDescription
objects.tuix_grid_set_columns(obj_ptr, tracks: list[tuple[int, int]]) -> intConfigures column tracks with `GRID_TRACK_FIXED` (cell units) or `GRID_TRACK_WEIGHT` (fr units).
objects.tuix_grid_set_rows(obj_ptr, tracks: list[tuple[int, int]]) -> intConfigures row tracks.
objects.tuix_grid_set_gaps(obj_ptr, row_gap: int, col_gap: int) -> intSets cell spacing between grid tracks.