ruis uses concept of Widgets for structuring the Graphical User Interface (GUI).
Common element of the GUI is called Widget (window + gadget = widget). Basically, GUI is a hierarchy of widgets. Simple widget represents a rectangular area on the screen, it can receive user input from mouse and keyboard. There is a Container widget, this is a widget which can contain child widgets. It manages positions of its child widgets, dispatches user input to child widgets and renders them to screen. Each child Widget have pointer to its parent Container widget. Container, in turn, is a Widget itself. Root widget of the hierarchy does not have parent Container.
The hierarchy of widgets can be described in GUI description scripts using tml, a simple markup language. The hierarchy of widget objects can be "inflated" from those GUI scripts.