|
XmGetSecondaryResourceData(3X)
Contents
|
XmGetSecondaryResourceData - A function that provides
access to secondary widget resource data
#include <Xm/Xm.h>
Cardinal XmGetSecondaryResourceData (widget_class, secondary_data_return)
WidgetClass widget_class;
XmSecondaryResourceData **secondary_data_return;
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
descriptions of the resources in one or more data
structures. XmGetSecondaryResourceData 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 XtResourceList, 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.
Returns the number of secondary resource data structures
associated with this widget class.
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)
[ Back ] |