1 /* $Header: /cvsroot/lesstif/lesstif/test/Xm/misc/test5.c,v 1.4 2002/04/17 16:22:01 amai Exp $
2    test for M*tif to see what the compiled Resources look like */
3 
4 #include <stdlib.h>
5 #include <stdio.h>
6 
7 #include <Xm/Xm.h>
8 #include <Xm/ExtObjectP.h>
9 #include <Xm/DesktopP.h>
10 #include <Xm/DialogSEP.h>
11 #include <Xm/ProtocolsP.h>
12 #include <Xm/ShellEP.h>
13 #include <Xm/VendorSEP.h>
14 #ifdef LESSTIF_VERSION
15 #include <Xm/WorldP.h>
16 #endif
17 #include <Xm/DragCP.h>
18 #include <Xm/DragIconP.h>
19 #include <Xm/DropTransP.h>
20 
21 #include <Xm/GadgetP.h>
22 #include <Xm/ArrowBGP.h>
23 #include <Xm/SeparatoGP.h>
24 #include <Xm/LabelGP.h>
25 #include <Xm/CascadeBGP.h>
26 #include <Xm/PushBGP.h>
27 #include <Xm/ToggleBGP.h>
28 
29 #include <Xm/PrimitiveP.h>
30 #include <Xm/ArrowBP.h>
31 #include <Xm/SeparatorP.h>
32 #include <Xm/ListP.h>
33 #include <Xm/SashP.h>
34 #include <Xm/ScrollBarP.h>
35 #include <Xm/TextFP.h>
36 #include <Xm/TextP.h>
37 #include <Xm/LabelP.h>
38 #include <Xm/CascadeBP.h>
39 #include <Xm/DrawnBP.h>
40 #include <Xm/PushBP.h>
41 #include <Xm/ToggleBP.h>
42 #include <Xm/TearOffBP.h>
43 
44 #include <Xm/ManagerP.h>
45 #include <Xm/BulletinBP.h>
46 #include <Xm/CommandP.h>
47 #include <Xm/DrawingAP.h>
48 #include <Xm/FileSBP.h>
49 #include <Xm/FormP.h>
50 #include <Xm/FrameP.h>
51 #include <Xm/MainWP.h>
52 #include <Xm/MessageBP.h>
53 #include <Xm/PanedWP.h>
54 #include <Xm/RowColumnP.h>
55 #include <Xm/ScaleP.h>
56 #include <Xm/ScrolledWP.h>
57 #include <Xm/SelectioBP.h>
58 
59 #include <Xm/DialogSP.h>
60 #include <Xm/VendorSP.h>
61 #include <Xm/MenuShellP.h>
62 
63 #include <Xm/ScreenP.h>
64 #include <Xm/DisplayP.h>
65 #include <X11/Xresource.h>
66 
67 void
print_syns(char * class,XrmResource ** res,int nres)68 print_syns(char *class, XrmResource **res, int nres)
69 {
70   int i;
71 
72   printf( "%s: %d\n", class, nres);
73   for (i = 0; i < nres; i++) {
74     printf("    /* %d */\n", i);
75     printf("    {\n");
76     printf("\tXmN%s, XmC%s, XmR%s,\n",
77 	   XrmQuarkToString((int)res[i]->xrm_name),
78 	   XrmQuarkToString((int)res[i]->xrm_class),
79 	   XrmQuarkToString((int)res[i]->xrm_type));
80     printf("\tsize: %-3d offset: %-3d\n",
81 	   res[i]->xrm_size, res[i]->xrm_offset);
82     printf("\tXmR%s, (XtPointer)%p\n",
83 	   XrmQuarkToString((int)res[i]->xrm_default_type), res[i]->xrm_default_addr);
84     printf("    },\n");
85   }
86   printf("\n");
87 }
88 
89 int
main(int argc,char ** argv)90 main(int argc, char **argv)
91 {
92   XtResource *syn;
93   Widget w, toplevel, one, two;
94   XtAppContext app;
95   int nsyn;
96   Arg args[1];
97 
98   one = XtAppInitialize(&app, argv[0], NULL, 0, &argc, argv, NULL, NULL, 0);
99   toplevel = XtCreateWidget("top", (WidgetClass)&xmBulletinBoardClassRec, one, NULL, 0);
100   XtSetArg(args[0], XmNrowColumnType, XmMENU_BAR);
101   two = XtCreateWidget("top", (WidgetClass)&xmRowColumnClassRec, one, args, 1);
102 
103   /* ODDITIES */
104   /* MLM: FIXME -- Chris, this widget gives and XtVersion mismatch */
105   w = XtCreateWidget("one", (WidgetClass)&xmDragContextClassRec, toplevel, NULL, 0);
106   XtDestroyWidget(w);
107   syn = xmDragContextClassRec.core_class.resources;
108   nsyn = xmDragContextClassRec.core_class.num_resources;
109   print_syns("DragContext", (XrmResource **)syn, nsyn);
110 
111   w = XtCreateWidget("one", (WidgetClass)&xmDragIconClassRec, toplevel, NULL, 0);
112   XtDestroyWidget(w);
113   syn = xmDragIconClassRec.rectangle_class.resources;
114   nsyn = xmDragIconClassRec.rectangle_class.num_resources;
115   print_syns("DragIcon", (XrmResource **)syn, nsyn);
116 
117   w = XtCreateWidget("one", (WidgetClass)&xmDropTransferClassRec, toplevel, NULL, 0);
118   XtDestroyWidget(w);
119   syn = xmDropTransferClassRec.object_class.resources;
120   nsyn = xmDropTransferClassRec.object_class.num_resources;
121   print_syns("DropTransfer", (XrmResource **)syn, nsyn);
122 
123   /* EXT OBJS */
124   w = XtCreateWidget("one", (WidgetClass)&xmExtClassRec, toplevel, NULL, 0);
125   XtDestroyWidget(w);
126   syn = xmExtClassRec.object_class.resources;
127   nsyn = xmExtClassRec.object_class.num_resources;
128   print_syns("ExtObj", (XrmResource **)syn, nsyn);
129 
130   w = XtCreateWidget("one", (WidgetClass)&xmDesktopClassRec, toplevel, NULL, 0);
131   XtDestroyWidget(w);
132   syn = xmDesktopClassRec.object_class.resources;
133   nsyn = xmDesktopClassRec.object_class.num_resources;
134   print_syns("Desktop", (XrmResource **)syn, nsyn);
135 
136 #if 0
137   w = XtCreateWidget("one", (WidgetClass)&xmDialogShellExtClassRec, toplevel, NULL, 0);
138   XtDestroyWidget(w);
139   syn = xmDialogShellExtClassRec.object_class.resources;
140   nsyn = xmDialogShellExtClassRec.object_class.num_resources;
141   print_syns("DialogShellExt", (XrmResource **)syn, nsyn);
142 #endif
143 
144   w = XtCreateWidget("one", (WidgetClass)&xmProtocolClassRec, toplevel, NULL, 0);
145   XtDestroyWidget(w);
146   syn = xmProtocolClassRec.object_class.resources;
147   nsyn = xmProtocolClassRec.object_class.num_resources;
148   print_syns("Protocols", (XrmResource **)syn, nsyn);
149 
150 #if 0
151   w = XtCreateWidget("one", (WidgetClass)&xmShellExtClassRec, toplevel, NULL, 0);
152   XtDestroyWidget(w);
153   syn = xmShellExtClassRec.object_class.resources;
154   nsyn = xmShellExtClassRec.object_class.num_resources;
155   print_syns("ShellExt", (XrmResource **)syn, nsyn);
156 
157   w = XtCreateWidget("one", (WidgetClass)&xmVendorShellExtClassRec, toplevel, NULL, 0);
158   XtDestroyWidget(w);
159   syn = xmVendorShellExtClassRec.object_class.resources;
160   nsyn = xmVendorShellExtClassRec.object_class.num_resources;
161   print_syns("VendorShellExt", (XrmResource **)syn, nsyn);
162 #endif
163 
164 #ifdef LESSTIF_VERSION
165   w = XtCreateWidget("one", (WidgetClass)&xmWorldClassRec, toplevel, NULL, 0);
166   XtDestroyWidget(w);
167   syn = xmWorldClassRec.object_class.resources;
168   nsyn = xmWorldClassRec.object_class.num_resources;
169   print_syns("World", (XrmResource **)syn, nsyn);
170 #endif
171 
172 #if 0
173   w = XtCreateWidget("one", (WidgetClass)&xmSeparatorGCacheObjClassRec, toplevel, NULL, 0);
174   XtDestroyWidget(w);
175   syn = xmSeparatorGCacheObjClassRec.object_class.resources;
176   nsyn = xmSeparatorGCacheObjClassRec.object_class.num_resources;
177   print_syns("SeparatorGCache", (XrmResource **)syn, nsyn);
178 
179   w = XtCreateWidget("one", (WidgetClass)&xmLabelGCacheObjClassRec, toplevel, NULL, 0);
180   XtDestroyWidget(w);
181   syn = xmLabelGCacheObjClassRec.object_class.resources;
182   nsyn = xmLabelGCacheObjClassRec.object_class.num_resources;
183   print_syns("LabelGCache", (XrmResource **)syn, nsyn);
184 
185   w = XtCreateWidget("one", (WidgetClass)&xmCascadeButtonGCacheObjClassRec, toplevel, NULL, 0);
186   XtDestroyWidget(w);
187   syn = xmCascadeButtonGCacheObjClassRec.object_class.resources;
188   nsyn = xmCascadeButtonGCacheObjClassRec.object_class.num_resources;
189   print_syns("CascadeButtonGCache", (XrmResource **)syn, nsyn);
190 
191   w = XtCreateWidget("one", (WidgetClass)&xmPushButtonGCacheObjClassRec, toplevel, NULL, 0);
192   XtDestroyWidget(w);
193   syn = xmPushButtonGCacheObjClassRec.object_class.resources;
194   nsyn = xmPushButtonGCacheObjClassRec.object_class.num_resources;
195   print_syns("PushButtonGCache", (XrmResource **)syn, nsyn);
196 
197   w = XtCreateWidget("one", (WidgetClass)&xmToggleButtonGCacheObjClassRec, toplevel, NULL, 0);
198   XtDestroyWidget(w);
199   syn = xmToggleButtonGCacheObjClassRec.object_class.resources;
200   nsyn = xmToggleButtonGCacheObjClassRec.object_class.num_resources;
201   print_syns("ToggleButtonGCache", (XrmResource **)syn, nsyn);
202 #endif
203 
204   /* GADGETS */
205   w = XtCreateWidget("one", (WidgetClass)&xmGadgetClassRec, toplevel, NULL, 0);
206   XtDestroyWidget(w);
207   syn = xmGadgetClassRec.rect_class.resources;
208   nsyn = xmGadgetClassRec.rect_class.num_resources;
209   print_syns("Gadget", (XrmResource **)syn, nsyn);
210 
211   w = XtCreateWidget("one", (WidgetClass)&xmArrowButtonGadgetClassRec, toplevel, NULL, 0);
212   XtDestroyWidget(w);
213   syn = xmArrowButtonGadgetClassRec.rect_class.resources;
214   nsyn = xmArrowButtonGadgetClassRec.rect_class.num_resources;
215   print_syns("ArrowButtonGadget", (XrmResource **)syn, nsyn);
216 
217   w = XtCreateWidget("one", (WidgetClass)&xmSeparatorGadgetClassRec, toplevel, NULL, 0);
218   XtDestroyWidget(w);
219   syn = xmSeparatorGadgetClassRec.rect_class.resources;
220   nsyn = xmSeparatorGadgetClassRec.rect_class.num_resources;
221   print_syns("SeparatorGadget", (XrmResource **)syn, nsyn);
222 
223   w = XtCreateWidget("one", (WidgetClass)&xmLabelGadgetClassRec, toplevel, NULL, 0);
224   XtDestroyWidget(w);
225   syn = xmLabelGadgetClassRec.rect_class.resources;
226   nsyn = xmLabelGadgetClassRec.rect_class.num_resources;
227   print_syns("LabelGadget", (XrmResource **)syn, nsyn);
228 
229   w = XtCreateWidget("one", (WidgetClass)&xmCascadeButtonGadgetClassRec, two, NULL, 0);
230   XtDestroyWidget(w);
231   syn = xmCascadeButtonGadgetClassRec.rect_class.resources;
232   nsyn = xmCascadeButtonGadgetClassRec.rect_class.num_resources;
233   print_syns("CascadeButtonGadget", (XrmResource **)syn, nsyn);
234 
235   w = XtCreateWidget("one", (WidgetClass)&xmPushButtonGadgetClassRec, toplevel, NULL, 0);
236   XtDestroyWidget(w);
237   syn = xmPushButtonGadgetClassRec.rect_class.resources;
238   nsyn = xmPushButtonGadgetClassRec.rect_class.num_resources;
239   print_syns("PushButtonGadget", (XrmResource **)syn, nsyn);
240 
241   w = XtCreateWidget("one", (WidgetClass)&xmToggleButtonGadgetClassRec, toplevel, NULL, 0);
242   XtDestroyWidget(w);
243   syn = xmToggleButtonGadgetClassRec.rect_class.resources;
244   nsyn = xmToggleButtonGadgetClassRec.rect_class.num_resources;
245   print_syns("ToggleButtonGadget", (XrmResource **)syn, nsyn);
246 
247   /* PRIMITIVES */
248   w = XtCreateWidget("one", (WidgetClass)&xmPrimitiveClassRec, toplevel, NULL, 0);
249   XtDestroyWidget(w);
250   syn = xmPrimitiveClassRec.core_class.resources;
251   nsyn = xmPrimitiveClassRec.core_class.num_resources;
252   print_syns("Primitive", (XrmResource **)syn, nsyn);
253 
254   w = XtCreateWidget("one", (WidgetClass)&xmArrowButtonClassRec, toplevel, NULL, 0);
255   XtDestroyWidget(w);
256   syn = xmArrowButtonClassRec.core_class.resources;
257   nsyn = xmArrowButtonClassRec.core_class.num_resources;
258   print_syns("ArrowButton", (XrmResource **)syn, nsyn);
259 
260   w = XtCreateWidget("one", (WidgetClass)&xmSeparatorClassRec, toplevel, NULL, 0);
261   XtDestroyWidget(w);
262   syn = xmSeparatorClassRec.core_class.resources;
263   nsyn = xmSeparatorClassRec.core_class.num_resources;
264   print_syns("Separator", (XrmResource **)syn, nsyn);
265 
266   w = XtCreateWidget("one", (WidgetClass)&xmListClassRec, toplevel, NULL, 0);
267   XtDestroyWidget(w);
268   syn = xmListClassRec.core_class.resources;
269   nsyn = xmListClassRec.core_class.num_resources;
270   print_syns("List", (XrmResource **)syn, nsyn);
271 
272   w = XtCreateWidget("one", (WidgetClass)&xmSashClassRec, toplevel, NULL, 0);
273   XtDestroyWidget(w);
274   syn = xmSashClassRec.core_class.resources;
275   nsyn = xmSashClassRec.core_class.num_resources;
276   print_syns("Sash", (XrmResource **)syn, nsyn);
277 
278   w = XtCreateWidget("one", (WidgetClass)&xmScrollBarClassRec, toplevel, NULL, 0);
279   XtDestroyWidget(w);
280   syn = xmScrollBarClassRec.core_class.resources;
281   nsyn = xmScrollBarClassRec.core_class.num_resources;
282   print_syns("ScrollBar", (XrmResource **)syn, nsyn);
283 
284 #if 0
285 /* FIXME: Rob, this shouldn't dump core; it does though, in _XmFontListEntryFromTag */
286   w = XtCreateWidget("one", (WidgetClass)&xmTextFieldClassRec, toplevel, NULL, 0);
287   XtDestroyWidget(w);
288   syn = xmTextFieldClassRec.core_class.resources;
289   nsyn = xmTextFieldClassRec.core_class.num_resources;
290   print_syns("TextField", (XrmResource **)syn, nsyn);
291 #endif
292 
293   w = XtCreateWidget("one", (WidgetClass)&xmTextClassRec, toplevel, NULL, 0);
294   XtDestroyWidget(w);
295   syn = xmTextClassRec.core_class.resources;
296   nsyn = xmTextClassRec.core_class.num_resources;
297   print_syns("Text", (XrmResource **)syn, nsyn);
298 
299   w = XtCreateWidget("one", (WidgetClass)&xmLabelClassRec, toplevel, NULL, 0);
300   XtDestroyWidget(w);
301   syn = xmLabelClassRec.core_class.resources;
302   nsyn = xmLabelClassRec.core_class.num_resources;
303   print_syns("Label", (XrmResource **)syn, nsyn);
304 
305   w = XtCreateWidget("one", (WidgetClass)&xmCascadeButtonClassRec, two, NULL, 0);
306   XtDestroyWidget(w);
307   syn = xmCascadeButtonClassRec.core_class.resources;
308   nsyn = xmCascadeButtonClassRec.core_class.num_resources;
309   print_syns("CascadeButton", (XrmResource **)syn, nsyn);
310 
311   w = XtCreateWidget("one", (WidgetClass)&xmDrawnButtonClassRec, toplevel, NULL, 0);
312   XtDestroyWidget(w);
313   syn = xmDrawnButtonClassRec.core_class.resources;
314   nsyn = xmDrawnButtonClassRec.core_class.num_resources;
315   print_syns("DrawnButton", (XrmResource **)syn, nsyn);
316 
317   w = XtCreateWidget("one", (WidgetClass)&xmPushButtonClassRec, toplevel, NULL, 0);
318   XtDestroyWidget(w);
319   syn = xmPushButtonClassRec.core_class.resources;
320   nsyn = xmPushButtonClassRec.core_class.num_resources;
321   print_syns("PushButton", (XrmResource **)syn, nsyn);
322 
323   w = XtCreateWidget("one", (WidgetClass)&xmToggleButtonClassRec, toplevel, NULL, 0);
324   XtDestroyWidget(w);
325   syn = xmToggleButtonClassRec.core_class.resources;
326   nsyn = xmToggleButtonClassRec.core_class.num_resources;
327   print_syns("ToggleButton", (XrmResource **)syn, nsyn);
328 
329   w = XtCreateWidget("one", (WidgetClass)&xmTearOffButtonClassRec, toplevel, NULL, 0);
330   XtDestroyWidget(w);
331   syn = xmTearOffButtonClassRec.core_class.resources;
332   nsyn = xmTearOffButtonClassRec.core_class.num_resources;
333   print_syns("TearOffButton", (XrmResource **)syn, nsyn);
334 
335   /* MANAGERS */
336   w = XtCreateWidget("one", (WidgetClass)&xmManagerClassRec, toplevel, NULL, 0);
337   XtDestroyWidget(w);
338   syn = xmManagerClassRec.core_class.resources;
339   nsyn = xmManagerClassRec.core_class.num_resources;
340   print_syns("Manager", (XrmResource **)syn, nsyn);
341   syn = xmManagerClassRec.constraint_class.resources;
342   nsyn = xmManagerClassRec.constraint_class.num_resources;
343   print_syns("Manager Constraint", (XrmResource **)syn, nsyn);
344 
345   w = XtCreateWidget("one", (WidgetClass)&xmBulletinBoardClassRec, toplevel, NULL, 0);
346   XtDestroyWidget(w);
347   syn = xmBulletinBoardClassRec.core_class.resources;
348   nsyn = xmBulletinBoardClassRec.core_class.num_resources;
349   print_syns("BulletinBoard", (XrmResource **)syn, nsyn);
350   syn = xmBulletinBoardClassRec.constraint_class.resources;
351   nsyn = xmBulletinBoardClassRec.constraint_class.num_resources;
352   print_syns("BulletinBoard Constraint", (XrmResource **)syn, nsyn);
353 
354   /* Danny, this shouldn't dump core.  It does, though in _XmFontListEntryFromTag */
355   w = XtCreateWidget("one", (WidgetClass)&xmCommandClassRec, toplevel, NULL, 0);
356   XtDestroyWidget(w);
357   syn = xmCommandClassRec.core_class.resources;
358   nsyn = xmCommandClassRec.core_class.num_resources;
359   print_syns("Command", (XrmResource **)syn, nsyn);
360   syn = xmCommandClassRec.constraint_class.resources;
361   nsyn = xmCommandClassRec.constraint_class.num_resources;
362   print_syns("Command Constraint", (XrmResource **)syn, nsyn);
363 
364   w = XtCreateWidget("one", (WidgetClass)&xmDrawingAreaClassRec, toplevel, NULL, 0);
365   XtDestroyWidget(w);
366   syn = xmDrawingAreaClassRec.core_class.resources;
367   nsyn = xmDrawingAreaClassRec.core_class.num_resources;
368   print_syns("DrawingArea", (XrmResource **)syn, nsyn);
369   syn = xmDrawingAreaClassRec.constraint_class.resources;
370   nsyn = xmDrawingAreaClassRec.constraint_class.num_resources;
371   print_syns("DrawingArea Constraint", (XrmResource **)syn, nsyn);
372 
373 /* FIXME: Mitch, this shouldn't dump core.  It does though, in _XmFontListEntryFromTag.
374  * Since I (Mitch) am writing this, I'll immediate cast blame elsewhere and say
375  * this routine is broken.  I'm probably wrong, though.
376  */
377   w = XtCreateWidget("one", (WidgetClass)&xmFileSelectionBoxClassRec, toplevel, NULL, 0);
378   XtDestroyWidget(w);
379   syn = xmFileSelectionBoxClassRec.core_class.resources;
380   nsyn = xmFileSelectionBoxClassRec.core_class.num_resources;
381   print_syns("FileSelectionBox", (XrmResource **)syn, nsyn);
382   syn = xmFileSelectionBoxClassRec.constraint_class.resources;
383   nsyn = xmFileSelectionBoxClassRec.constraint_class.num_resources;
384   print_syns("FileSelectionBox Constraint", (XrmResource **)syn, nsyn);
385 
386   w = XtCreateWidget("one", (WidgetClass)&xmFormClassRec, toplevel, NULL, 0);
387   XtDestroyWidget(w);
388   syn = xmFormClassRec.core_class.resources;
389   nsyn = xmFormClassRec.core_class.num_resources;
390   print_syns("Form", (XrmResource **)syn, nsyn);
391   syn = xmFormClassRec.constraint_class.resources;
392   nsyn = xmFormClassRec.constraint_class.num_resources;
393   print_syns("Form Constraint", (XrmResource **)syn, nsyn);
394 
395   w = XtCreateWidget("one", (WidgetClass)&xmFrameClassRec, toplevel, NULL, 0);
396   XtDestroyWidget(w);
397   syn = xmFrameClassRec.core_class.resources;
398   nsyn = xmFrameClassRec.core_class.num_resources;
399   print_syns("Frame", (XrmResource **)syn, nsyn);
400   syn = xmFrameClassRec.constraint_class.resources;
401   nsyn = xmFrameClassRec.constraint_class.num_resources;
402   print_syns("Frame Constraint", (XrmResource **)syn, nsyn);
403 
404   w = XtCreateWidget("one", (WidgetClass)&xmMainWindowClassRec, toplevel, NULL, 0);
405   XtDestroyWidget(w);
406   syn = xmMainWindowClassRec.core_class.resources;
407   nsyn = xmMainWindowClassRec.core_class.num_resources;
408   print_syns("MainWindow", (XrmResource **)syn, nsyn);
409   syn = xmMainWindowClassRec.constraint_class.resources;
410   nsyn = xmMainWindowClassRec.constraint_class.num_resources;
411   print_syns("MainWindow Constraint", (XrmResource **)syn, nsyn);
412 
413   w = XtCreateWidget("one", (WidgetClass)&xmMessageBoxClassRec, toplevel, NULL, 0);
414   XtDestroyWidget(w);
415   syn = xmMessageBoxClassRec.core_class.resources;
416   nsyn = xmMessageBoxClassRec.core_class.num_resources;
417   print_syns("MessageBox", (XrmResource **)syn, nsyn);
418   syn = xmMessageBoxClassRec.constraint_class.resources;
419   nsyn = xmMessageBoxClassRec.constraint_class.num_resources;
420   print_syns("MessageBox Constraint", (XrmResource **)syn, nsyn);
421 
422   w = XtCreateWidget("one", (WidgetClass)&xmPanedWindowClassRec, toplevel, NULL, 0);
423   XtDestroyWidget(w);
424   syn = xmPanedWindowClassRec.core_class.resources;
425   nsyn = xmPanedWindowClassRec.core_class.num_resources;
426   print_syns("PanedWindow", (XrmResource **)syn, nsyn);
427   syn = xmPanedWindowClassRec.constraint_class.resources;
428   nsyn = xmPanedWindowClassRec.constraint_class.num_resources;
429   print_syns("PanedWindow Constraint", (XrmResource **)syn, nsyn);
430 
431   w = XtCreateWidget("one", (WidgetClass)&xmRowColumnClassRec, toplevel, NULL, 0);
432   XtDestroyWidget(w);
433   syn = xmRowColumnClassRec.core_class.resources;
434   nsyn = xmRowColumnClassRec.core_class.num_resources;
435   print_syns("RowColumn", (XrmResource **)syn, nsyn);
436   syn = xmRowColumnClassRec.constraint_class.resources;
437   nsyn = xmRowColumnClassRec.constraint_class.num_resources;
438   print_syns("RowColumn Constraint", (XrmResource **)syn, nsyn);
439 
440   w = XtCreateWidget("one", (WidgetClass)&xmScaleClassRec, toplevel, NULL, 0);
441   XtDestroyWidget(w);
442   syn = xmScaleClassRec.core_class.resources;
443   nsyn = xmScaleClassRec.core_class.num_resources;
444   print_syns("Scale", (XrmResource **)syn, nsyn);
445   syn = xmScaleClassRec.constraint_class.resources;
446   nsyn = xmScaleClassRec.constraint_class.num_resources;
447   print_syns("Scale Constraint", (XrmResource **)syn, nsyn);
448 
449   w = XtCreateWidget("one", (WidgetClass)&xmScrolledWindowClassRec, toplevel, NULL, 0);
450   XtDestroyWidget(w);
451   syn = xmScrolledWindowClassRec.core_class.resources;
452   nsyn = xmScrolledWindowClassRec.core_class.num_resources;
453   print_syns("ScrolledWindow", (XrmResource **)syn, nsyn);
454   syn = xmScrolledWindowClassRec.constraint_class.resources;
455   nsyn = xmScrolledWindowClassRec.constraint_class.num_resources;
456   print_syns("ScrolledWindow Constraint", (XrmResource **)syn, nsyn);
457 
458   w = XtCreateWidget("one", (WidgetClass)&xmSelectionBoxClassRec, toplevel, NULL, 0);
459   XtDestroyWidget(w);
460   syn = xmSelectionBoxClassRec.core_class.resources;
461   nsyn = xmSelectionBoxClassRec.core_class.num_resources;
462   print_syns("SelectionBox", (XrmResource **)syn, nsyn);
463   syn = xmSelectionBoxClassRec.constraint_class.resources;
464   nsyn = xmSelectionBoxClassRec.constraint_class.num_resources;
465   print_syns("SelectionBox Constraint", (XrmResource **)syn, nsyn);
466 
467   /* SHELLS */
468   w = XtCreateWidget("one", (WidgetClass)&xmDialogShellClassRec, toplevel, NULL, 0);
469   XtDestroyWidget(w);
470   syn = xmDialogShellClassRec.core_class.resources;
471   nsyn = xmDialogShellClassRec.core_class.num_resources;
472   print_syns("DialogShell", (XrmResource **)syn, nsyn);
473 
474   syn = vendorShellClassRec.core_class.resources;
475   nsyn = vendorShellClassRec.core_class.num_resources;
476   w = XtCreateWidget("one", (WidgetClass)&vendorShellClassRec, toplevel, NULL, 0);
477   XtDestroyWidget(w);
478   print_syns("VendorShell", (XrmResource **)syn, nsyn);
479 
480   w = XtCreateWidget("one", (WidgetClass)&xmMenuShellClassRec, toplevel, NULL, 0);
481   XtDestroyWidget(w);
482   syn = xmMenuShellClassRec.core_class.resources;
483   nsyn = xmMenuShellClassRec.core_class.num_resources;
484   print_syns("MenuShell", (XrmResource **)syn, nsyn);
485 
486   /* OTHER */
487   w = XtCreateWidget("one", (WidgetClass)&xmDisplayClassRec, toplevel, NULL, 0);
488   XtDestroyWidget(w);
489   syn = xmDisplayClassRec.core_class.resources;
490   nsyn = xmDisplayClassRec.core_class.num_resources;
491   print_syns("Display", (XrmResource **)syn, nsyn);
492 
493 #if 0
494 /* OOPS: only one of these per screen */
495   w = XtCreateWidget("one", (WidgetClass)&xmScreenClassRec, toplevel, NULL, 0);
496 #else
497   w = XmGetXmScreen(XtScreen(toplevel));
498 #endif
499   syn = xmScreenClassRec.core_class.resources;
500   nsyn = xmScreenClassRec.core_class.num_resources;
501   print_syns("Screen", (XrmResource **)syn, nsyn);
502 
503   exit(0);
504 }
505