1 /* Generated by wbuild from "RadioGrp.w"
2 ** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
3 */
4 #include <X11/IntrinsicP.h>
5 #include <X11/StringDefs.h>
6 #line 83 "RadioGrp.w"
7 #include <Xfwf/Toggle.h>
8 #include <Xfwf/RadioGrpP.h>
9 static void _resolve_inheritance(
10 #if NeedFunctionPrototypes
11 WidgetClass
12 #endif
13 );
14 #line 38 "RadioGrp.w"
15 static void initialize(
16 #if NeedFunctionPrototypes
17 Widget ,Widget,ArgList ,Cardinal *
18 #endif
19 );
20 #line 48 "RadioGrp.w"
21 static Boolean  set_values(
22 #if NeedFunctionPrototypes
23 Widget ,Widget ,Widget,ArgList ,Cardinal *
24 #endif
25 );
26 #line 64 "RadioGrp.w"
27 static void create_toggles(
28 #if NeedFunctionPrototypes
29 Widget
30 #endif
31 );
32 #line 64 "RadioGrp.w"
create_toggles(self)33 /*ARGSUSED*/static void create_toggles(self)Widget self;
34 {
35     Cardinal i;
36     StringArray s;
37 
38     for (i = 0; i < ((XfwfRadioGroupWidget)self)->composite.num_children; i++)
39 	XtDestroyWidget(((XfwfRadioGroupWidget)self)->composite.children[i]);
40 
41     if (((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels == NULL) return;
42 
43     for (s = ((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels, i = 0; s[i] != NULL; i++) {
44 	(void) XtVaCreateManagedWidget
45 	    (s[i], xfwfToggleWidgetClass, self, XtNlabel, s[i], XtNshrinkToFit,
46 	     True, XtNborderWidth, 0, XtNframeWidth, 0, NULL);
47     }
48 }
49 
50 static XtResource resources[] = {
51 #line 29 "RadioGrp.w"
52 {XtNlabels,XtCLabels,XtRStringArray,sizeof(((XfwfRadioGroupRec*)NULL)->xfwfRadioGroup.labels),XtOffsetOf(XfwfRadioGroupRec,xfwfRadioGroup.labels),XtRImmediate,(XtPointer)NULL },
53 };
54 
55 XfwfRadioGroupClassRec xfwfRadioGroupClassRec = {
56 { /* core_class part */
57 (WidgetClass) &xfwfGroupClassRec,
58 "XfwfRadioGroup",
59 sizeof(XfwfRadioGroupRec),
60 NULL,
61 _resolve_inheritance,
62 FALSE,
63 initialize,
64 NULL,
65 XtInheritRealize,
66 NULL,
67 0,
68 resources,
69 1,
70 NULLQUARK,
71 True ,
72 XtExposeCompressMultiple ,
73 True ,
74 False ,
75 NULL,
76 XtInheritResize,
77 XtInheritExpose,
78 set_values,
79 NULL,
80 XtInheritSetValuesAlmost,
81 NULL,
82 XtInheritAcceptFocus,
83 XtVersion,
84 NULL,
85 NULL,
86 XtInheritQueryGeometry,
87 XtInheritDisplayAccelerator,
88 NULL
89 },
90 { /* composite_class part */
91 XtInheritGeometryManager,
92 XtInheritChangeManaged,
93 XtInheritInsertChild,
94 XtInheritDeleteChild,
95 NULL
96 },
97 { /* XfwfCommon_class part */
98 XtInherit_compute_inside,
99 XtInherit_total_frame_width,
100 XtInherit_highlight_border,
101 XtInherit_unhighlight_border,
102 XtInherit_would_accept_focus,
103 XtInherit_traverse,
104 XtInherit_lighter_color,
105 XtInherit_darker_color,
106 NULL ,
107 },
108 { /* XfwfFrame_class part */
109 0
110 },
111 { /* XfwfBoard_class part */
112 XtInherit_set_abs_location,
113 },
114 { /* XfwfRowCol_class part */
115 XtInherit_layout,
116 },
117 { /* XfwfGroup_class part */
118 0
119 },
120 { /* XfwfRadioGroup_class part */
121 0
122 },
123 };
124 WidgetClass xfwfRadioGroupWidgetClass = (WidgetClass) &xfwfRadioGroupClassRec;
_resolve_inheritance(class)125 static void _resolve_inheritance(class)
126 WidgetClass class;
127 {
128   XfwfRadioGroupWidgetClass c = (XfwfRadioGroupWidgetClass) class;
129   XfwfRadioGroupWidgetClass super;
130   static CompositeClassExtensionRec extension_rec = {
131     NULL, NULLQUARK, XtCompositeExtensionVersion,
132     sizeof(CompositeClassExtensionRec), True};
133   CompositeClassExtensionRec *ext;
134   ext = (XtPointer)XtMalloc(sizeof(*ext));
135   *ext = extension_rec;
136   ext->next_extension = c->composite_class.extension;
137   c->composite_class.extension = ext;
138   if (class == xfwfRadioGroupWidgetClass) return;
139   super = (XfwfRadioGroupWidgetClass)class->core_class.superclass;
140 }
141 #line 38 "RadioGrp.w"
initialize(request,self,args,num_args)142 /*ARGSUSED*/static void initialize(request,self,args,num_args)Widget  request;Widget self;ArgList  args;Cardinal * num_args;
143 {
144     ((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels = newStringArray(((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels);
145     create_toggles(self);
146 }
147 #line 48 "RadioGrp.w"
set_values(old,request,self,args,num_args)148 /*ARGSUSED*/static Boolean  set_values(old,request,self,args,num_args)Widget  old;Widget  request;Widget self;ArgList  args;Cardinal * num_args;
149 {
150     if (((XfwfRadioGroupWidget)old)->xfwfRadioGroup.labels != ((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels) {
151 	freeStringArray(((XfwfRadioGroupWidget)old)->xfwfRadioGroup.labels);
152 	((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels = newStringArray(((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels);
153 	create_toggles(self);
154     }
155     return False;
156 }
157 #line 87 "RadioGrp.w"
158