1 /* $XConsortium: DialogBoxP.h /main/5 1996/03/27 20:16:24 drk $ */
2 /**---------------------------------------------------------------------
6 *** project: Motif Widgets
8 *** description: Private include file for DtDialogBox class.
11 *** (c) Copyright 1990 by Hewlett-Packard Company.
14 ***-------------------------------------------------------------------*/
17 #ifndef _DtDialogBoxP_h
18 #define _DtDialogBoxP_h
21 #include <Xm/BulletinBP.h>
23 #include <Dt/DialogBox.h>
25 typedef void (*DlgGetSizeProc)(
34 /*-------------------------------------------------------------
40 typedef struct _DtDialogBoxClassPart
42 XtWidgetProc create_children;
43 XtWidgetProc configure_children;
44 DlgGetSizeProc get_size;
45 XtCallbackProc button_callback;
47 } DtDialogBoxClassPart;
51 typedef struct _DtDialogBoxClassRec
53 CoreClassPart core_class;
54 CompositeClassPart composite_class;
55 ConstraintClassPart constraint_class;
56 XmManagerClassPart manager_class;
57 XmBulletinBoardClassPart bulletin_board_class;
58 XmFormClassPart form_class;
59 DtDialogBoxClassPart dialog_box_class;
60 } DtDialogBoxClassRec;
64 extern DtDialogBoxClassRec dtDialogBoxClassRec;
67 /*-------------------------------------------------------------
73 typedef struct _DtDialogBoxPart
75 XtCallbackList callback;
79 Cardinal button_count;
80 Boolean minimize_buttons;
81 XmStringTable button_label_strings;
84 /* Full Instance Record
86 typedef struct _DtDialogBoxRec
89 CompositePart composite;
90 ConstraintPart constraint;
91 XmManagerPart manager;
92 XmBulletinBoardPart bulletin_board;
94 DtDialogBoxPart dialog_box;
98 /*-------------------------------------------------------------
99 ** Constraint Structure
104 typedef struct _DtDialogBoxConstraintPart
106 unsigned char child_type;
107 } DtDialogBoxConstraintPart, * DtDialogBoxConstraint;
109 /* Full Constraint Record
111 typedef struct _DtDialogBoxConstraintRec
113 XmManagerConstraintPart manager_constraint;
114 XmFormConstraintPart form_constraint;
115 DtDialogBoxConstraintPart dialog_box_constraint;
116 } DtDialogBoxConstraintRec, * DtDialogBoxConstraintPtr;
120 /*-------------------------------------------------------------
121 ** Class and Instance Macros
124 /* DtDialogBox Class Macros
126 /**** WARNING: These macros are not thread-safe! ****/
127 #define C_CreateChildren(mc) ((mc) -> dialog_box_class.create_children)
128 #define C_ConfigureChildren(mc) ((mc) -> dialog_box_class.configure_children)
129 #define C_GetSize(mc) ((mc) -> dialog_box_class.get_size)
130 #define C_ButtonCallback(mc) ((mc) -> dialog_box_class.button_callback)
132 /* DtDialogBox Instance Macros
134 #define M_DialogBoxConstraint(w) \
135 (&((DtDialogBoxConstraintPtr) (w)->core.constraints) \
136 -> dialog_box_constraint)
137 #define M_WorkArea(m) (m -> dialog_box.work_area)
138 #define M_Separator(m) (m -> dialog_box.separator)
139 #define M_MinimizeButtons(m) (m -> dialog_box.minimize_buttons)
140 #define M_Button(m) (m -> dialog_box.button)
141 #define M_ButtonCount(m) (m -> dialog_box.button_count)
142 #define M_ButtonLabelStrings(m) (m -> dialog_box.button_label_strings)
143 #define M_Callback(m) (m -> dialog_box.callback)
145 #endif /* _DtDialogBoxP_h */
147 /* DON'T ADD ANYTHING AFTER THIS #endif */