# Terminology

Terminology

Widget | Basic element of dialog. In most cases a check box, radio button, text entry,... but also a more complex widget (called superwidget in this document).
Widgets description map | Map describing widgets used by CWM. Contains information in a fixed format, but developer can add additional keys according to his needs, their types and meaning are not specified in this document.
Superwidget | A group of widgets, that build one entity, one without the other one doesn't make too much sense. Simple case can be eg. a widget, which consists of multiple radio buttons, one radio button group, and typically also a frame.
Table | Special superwidget, is to see eg. in the YaST2 bootloader module. Consists from the Table (in meaning of `Table basic widget), 3 push buttons (Add, Edit, Delete) bottom left, a replace point bottom right, and optionally Up and Down buttons right from the table.
Table option | One line in the table, representing some kind of information.
Option id | Identifier of an option. Must be unique in the whole table.
Option key | Identifier of the option type. Handlers are related to the option key. Multiple options with the same option key can be present in one table. CWM must know how to translate option id to option key.
Options description map | Map describing options of one table. Contains information in a fixed format, but developer can add additional keys according to his needs, their types and meaning are not specified in this document.
Popup | A popup that is shown when user clicks the Edit button when some table option is selected. Is used to edit the value of the table option.
Handler | Callback function used by CWM module to make a well defined operation on the widget. Handlers can be sorted according to operation they handle, and according to entity it is related to.
Widget handler | Handler related to a widget in a dialog. "init", "store", "handle" and "validate" handlers are possible for the dialog widgets.
Table handler | Widget handler for the Table superwidget. Additionally, the "option_delete" handler is defined to delete the options from the table.
Option handler | Handler of an option in the table. Using this handler it is possible to change the default behavior of the option (displaying a popup). Only "handle" and "summary" handlers are possible for table options
Popup handler | Handler related to a popup. "init", "store", "handle" and "validate" handlers are possible for the popups.
"init" handler | Used to initialize the widget, typically to fetch settings from some structures, and set appropriate value to the widget.
"store" handler | Used to store the settings of the widget. Typically gets the state of the widget, and stores it to some internal variables.
"handle" handler | Used to handle events on the widgets. Is called every time the UI::UserInput () returns, if the widgets wants to handle this event.
"validate_function" handler | Called before the widget settings are store, to ensure that the settings are consistent. Used if validation by function is set for the widget.