Zpět na projekty
TUIX v0.2.1Beta

Naposledy aktualizováno: 2026-05-20

API sestavovačů

Modul builders (tuix.core.builders) poskytuje konstanty pro čtyři vestavěné typy widgetů a funkci pro jejich registraci v enginu.

builders.register_standard()

from tuix.core import builders

result = builders.register_standard()

Zaregistruje všechny čtyři vestavěné sestavovače widgetů v enginu. Musí být voláno po engine.init() a před vytvořením jakýchkoli widgetů.

Návratová hodnotaPopis
int0 při úspěchu, -1 při neúspěchu

Konstanty sestavovačů

Tyto bajtové řetězce určují typy widgetů při volání objects.create_object():

KonstantaHodnotaTyp widgetu
builders.CANVASb"CanvasBuilder"Volná kreslicí plocha s kontrolou na úrovni pixelů
builders.CHOICEb"ChoiceBuilder"Výběrové menu ovládané klávesnicí
builders.INPUTb"InputBuilder"Jednořádkový textový vstup s kurzorem
builders.PROGRESSBARb"ProgressBarBuilder"Animovaný indikátor průběhu s přizpůsobitelným stylem

Použití

from tuix.core import builders, objects

# Create one of each widget type
progressbar_uid = objects.create_object(builders.PROGRESSBAR, b"main", 0.5, 0.1, 0.0, 0.25)
choice_uid      = objects.create_object(builders.CHOICE,      b"main", 0.4, 0.5, 0.2, 0.3)
input_uid       = objects.create_object(builders.INPUT,       b"main", 0.4, 0.1, 0.8, 0.3)
canvas_uid      = objects.create_object(builders.CANVAS,      b"main", 1.0, 1.0, 0.0, 0.0)

Vnitřnosti sestavovačů

Každý sestavovač je C struktura (TuixBuilder) s metadaty a pěti ukazateli na callbacky:

CallbackÚčel
create_stateAlokuje a inicializuje stav widgetu
destroy_stateUvolní stav widgetu
handler_funcLogika aktualizace v každém snímku (subcycle handler)
build_contentVykreslí stav widgetu do pixelového bufferu
on_resizeVolitelné: volá se při změně rozměrů terminálu

Sestavovače se vyhledávají podle jména lineárním průchodem (tuix_get_builder_by_name). Při pouhých čtyřech vestavěných sestavovačích je to prakticky O(1).