TUIX v0.5Beta
Viewport widgety
v0.5 povyšuje scrollovatelné widgety a widgety s content-space na plnohodnotné vlastníky viewportu. Kompozitor, hitmapa, geometry resolver a input router rozumí viewport offsetům a clippingu.
ScrollContainer
ScrollContainer vlastní virtuální velikost obsahu a offset. Můžete připojit existující děti, vytvářet děti jako běžné proporcionální objekty nebo umisťovat děti na souřadnice prostoru obsahu.
uid = objects.create_object(builders.SCROLL_CONTAINER, 'Main', 0.6, 0.5, 0.15, 0.2)
scroll = objects.get_object_by_uid(uid)
objects.tuix_scroll_container_set_title(scroll, 'Logs')
objects.tuix_scroll_container_set_content_size(scroll, 120, 200)
objects.tuix_scroll_container_set_offset(scroll, 0, 20)
child_uid = objects.tuix_scroll_container_add_object_at(
scroll, 'Main', builders.TEXT,
content_x=2, content_y=25, content_w=40, content_h=1,
)| Funkce | Účel |
|---|---|
| tuix_scroll_container_is_viewport(obj) | Vrátí, zda widget funguje jako viewport. |
| tuix_scroll_container_get_viewport_offset(obj) | Vrátí (offset_x, offset_y). |
| tuix_scroll_container_get_viewport_insets(obj) | Vrátí viewport insets. |
| tuix_scroll_container_set_content_size(obj, width, height) | Nastaví virtuální velikost obsahu. |
| tuix_scroll_container_set_offset(obj, offset_x, offset_y) | Nastaví scroll offset. |
| tuix_scroll_container_add_object_at(...) | Vytvoří dítě na content souřadnicích. |
Checkbox
uid = objects.create_object(builders.CHECKBOX, 'Main', 0.3, 0.06, 0.1, 0.1)
box = objects.get_object_by_uid(uid)
objects.tuix_checkbox_set_label(box, 'Enable cache')
objects.tuix_checkbox_set_checked(box, True)
if objects.tuix_checkbox_take_changed(box):
enabled = bool(objects.tuix_checkbox_get_checked(box))ListView
uid = objects.create_object(builders.LISTVIEW, 'Main', 0.4, 0.4, 0.15, 0.1)
listview = objects.get_object_by_uid(uid)
objects.tuix_listview_set_title(listview, 'Items')
objects.tuix_listview_set_items(listview, ['Alpha', 'Beta', 'Gamma'])
objects.tuix_listview_set_selected(listview, 1)
selected = objects.tuix_listview_get_selected(listview)
activated = objects.tuix_listview_take_activated(listview)TextArea
uid = objects.create_object(builders.TEXTAREA, 'Main', 0.55, 0.35, 0.5, 0.1)
area = objects.get_object_by_uid(uid)
objects.tuix_textarea_set_title(area, 'Notes')
objects.tuix_textarea_set_placeholder(area, 'Type here...')
objects.tuix_textarea_set_text(area, 'Line one
Line two')
text = objects.tuix_textarea_get_text(area)
objects.tuix_textarea_set_readonly(area, False)