Difference between revisions of "LuaAPI/types/widget"
Line 13: | Line 13: | ||
=== widget attributes === | === widget attributes === | ||
− | |||
− | |||
==== selected ==== | ==== selected ==== | ||
− | |||
* '''w.selected = value''' | * '''w.selected = value''' | ||
* '''boolean''' | * '''boolean''' | ||
* '''get/set''' | * '''get/set''' | ||
* [toggle_button], [toggle_panel] | * [toggle_button], [toggle_panel] | ||
− | |||
whether the item is selected or not | whether the item is selected or not | ||
− | |||
− | |||
==== selected_index ==== | ==== selected_index ==== | ||
− | |||
* '''w.selected_index = value''' | * '''w.selected_index = value''' | ||
* '''number''' | * '''number''' | ||
* '''get/set''' | * '''get/set''' | ||
* [listbox], [multi_page], [stacked_widget], selectable_item ([menu_button], [toggle_button], [toggle_panel]) | * [listbox], [multi_page], [stacked_widget], selectable_item ([menu_button], [toggle_button], [toggle_panel]) | ||
− | |||
the selected index of the item | the selected index of the item | ||
− | |||
− | |||
==== text ==== | ==== text ==== | ||
− | |||
* '''w.text = value''' | * '''w.text = value''' | ||
* '''string''' | * '''string''' | ||
* '''get/set''' | * '''get/set''' | ||
* [text_box] | * [text_box] | ||
− | |||
the text of the textbox | the text of the textbox | ||
− | |||
==== value ==== | ==== value ==== | ||
− | |||
* '''w.value = value''' | * '''w.value = value''' | ||
* '''number''' | * '''number''' | ||
* '''get/set''' | * '''get/set''' | ||
* [slider] | * [slider] | ||
− | |||
− | |||
==== percentage ==== | ==== percentage ==== | ||
− | |||
* '''w.percentage = value''' | * '''w.percentage = value''' | ||
* '''number''' | * '''number''' | ||
* '''get/set''' | * '''get/set''' | ||
* [progress_bar] | * [progress_bar] | ||
− | |||
− | |||
==== selected_item_path ==== | ==== selected_item_path ==== | ||
− | |||
* '''value = w.selected_item_path''' | * '''value = w.selected_item_path''' | ||
* '''array of integers''' | * '''array of integers''' | ||
* '''get''' | * '''get''' | ||
* [slider] | * [slider] | ||
− | |||
a table descibing the currently selected node. If for example in this treeview | a table descibing the currently selected node. If for example in this treeview | ||
+Section1 | +Section1 | ||
Line 87: | Line 66: | ||
*Item12 | *Item12 | ||
Item 9 is selected the value will be {2,1,3} | Item 9 is selected the value will be {2,1,3} | ||
− | |||
==== path ==== | ==== path ==== | ||
− | |||
* '''value = w.path''' | * '''value = w.path''' | ||
* '''array of integers''' | * '''array of integers''' | ||
* '''get''' | * '''get''' | ||
* [tree_view_node] | * [tree_view_node] | ||
− | |||
See selected_item_path for the syntax. | See selected_item_path for the syntax. | ||
− | |||
− | |||
==== unfolded ==== | ==== unfolded ==== | ||
− | |||
* '''w.unfolded = value''' | * '''w.unfolded = value''' | ||
* '''boolean''' | * '''boolean''' | ||
* '''set''' | * '''set''' | ||
* [tree_view_node] | * [tree_view_node] | ||
− | |||
− | |||
==== unit ==== | ==== unit ==== | ||
− | |||
* '''w.unit = value''' | * '''w.unit = value''' | ||
* '''unit''' or '''unit type''' | * '''unit''' or '''unit type''' | ||
* '''set''' | * '''set''' | ||
* [unit_preview_pane] | * [unit_preview_pane] | ||
− | |||
− | |||
==== item_count ==== | ==== item_count ==== | ||
− | |||
* '''value = w.item_count''' | * '''value = w.item_count''' | ||
* '''number''' | * '''number''' | ||
* '''get''' | * '''get''' | ||
* [multi_page], [listbox] | * [multi_page], [listbox] | ||
− | |||
==== use_markup ==== | ==== use_markup ==== | ||
− | |||
* '''w.use_markup = value''' | * '''w.use_markup = value''' | ||
* '''boolean''' | * '''boolean''' | ||
* '''set''' | * '''set''' | ||
* most widgets, in particular [label], [button] | * most widgets, in particular [label], [button] | ||
− | |||
==== label ==== | ==== label ==== | ||
− | |||
* '''w.label = value''' | * '''w.label = value''' | ||
* '''string''' | * '''string''' | ||
* '''set''' | * '''set''' | ||
* most widgets, in particular [label], [button], [image] | * most widgets, in particular [label], [button], [image] | ||
− | |||
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 | 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 | ||
− | |||
==== marked_up_text ==== | ==== marked_up_text ==== | ||
− | |||
* '''w.marked_up_text = value''' | * '''w.marked_up_text = value''' | ||
* '''string''' | * '''string''' | ||
* '''set''' | * '''set''' | ||
* most widgets, in particular [label], [button] | * most widgets, in particular [label], [button] | ||
− | |||
shortcut for setting label and use_markup=yes | shortcut for setting label and use_markup=yes | ||
− | |||
− | |||
==== enabled ==== | ==== enabled ==== | ||
− | |||
* '''w.enabled = value''' | * '''w.enabled = value''' | ||
* '''boolean''' | * '''boolean''' | ||
* '''set''' | * '''set''' | ||
* all widgets | * all widgets | ||
− | |||
==== tooltip ==== | ==== tooltip ==== | ||
− | |||
* '''w.tooltip = value''' | * '''w.tooltip = value''' | ||
* '''string''' | * '''string''' | ||
* '''set''' | * '''set''' | ||
* all widgets | * all widgets | ||
− | |||
− | |||
==== visible ==== | ==== visible ==== | ||
− | |||
* '''w.visible = value''' | * '''w.visible = value''' | ||
* '''string''' | * '''string''' | ||
* '''set''' | * '''set''' | ||
* all widgets | * all widgets | ||
− | |||
The following visibility statuses are recognized: | The following visibility statuses are recognized: | ||
− | |||
{| clasS="wikitable" | {| clasS="wikitable" | ||
! String value !! Boolean shorthand !! Meaning | ! String value !! Boolean shorthand !! Meaning | ||
Line 180: | Line 129: | ||
| invisible || false || The widget is not visible, doesn't handle events, and does not take up space on the dialog grid. | | invisible || false || The widget is not visible, doesn't handle events, and does not take up space on the dialog grid. | ||
|} | |} | ||
− | |||
− | |||
==== type ==== | ==== type ==== | ||
− | |||
* '''value = w.type''' | * '''value = w.type''' | ||
* '''string''' | * '''string''' | ||
* '''get''' | * '''get''' | ||
* all widgets | * all widgets | ||
− | |||
− | |||
− | |||
=== widget callbacks === | === widget callbacks === | ||
− | |||
==== on_modified ==== | ==== on_modified ==== | ||
* '''function w.on_modified() .... end | * '''function w.on_modified() .... end | ||
* all widgets the allow the user to select a value of any type. | * all widgets the allow the user to select a value of any type. | ||
− | |||
==== on_left_click ==== | ==== on_left_click ==== | ||
* '''function w.on_left_click() .... end | * '''function w.on_left_click() .... end | ||
* all widgets | * all widgets | ||
− | |||
==== on_button_click ==== | ==== on_button_click ==== | ||
* '''function w.on_button_click() .... end | * '''function w.on_button_click() .... end | ||
* button type widgets | * button type widgets |
Revision as of 21:30, 27 September 2020
the 'widget' userdata offers access to a widget of a gui2 dialog, while there is only one type of widget userdata that covers all widgets including the window itself, The properties of a widget userdataq are different for each widgets. Indexing a widgets userdata can either be used 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 ``` or to
- Set/Get a property of a widget Some Properties are read-only, the propertied depends on the type of the widget, the following properties exist:
Contents
widget attributes
selected
- w.selected = value
- boolean
- get/set
- [toggle_button], [toggle_panel]
whether the item is selected or not
selected_index
- w.selected_index = value
- number
- get/set
- [listbox], [multi_page], [stacked_widget], selectable_item ([menu_button], [toggle_button], [toggle_panel])
the selected index of the item
text
- w.text = value
- string
- get/set
- [text_box]
the text of the textbox
value
- w.value = value
- number
- get/set
- [slider]
percentage
- w.percentage = value
- number
- get/set
- [progress_bar]
selected_item_path
- value = w.selected_item_path
- array of integers
- get
- [slider]
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
- value = w.path
- array of integers
- get
- [tree_view_node]
See selected_item_path for the syntax.
unfolded
- w.unfolded = value
- boolean
- set
- [tree_view_node]
unit
- w.unit = value
- unit or unit type
- set
- [unit_preview_pane]
item_count
- value = w.item_count
- number
- get
- [multi_page], [listbox]
use_markup
- w.use_markup = value
- boolean
- set
- most widgets, in particular [label], [button]
label
- w.label = value
- string
- set
- most widgets, in particular [label], [button], [image]
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
marked_up_text
- w.marked_up_text = value
- string
- set
- most widgets, in particular [label], [button]
shortcut for setting label and use_markup=yes
enabled
- w.enabled = value
- boolean
- set
- all widgets
tooltip
- w.tooltip = value
- string
- set
- all widgets
visible
- w.visible = value
- string
- set
- all widgets
The following visibility statuses are recognized:
String value | Boolean shorthand | Meaning |
---|---|---|
visible | true | The widget is visible and handles events. |
hidden | The widget is not visible, doesn't handle events, but still takes up space on the dialog grid. | |
invisible | false | The widget is not visible, doesn't handle events, and does not take up space on the dialog grid. |
type
- value = w.type
- string
- get
- all widgets
widget callbacks
on_modified
- function w.on_modified() .... end
- all widgets the allow the user to select a value of any type.
on_left_click
- function w.on_left_click() .... end
- all widgets
on_button_click
- function w.on_button_click() .... end
- button type widgets