Module: reefvision.widgets.radio
Source: ./reefvision/widgets/radio.reef
Overview
reefvision.widgets.radio — exclusive radio group "(*) label" / "( ) label"
object RadioGroup extends view.View. One view, options inside (not N Radio siblings). Keyboard: Up/Down/Home/End. Mouse: click a row. wants_focus true. Insertion is Group.add.
Usage: let rg = new radio.RadioGroup(cell.rect(1, 6, 38, 4), 8) let _ = rg.add_option("WaveOS (amd64)") win.add(rg)
Objects
RadioGroup
Extends: view.View
Fields:
| Name | Type |
|---|---|
labels |
[string] |
capacity |
int |
count |
int |
selected |
int |
proc init(bounds: cell.Rect, capacity: int)
Methods:
override shared fn wants_focus(): bool
shared fn label(idx: int): option.Option[string]
The label at idx, or None if there is no such option. C16 / ROADMAP
8.2b: "" out of range was indistinguishable from a genuinely empty label.
shared fn label_or(idx: int, fallback: string): string
exclusive fn add_option(text: string): bool
exclusive proc set_selected(idx: int)
override exclusive proc draw(buf: cell.CellBuffer, abs: cell.Rect, clip: cell.Rect, focused: bool, th: theme.Theme)
override exclusive fn handle_event(e: event.Event): view.EventResult
exclusive fn click_at(abs_bounds: cell.Rect, x: int, y: int): bool
Click row relative to abs_bounds.y. Group/Window deliver mouse in the same space as self.bounds (parent-relative / client-relative).
Functions
fn max_opts(): int
Generated by reefc doc