XmNleftWidget = world;
XmNtopAttachment = XmATTACH_FORM;
XmNbottomAttachment = XmATTACH_FORM;
XmNrightAttachment = XmATTACH_FORM;
};
callbacks {
XmNactivateCallback = procedure quit ("Goodbye!");
};
};
end module;
The overall structure of a UIL module is fairly simple. A module begins with a name, which is followed immediately
by a number of optional settings. The bulk of a module typically consists of one or more sections that describe the
user interface. This structure is depicted in the figure.
23.3.1 Starting and Ending a Module
Excluding blank lines and comments, every UIL module must begin with a module statement that names the module.
Essentially, the statement is a syntactic formality required by the UIL compiler. It consists of the string module
followed by a name of your choosing. The name has no special significance, but it must be a UIL identifier. (The
syntax of UIL identifiers is explained in Section #suilsyntax.) Our example begins with the following module
statement:
module hello_world
The name is usually the same as the module's filename without the .uil suffix. When choosing the name for a module,
keep in mind that the name cannot be reused to name anything else in the module, such as a variable or a widget. If
you should accidentally reuse the module name, the UIL compiler generates an error message.
Likewise, you must explicitly indicate the end of every UIL module with the following statement:
end module;
Like the module statement at the start of the module, this statement ...