LuaAPI/types/widget
From The Battle for Wesnoth Wiki
the 'widget' userdata offers access to a widget of a gui2 dialog, whiel there is only one type of widget userdata tha covers all widgets including the window itself, The properties of a widget userdataq are different for each widgets. Indexing a widgets userdata cen either be sued to
- Access a child widget
Example code ``` function preshow(dialog)
local okay_button = dialog.okay_button -- okay_button is now a handle to the the widgets child with the id 'okay_button'
end ```
- Set/Get a property of a widget
Some Properties are read-only, the propertied depends on the type of the widget, the follwing properties exist:
- selected get/set boolean, [toggle_button], [toggle_panel]:whether the item is selected or not
- selected_index, get/set integer, [listbox], [multi_page], [stacked_widget], selectable_item ([menu_button], [toggle_button], [toggle_panel]) :the selected index of the item.
- text, get/set string, [text_box]: the text of the textbox .
- value, get/set, integer [slider]: the value of the slider
- percentage, get/set, integer [progress_bar]
- selected_item_path, get array of integers [tree_view]: a table descibing the currently selected node. If for example in this treeview
+Section1 +Subsection11 *Item1 *Item2 *Item3 +Subsection12 *Item4 *Item5 *Item6 +Section2 +Subsection21 *Item7 *Item8 *Item9 +Subsection22 *Item10 *Item11 *Item12
Item 9 is selected the value will be {2,1,3}
- path, get array of integers [tree_view_node] table of integers, see selected_item_path
- unfolded, set boolean [tree_view_node]: whether a node of a treeview is unfolded or not
- unit, set unit or unit type userdata [unit_preview_pane]
- item_count, get integer [multi_page], [listbox]
- use_markup, set, boolean most widgets, in particular [label], [button]
- marked_up_text, set, string most widgets, in particular [label], [button]: a shortcut for settigns label with use_markup=true
- enabled, set boolean, all widgets
- tooltip, set string, all widgets
- visible, set string, all widgets
- label, set string, all widgets: the label, technically the is a special string used in the widgets wml definition, it usualyl does what one would expect but also sets the image for [image] widgets
- type, get string, all widgtes
the type of the widget
on_modified
"on_left_click
"on_button_click