XmGetSecondaryResourceData(3X)XmGetSecondaryResourceData(3X)NAMEXmGetSecondaryResourceData - A function that provides access to sec‐
ondary widget resource data
SYNOPSIS
#include <Xm/Xm.h>
Cardinal XmGetSecondaryResourceData (widget_class, sec‐
ondary_data_return)
WidgetClass widget_class;
XmSecondaryResourceData **secondary_data_return;
DESCRIPTION
Some Motif widget classes (such as Gadget, Text, and VendorShell) have
resources that are not accessible via the functions XtGetResourceList
and XtGetConstraintResourceList. To retrieve the descriptions of these
resources, an application must use XmGetSecondaryResourceData.
When a widget class has such resources, this function provides descrip‐
tions of the resources in one or more data structures. XmGetSec‐
ondaryResourceData takes a widget class argument and returns the number
of these data structures associated with the widget class. If the
return value is greater than 0, the function allocates and fills an
array of pointers to the corresponding data structures. It returns this
array at the address that is the value of the secondary_data_return
argument.
The type XmSecondaryResourceData is a pointer to a structure with two
members that are useful to an application: resources, of type XtRe‐
sourceList, and num_resources, of type Cardinal. The resources member
is a list of the widget resources that are not accessible using Xt
functions. The num_resources member is the length of the resources
list. If the return value is greater than 0, XmGetSecondaryResourceData
allocates memory that the application must free. Use XtFree to free the
resource list in each structure (the value of the resources member),
the structures themselves, and the array of pointers to the structures
(the array with address secondary_data_return). Specifies the widget
class for which secondary resource data is to be retrieved. Specifies
a pointer to an array of XmSecondaryResourceData pointers to be
returned by this function. If the widget class has no secondary
resource data (i.e., if the value returned by the function is 0), the
function returns no meaningful value for this argument.
RETURN VALUES
Returns the number of secondary resource data structures associated
with this widget class.
EXAMPLES
The following example prints the names of the secondary resources of
the Text widget and then frees the data allocated by the function:
XmSecondaryResourceData * block_array ; Cardinal num_blocks, i, j ; if
(num_blocks = XmGetSecondaryResourceData (xmTextWidgetClass,
&block_array)) {
for (i = 0; i < num_blocks; i++) {
for (j = 0 ; j < block_array[i]->num_resources; j++) {
printf("%s\n", block_array[i]->resources[j].resource_name);
}
XtFree((char*)block_array[i]->resources);
XtFree((char*)block_array[i]);
}
XtFree((char*)block_array); }
XmGetSecondaryResourceData(3X)