top−level widget to the application. The top−level widget is the one that you name in the MrmFetchWidget() or
MrmFetchWidgetOverride() function call. Remember that Mrm does not manage this widget, so an application
must explicitly call XtManageChild() on the widget. Although the widget creation process is rather involved, all
you really need is a general understanding of the process. If you encounter problems with Mrm widget creation, you
can return to this section to brush up on the details.
25.3 Defining and Fetching Values
UIL supports over 20 different data types, which gives you the ability to specify values for nearly every Motif
resource. In addition, most types of values can be passed as the client_data argument to your callbacks or
retrieved on demand from a UID file by Mrm. Each of the types has its own syntax so that the UIL compiler can
distinguish between them. But before we describe the syntax of each value, we need to look at defining symbolic
variables and retrieving variables at run−time using Mrm.
Variables provide a convenient and descriptive way to refer to values. Variables are defined in a value section of a
UIL module. This section begins with the keyword value and consists of one or more variable definitions. Most
value sections define variables for familiar values like integers and strings, as shown in the following fragment:
value
spacing : 10;
warning : "Aviso";
A value definition consists of an identifier followed by a colon, the value assigned to the identifier, ...