Widgety
Widgety jsou nativní buildry plus stav konkrétního objektu. Python vytváří objekty a volá typované setter/getter API; C builder vlastní per-frame zpracování událostí, layout, resize a generování pixelů.
Systém builderů
Po engine.init() zavolejte builders.register_standard(), abyste zaregistrovali všechny vestavěné buildry. Konstanty builderů jsou bytes odpovídající nativním názvům builderů, například builders.TEXT nebo builders.GRID.
Vytvoření widgetu
uid = objects.create_object(
builders.BUTTON,
'Main',
0.25, 0.08, # width_mod, height_mod
0.1, 0.1 # margin_top_mod, margin_left_mod
)
button = objects.get_object_by_uid(uid)
objects.tuix_button_set_label(button, 'Run')Proporcionální geometrie
U běžných objektů jsou width_mod, height_mod, margin_top_mod a margin_left_mod zlomky velikosti terminálu. U layout dětí mohou parent buildry přepsat finální obdélníky pomocí layout slotů, grid placementu a layout rect API.
Kategorie widgetů
| Kategorie | Buildry | Poznámky |
|---|---|---|
| Basic display | TEXT, BOX, DIVIDER, BADGE, TAG, STATUS | Štítky, rámy, oddělovače a jednoduchý stylovaný text. |
| Interactive controls | BUTTON, CHOICE, INPUT, CHECKBOX, MENU | Widgety s podporou klávesnice a myši a query/take API pro stav. |
| Drawing | CANVAS | API pro ruční kreslení pixelů a primitiv. |
| Viewport widgets | SCROLL_CONTAINER, LISTVIEW, TEXTAREA | Widgety vlastnící scroll offsety, velikost obsahu a clipping. |
| Layout parents | ROW, COLUMN, SPLITPANE, GRID | Nativní kontejnery, které umisťují child buffery. |
| Modal UI | DIALOG | Tělo dialogu, backdrop, zachycení fokusu a stav požadavku na zavření. |
Zpracování vstupu
Vestavěné interaktivní widgety obsluhuje frame loop. Kompatibilní feed_input funkce stále existují pro starší kód, ale běžné v0.5 použití spustí input.listen(), podle potřeby nastaví focus a volá engine.main_loop().
Snapshoty
Pro read-only inspekci používejte buffers.get_buffer_snapshot(...), buffers.get_buffer_snapshot_by_uid(...) a objects.get_object_snapshot_by_uid(...). Pro diagnostiku nespoléhejte na raw nativní ukazatele.