Each message string is explicitly defined as a compound_string in the UIL module. The UIL compiler only
converts a NULL−terminated string to a compound_string when it is assigned to an XmString resource.
25.3.3 Numeric Values
UIL supports several numeric value types, specifically integers, booleans, floating point values, and integer arrays. In
addition, UIL understands C−like numeric expressions and lets you explicitly convert numeric values from one type to
another. Let's begin by looking at UIL integer values. The following fragment illustrates how you can define integer
variables and set widget resources to integer values:
value
spacing : 5;
font_size : exported −2;
object rc : XmRowColumn {
arguments {
XmNmarginWidth = 3;
XmNspacing = spacing;
};
};
Unlike in C, the boolean type is built into UIL. You represent boolean values with the the reserved keywords
true, false, on and off, as shown in the following code fragment:
value
alive : true;
debug : exported true;
object button : XmPushButton {
arguments {
XmNwidth = 100;
XmNrecomputeSize = false;
XmNsensitive = alive;
XmNtraversalOn = off;
};
};
The keywords true and on both represent true values, while false and off are both false values.
Although none of the Motif widgets use floating point resources, UIL provides support for floating point values.
Floating point values must contain a decimal point so that the UIL compiler can distinguish them from integers. The
following code fragment shows a value section that defines several floating ...