25 Creating a User Interface With UIL
This chapter expands upon the overview of UIL and Mrm presented earlier. The syntax and usage of UIL are
described in detail, along with the Mrm functions associated with the various UIL constructs.
Now that you have a basic understanding of how UIL and Mrm are used to define and create a user interface, we can
turn to the details of using UIL and Mrm. Recall that a UIL module can contain five different types of sections: the
object section for defining widgets; the value section for defining resource values and callback arguments; the
identifier section for declaring application variables exported to UIL; the procedure section for declaring
callbacks; and the list section for defining lists of widgets, resource settings, callback settings, and callback
routines.
An application accesses UIL definitions using the Mrm library. Mrm functions serve three basic purposes: file
handling, importing information from UIL, and exporting information to UIL. Examples of each of these types of
functionality appear in the hello_world.c program in Chapter 22, Introduction to UIL. The functions that import
information create widgets that are defined in object sections and retrieve data that is defined in value sections.
The functions that export information register callbacks that are declared in procedure sections and application
data that is declared in identifier sections. There are no Mrm functions that work with UIL lists, because unlike
other UIL entities, lists ...