
specifies a list of UIL identifiers and global widget pointers. The application registers these identifiers with Mrm, so
they are available in the UIL modules for use as callback arguments. Each identifier is prefixed with w_, so that the
name does not conflict with the actual widget name defined in the UIL module. The identifiers are declared in
identifiers.uih, which is included by editor.uil.
26.2.2 Callbacks
The editor_uil application registers its callbacks with Mrm by calling MrmRegisterNames() with the
callbacks_list array. As with identifiers, you must declare any exported callbacks that you use in a UIL
module. We use the convention of placing these declarations in a file named procedures.uih, which is included by all
of our UIL modules.
The application uses a single callback for each PulldownMenu. The client_data argument to each callback
specifies the action that the callback should perform. The procedures.uih file contains the callback declarations, as
well as value definitions for the callback arguments. These values are defined with the same values used in the
application, so if any changes are made to the values in the application program, the UIL definitions must be updated
as well.
Most of the callbacks in our application are the same as in the original. Only the file_cb() callback has been
changed; it now includes code that creates part of the user interface, namely the FileSelectionDialogs. ...