UIL also supports the private storage specifier. This specifier allows you to restrict the use of a widget definition to
the module in which it occurs. The static storage class specifier in C has the same effect on C functions and
variables. As of Motif 1.2, however, widgets defined as private can still be accessed from other modules. Although
the private storage specifier is rarely used, you can specify it if you want to protect access to private widgets
(assuming the problem will be fixed), or if you want to explicitly indicate that a widget should not be referenced
elsewhere.
25.2.3 The Widget Creation Process
Now that you know how to define widgets in a UIL module, we can take a closer look at how to create widgets at
run−time using MrmFetchWidget(). In Chapter 22, Introduction to UIL, we showed you the basics of using
MrmFetchWidget() to create a widget or a widget hierarchy. As a reminder, this function takes the following
form:
Cardinal
MrmFetchWidget(hierarchy, widget_name, parent, widget_return,
class_return)
MrmHierarchy hierarchy;
String widget_name;
Widget parent;
Widget *widget_return;
MrmType *class_return;
The hierarchy argument is an MrmHierarchy that has been opened with
MrmOpenHierarchyPerDisplay(). The widget_name parameter is the name of the widget to fetch. The
parent argument is the parent of the widget that is to be created. On success, widget_return contains the
widget ID of the widget and class_return contains the internal UIL class code for the widget.
You can also ...