Button:

Buttons are the most versatile controls in the GUI engine. The following button types exist: checkbox, radiobutton and normal button.
Checkboxes of the same type are cummulative, and usually hold a bit value.
Radiobuttons of the same type are mutually exclusive.
Normal buttons are similar to radiobuttons, but they are not affecting each other.

Progressbar:

This control has no equivalent in the original Infinity Engine. It provides a graphical output of a numeric value, currently used only in LoadScreen.


Slider:

A slider is used for limited numeric input.


Edit:

This is a text input field. It has a configurable maximum input length.


TextArea:

Textareas are used in two ways: massive text output, it could be colour coded. Textareas are also used to simulate list controls where you could select a line and receive the row number of the selected item. It is also possible to assign a specific value to each row.


Label:

A label is simply a static text control, but it defines a few mouse events. Not so complex as a button.


Scrollbar:

A scrollbar is mostly used in connection with a Textarea, but it could be used differently. (See GUILOAD as an example).


Worldmap:

This control has a button type placeholder in the original user interface files.
 The current GemRB chui loader can't handle this type, so you must create it via a CreateWorldMapControl command.


Map:

This control has a button type placeholder in the original user interface files. The current GemRB chui loader can't handle this type, so you must create it via a CreateMapControl command.


Game:

This control has no equivalent in the original user interface files. It covers the main game area where the actors are placed. The engine enforces that the game control is always the first control of the first window. To achieve this, it will close all windows when entering the game.

