1typedef __SIZE_TYPE__ size_t;
2typedef void *XtPointer;
3
4typedef struct _WidgetRec *Widget;
5typedef struct _WidgetClassRec *WidgetClass;
6
7extern WidgetClass commandWidgetClass;
8
9typedef void (*XtCallbackProc)(
10    Widget 		 ,
11    XtPointer 		 ,
12    XtPointer
13);
14
15extern const  char XtStrings[];
16
17
18typedef struct
19{
20	char			*Name,
21				*Label;
22	XtCallbackProc		Callback;
23	XtPointer		ClientData;
24	Widget			W;
25} DialogButtonType, *DialogButtonTypePtr;
26
27
28Widget AddButtons(Widget Parent, Widget Top,
29	DialogButtonTypePtr Buttons, size_t Count)
30{
31	int		i;
32
33	for (i = 0; i < Count; i++)
34	{
35		if (!Buttons[i].Label)
36			continue;
37		Buttons[i].W  = XtVaCreateManagedWidget(Buttons[i].Name,
38			commandWidgetClass,
39			Parent,
40			((char*)&XtStrings[429]) , Buttons[i].Label,
41			"fromHoriz" , i ? Buttons[i-1].W : ((void *)0) ,
42			"fromVert" , Top,
43			"resizable" , 1 ,
44			((void *)0) );
45
46		XtAddCallback(((char*)&XtStrings[136]),
47				 Buttons[i].Callback, Buttons[i].ClientData);
48	}
49	return(Buttons[Count-1].W);
50}
51
52