XtGetSubvalues() XtGetSubvalues()
Name
XtGetSubvalues - copy resource values from a subpart data structure to an argument list.
Synopsis
void XtGetSubvalues(base, resources, num_resources, args, num_args)
XtPointer base;
XtResourceList resources;
Cardinal num_resources;
ArgList args;
Cardinal num_args;
Inputs
base Specifies the base address of the subpart data structure for which the resources should be retrieved.
resources Specifies the subpart resource list.
num_resources
Specifies the number of resources in the resource list.
args Specifies an array of name/address pairs that contain the resource names and the addresses into which the resource values are to
be stored.
num_args Specifies the number of arguments in the argument list.
Description
For each argument in args, XtGetSubvalues() uses the argument name field to look up the resource in resources, and uses the information in
that resource structure to copy the resource value from the subpart structure pointed to by base to the location specified by the argument
value field.
If the argument list contains a resource name that is not found in the resources, the memory pointed to by the argument value field will
not be modified.
The value field of each element in args must contain the address into which to store the corresponding resource value. It is the caller's
responsibility ensure that there is enough memory at the given location for the requested resource, and to free this memory if it was
dynamically allocated.
See XtGetApplicationResources() for a description of the various fields of a XtResource structure and an example of initializing an XtRe-
sourceList.
Usage
XtGetSubvalues() is normally called in the get_values_hook() method of a widget with a subpart in order to get the values of requested sub-
part resources that cannot be automatically fetched by the widget. See XtSetSubvalues() for more information.
Note that an application cannot call XtGetSubvalues() for a widget because it does not have access to a widget's subpart resource list.
To set a widget's subpart resource values, see XtSetSubvalues().
See XtGetSubresources() for more explanation of subpart resources.
To get subpart resource values using a variable-length argument list rather than a single ArgList array, use XtVaGetSubvalues().
Structures
XtResource is defined as follows:
typedef struct _XtResource {
String resource_name; /* Resource name */
String resource_class; /* Resource class */
String resource_type; /* Representation type desired */
Cardinal resource_size; /* Size in bytes of representation */
Cardinal resource_offset;/* Offset from base to put resource value */
String default_type; /* Representation type of specified default */
XtPointer default_addr; /* Address of resource default value */
} XtResource, XtResourceList;
See XtGetApplicationResources() for an explanation of the fields of this structure.
An Arg is defined as follows:
typedef struct {
String name;
XtArgVal value;
} Arg, *ArgList;
See Also
XtGetSubresources(1), XtVaGetSubvalues(1),
get_values_hook(4).
Xt - Resource Management XtGetSubvalues()