MrmRegisterNamesInHierarchy(library call)
NAME
MrmRegisterNamesInHierarchy -- Registers the values associated with
the names referenced in UIL within a single hierarchy (for example,
UIL callback function names or UIL identifier names)
SYNOPSIS
#include <Mrm/MrmPublic.h>
Cardinal MrmRegisterNamesInHierarchy(
MrmHierarchy hierarchy_id,
MrmRegisterArglist register_list,
MrmCount register_count);
DESCRIPTION
The
MrmRegisterNamesInHierarchy function registers a vector of names
and associated values for access in MRM. The values can be callback
functions, pointers to user-defined data, or any other values. The
information provided is used to resolve symbolic references occurring
in UID files to their run-time values. For callbacks, this
information provides the procedure address required by the Motif
Toolkit. For names used as identifiers in UIL, this information
provides any run-time mapping the application needs.
This function is similar to
MrmRegisterNames, except that the scope
of the names registered by
MrmRegisterNamesInHierarchy is limited to
the hierarchy specified by
hierarchy_id, whereas the names registered
by
MrmRegisterNames have global scope. When MRM looks up a name, it
first tries to find the name among those registered for the given
hierarchy. If that lookup fails, it tries to find the name among
those registered globally.
hierarchy_id Specifies the hierarchy with which the names are to be
associated.
register_list Specifies a list of name/value pairs for the names to be
registered. Each name is a case-sensitive, NULL-terminated
ASCII string. Each value is a 32-bit quantity, interpreted
as a procedure address if the name is a callback function,
and uninterpreted otherwise.
register_count Specifies the number of entries in
register_list.
The names in the list are case-sensitive. The list can be either
ordered or unordered.
Callback functions registered through
MrmRegisterNamesInHierarchy can
be either regular or creation callbacks. Regular callbacks have
declarations determined by Motif Toolkit and user requirements.
Creation callbacks have the same format as any other callback:
void CallBackProc(
Widget *widget_id,
Opaque tag,
XmAnyCallbackStruct *callback_data);
widget_id Specifies the widget ID associated with the widget
performing the callback (as in any callback function).
tag Specifies the tag value (as in any callback function).
callback_data Specifies a widget-specific data structure. This data
structure has a minimum of two members: event and reason.
The reason member is always set to
MrmCR_CREATE.
Note that the widget name and parent are available from the widget
record accessible through
widget_id.
RETURN
This function returns one of the following status return constants:
MrmSUCCESS The function executed successfully.
MrmFAILURE The function failed.
MrmRegisterNamesInHierarchy(library call)