94 lines
3.3 KiB
C
94 lines
3.3 KiB
C
/*
|
|
* $XConsortium: WidgetNode.h,v 1.7 91/07/22 23:46:16 converse Exp $
|
|
*
|
|
* Copyright 1990 Massachusetts Institute of Technology
|
|
*
|
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
|
* documentation for any purpose is hereby granted without fee, provided that
|
|
* the above copyright notice appear in all copies and that both that
|
|
* copyright notice and this permission notice appear in supporting
|
|
* documentation, and that the name of M.I.T. not be used in advertising or
|
|
* publicity pertaining to distribution of the software without specific,
|
|
* written prior permission. M.I.T. makes no representations about the
|
|
* suitability of this software for any purpose. It is provided "as is"
|
|
* without express or implied warranty.
|
|
*
|
|
* M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
|
|
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
|
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*
|
|
* Author: Jim Fulton, MIT X Consortium
|
|
*/
|
|
|
|
#ifndef _XmuWidgetNode_h
|
|
#define _XmuWidgetNode_h
|
|
|
|
#include <X11/Xfuncproto.h>
|
|
|
|
/*
|
|
* This is usually initialized by setting the first two fields and letting
|
|
* rest be implicitly nulled (by genlist.sh, for example)
|
|
*/
|
|
typedef struct _XmuWidgetNode {
|
|
char *label; /* mixed case name */
|
|
WidgetClass *widget_class_ptr; /* addr of widget class */
|
|
struct _XmuWidgetNode *superclass; /* superclass of widget_class */
|
|
struct _XmuWidgetNode *children, *siblings; /* subclass links */
|
|
char *lowered_label; /* lowercase version of label */
|
|
char *lowered_classname; /* lowercase version of class_name */
|
|
Bool have_resources; /* resources have been fetched */
|
|
XtResourceList resources; /* extracted resource database */
|
|
struct _XmuWidgetNode **resourcewn; /* where resources come from */
|
|
Cardinal nresources; /* number of resources */
|
|
XtResourceList constraints; /* extracted constraint resources */
|
|
struct _XmuWidgetNode **constraintwn; /* where constraints come from */
|
|
Cardinal nconstraints; /* number of constraint resources */
|
|
XtPointer data; /* extra data */
|
|
} XmuWidgetNode;
|
|
|
|
#define XmuWnClass(wn) ((wn)->widget_class_ptr[0])
|
|
#define XmuWnClassname(wn) (XmuWnClass(wn)->core_class.class_name)
|
|
#define XmuWnSuperclass(wn) ((XmuWnClass(wn))->core_class.superclass)
|
|
|
|
/* external interfaces */
|
|
_XFUNCPROTOBEGIN
|
|
|
|
extern void XmuWnInitializeNodes (
|
|
#if NeedFunctionPrototypes
|
|
XmuWidgetNode * /* nodearray */,
|
|
int /* nnodes */
|
|
#endif
|
|
);
|
|
|
|
extern void XmuWnFetchResources (
|
|
#if NeedFunctionPrototypes
|
|
XmuWidgetNode * /* node */,
|
|
Widget /* toplevel */,
|
|
XmuWidgetNode * /* topnode */
|
|
#endif
|
|
);
|
|
|
|
extern int XmuWnCountOwnedResources (
|
|
#if NeedFunctionPrototypes
|
|
XmuWidgetNode * /* node */,
|
|
XmuWidgetNode * /* ownernode */,
|
|
Bool /* constraints */
|
|
#endif
|
|
);
|
|
|
|
extern XmuWidgetNode *XmuWnNameToNode (
|
|
#if NeedFunctionPrototypes
|
|
XmuWidgetNode * /* nodelist */,
|
|
int /* nnodes */,
|
|
_Xconst char * /* name */
|
|
#endif
|
|
);
|
|
|
|
_XFUNCPROTOEND
|
|
|
|
#endif /* _XmuWidgetNode_h */
|
|
|