TUIX v0.5Beta
Widget Dialog
Dialog je vestavěný modální UI widget ve v0.5. Může vlastnit tělo, připojovat child widgety, kreslit backdrop, zachytit focus přes modální stav scény a vystavit spotřebovatelný close-request příznak.
Vytvoření Dialogu
uid = objects.create_object(builders.DIALOG, 'Main', 0.7, 0.5, 0.2, 0.15)
dialog = objects.get_object_by_uid(uid)
objects.tuix_dialog_set_title(dialog, 'Confirm')
objects.tuix_dialog_set_body_size(dialog, 48, 12)
objects.tuix_dialog_set_padding(dialog, 2, 1, 2, 1)
objects.tuix_dialog_set_close_on_esc(dialog, True)
objects.tuix_dialog_set_close_on_backdrop(dialog, True)
objects.tuix_dialog_activate(dialog, 'Main')Child widgety
Child widgety v těle dialogu vytvářejte přes tuix_dialog_add_object(...) nebo připojte existující child UID. Děti dialogu se účastní stejné bufferové hierarchie a modálního routování vstupu.
button_uid = objects.tuix_dialog_add_object(dialog, 'Main', builders.BUTTON, 0.4, 0.12)
button = objects.get_object_by_uid(button_uid)
objects.tuix_button_set_label(button, 'OK')API funkce
| Funkce | Popis |
|---|---|
| tuix_dialog_attach_child(obj, scene_name, child_uid) | Připojí existující dítě. |
| tuix_dialog_detach_child(obj, scene_name, child_uid) | Odpojí dítě. |
| tuix_dialog_add_object(obj, scene_name, builder_name, width_mod, height_mod) | Vytvoří dítě v těle dialogu. |
| tuix_dialog_set_title(obj, title) | Nastaví titulek. |
| tuix_dialog_set_body_size(obj, width, height) | Nastaví velikost těla v buňkách terminálu. |
| tuix_dialog_set_padding(obj, left, top, right, bottom) | Nastaví padding těla. |
| tuix_dialog_set_close_on_esc(obj, enabled) | Povolí požadavek zavření na Escape. |
| tuix_dialog_set_close_on_backdrop(obj, enabled) | Povolí požadavek zavření při kliknutí na backdrop. |
| tuix_dialog_set_colors(obj, backdrop_r, backdrop_g, backdrop_b, border_r, border_g, border_b, body_r, body_g, body_b) | Nastaví barvy backdropu, okraje a těla. |
| tuix_dialog_activate(obj, scene_name) | Aktivuje modální stav. |
| tuix_dialog_deactivate(obj, scene_name) | Deaktivuje modální stav. |
| tuix_dialog_take_close_requested(obj) | Vrátí a spotřebuje close-request stav. |
Pattern zavření
while running:
engine.main_loop()
if objects.tuix_dialog_take_close_requested(dialog):
objects.tuix_dialog_deactivate(dialog, 'Main')
break