`togglegroup()` creates a group of selectable toggle choices. Selection values are numeric indexes starting at `1`; `0` means no selection.
Creates a togglegroup object.
| Item | Description |
|---|---|
| Syntax | `togglegroup()` |
| Arguments | none |
| Returns | togglegroup object |
Example:
g = togglegroup().add('A').add('B').value(1);
Properties are read-only. Use methods to change GUI object state.
| Property | Type | Description |
|---|---|---|
| `position_x` | number | Current x position. |
| `position_y` | number | Current y position. |
| `size_width` | number | Current width. |
| `size_height` | number | Current height. |
| `visible` | boolean | Current visible state. |
| `enabled` | boolean | Current enabled state. |
| `value` | number | Current selected item index. `0` means no selection. |
| `count` | number | Number of choices. |
Returns a display string for the object.
| Item | Description |
|---|---|
| Syntax | `value.to_string()` |
| Arguments | none |
| Returns | string |
Example:
text = value.to_string();
`clone()` is not supported for `togglegroup`.
Most visible GUI controls support these methods.
Sets the component position in pixels.
| Item | Description |
|---|---|
| Syntax | `component.position(x, y)` |
| Arguments | `x`: x position; `y`: y position |
| Returns | component object |
Example:
label().position(20, 10);
Sets the component size in pixels. Width and height are clamped to at least `1`.
Some container objects, such as `panel()` and `group()`, use `size(-1, -1)` as a special fit-parent mode.
| Item | Description |
|---|---|
| Syntax | `component.size(width, height)` |
| Arguments | `width`: width in pixels; `height`: height in pixels |
| Returns | component object |
Example:
textinput().size(220, 26);
Shows or hides the component.
| Item | Description |
|---|---|
| Syntax | `component.visible(enabled)` |
| Arguments | `enabled`: boolean |
| Returns | component object |
Example:
status.visible(false);
Enables or disables user interaction with the component.
| Item | Description |
|---|---|
| Syntax | `component.enabled(enabled)` |
| Arguments | `enabled`: boolean |
| Returns | component object |
Example:
run_button.enabled(false);
Adds a choice. The new choice gets the next numeric index.
| Item | Description |
|---|---|
| Syntax | `togglegroup.add(text)` |
| Arguments | `text`: button text |
| Returns | togglegroup object |
Example:
g = togglegroup().add('A').add('B');
Adds a choice with explicit button width.
| Item | Description |
|---|---|
| Syntax | `togglegroup.add(text, width)` |
| Arguments | `text`: button text; `width`: button width in pixels |
| Returns | togglegroup object |
Example:
g = togglegroup().add('Millimeters', 110).add('Inches', 90);
Adds a choice with explicit button width and optional row break.
| Item | Description |
|---|---|
| Syntax | `togglegroup.add(text, width, newLine)` |
| Arguments | `text`: button text; `width`: button width in pixels; `newLine`: boolean row break flag |
| Returns | togglegroup object |
Example:
g = togglegroup() .add('Fast', 80) .add('Slow', 80, true);
Adds a choice with explicit button width, row break flag, and x offset.
| Item | Description |
|---|---|
| Syntax | `togglegroup.add(text, width, newLine, offset)` |
| Arguments | `text`: button text; `width`: button width in pixels; `newLine`: boolean row break flag; `offset`: x offset in pixels |
| Returns | togglegroup object |
Example:
g = togglegroup() .add('X', 60) .add('Y', 60, true, 20);
Sets selected item index. Index is clamped to `0..count`; `0` means no selection.
| Item | Description |
|---|---|
| Syntax | `togglegroup.value(index)` |
| Arguments | `index`: selected item index |
| Returns | togglegroup object |
Example:
g = togglegroup().add('A').add('B').value(2);
Sets a callback called when selection changes.
| Item | Description |
|---|---|
| Syntax | `togglegroup.on_change(callback)` |
| Arguments | `callback`: callable with one argument, the selected item index |
| Returns | togglegroup object |
Example:
function unit_changed(index) { print('unit index: ', index); } g = togglegroup().on_change(unit_changed);
Simulates selecting an item by 1-based index.
| Item | Description |
|---|---|
| Syntax | `togglegroup.click(index)` |
| Arguments | `index`: item index from `1` to `count` |
| Returns | togglegroup object |
Example:
g.click(1);
units = togglegroup() .position(20, 20) .size(220, 80) .add('Millimeters', 110) .add('Inches', 90) .value(1); window().title('Units').size(280, 140).add(units).show();
Previous: togglebutton
Next: textinput