LuaAPI/types/widget

From The Battle for Wesnoth Wiki
< LuaAPI‎ | types
Revision as of 21:14, 27 September 2020 by Gfgtdf (talk | contribs) (Created page with "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 prope...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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