1 /* $Header: /cvsroot/lesstif/lesstif/test/Xm/misc/test3.c,v 1.3 2001/05/15 14:20:17 amai Exp $
2   test for M*tif to see what the ResInd (Synth) resources look like */
3 
4 #include <stdio.h>
5 #include <stdlib.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 
18 #include <Xm/GadgetP.h>
19 #include <Xm/ArrowBGP.h>
20 #include <Xm/SeparatoGP.h>
21 #include <Xm/LabelGP.h>
22 #include <Xm/CascadeBGP.h>
23 #include <Xm/PushBGP.h>
24 #include <Xm/ToggleBGP.h>
25 
26 #include <Xm/PrimitiveP.h>
27 #include <Xm/ArrowBP.h>
28 #include <Xm/SeparatorP.h>
29 #include <Xm/ListP.h>
30 #include <Xm/SashP.h>
31 #include <Xm/ScrollBarP.h>
32 #include <Xm/TextFP.h>
33 #include <Xm/TextP.h>
34 #include <Xm/LabelP.h>
35 #include <Xm/CascadeBP.h>
36 #include <Xm/DrawnBP.h>
37 #include <Xm/PushBP.h>
38 #include <Xm/ToggleBP.h>
39 #include <Xm/TearOffBP.h>
40 
41 #include <Xm/ManagerP.h>
42 #include <Xm/BulletinBP.h>
43 #include <Xm/CommandP.h>
44 #include <Xm/DrawingAP.h>
45 #include <Xm/FileSBP.h>
46 #include <Xm/FormP.h>
47 #include <Xm/FrameP.h>
48 #include <Xm/MainWP.h>
49 #include <Xm/MessageBP.h>
50 #include <Xm/PanedWP.h>
51 #include <Xm/RowColumnP.h>
52 #include <Xm/ScaleP.h>
53 #include <Xm/ScrolledWP.h>
54 #include <Xm/SelectioBP.h>
55 
56 void
print_syns(char * class,XmSyntheticResource * syn,int nsyn)57 print_syns(char *class, XmSyntheticResource *syn, int nsyn)
58 {
59   int i;
60 
61   printf( "%s: %d\n", class, nsyn);
62   for (i = 0; i < nsyn; i++) {
63     printf("syn_res[%d]: name: %-20s offset: %-3d size: %-3d\n\texport: %p import: %p\n", i,
64 	syn[i].resource_name, syn[i].resource_offset,
65 	syn[i].resource_size, syn[i].export_proc, syn[i].import_proc);
66   }
67   printf("\n");
68 }
69 
70 int
main(int argc,char ** argv)71 main(int argc, char **argv)
72 {
73   XmSyntheticResource *syn;
74   int nsyn;
75 
76   /* EXT OBJS */
77   syn = xmExtClassRec.ext_class.syn_resources;
78   nsyn = xmExtClassRec.ext_class.num_syn_resources;
79   print_syns("ExtObj", syn, nsyn);
80 
81   syn = xmDesktopClassRec.ext_class.syn_resources;
82   nsyn = xmDesktopClassRec.ext_class.num_syn_resources;
83   print_syns("Desktop", syn, nsyn);
84 
85   syn = xmDialogShellExtClassRec.ext_class.syn_resources;
86   nsyn = xmDialogShellExtClassRec.ext_class.num_syn_resources;
87   print_syns("DialogShellExt", syn, nsyn);
88 
89   syn = xmProtocolClassRec.ext_class.syn_resources;
90   nsyn = xmProtocolClassRec.ext_class.num_syn_resources;
91   print_syns("Protocols", syn, nsyn);
92 
93   syn = xmShellExtClassRec.ext_class.syn_resources;
94   nsyn = xmShellExtClassRec.ext_class.num_syn_resources;
95   print_syns("ShellExt", syn, nsyn);
96 
97   syn = xmVendorShellExtClassRec.ext_class.syn_resources;
98   nsyn = xmVendorShellExtClassRec.ext_class.num_syn_resources;
99   print_syns("VendorShellExt", syn, nsyn);
100 
101 #ifdef LESSTIF_VERSION
102   syn = xmWorldClassRec.ext_class.syn_resources;
103   nsyn = xmWorldClassRec.ext_class.num_syn_resources;
104   print_syns("World", syn, nsyn);
105 #endif
106 
107   syn = xmSeparatorGCacheObjClassRec.ext_class.syn_resources;
108   nsyn = xmSeparatorGCacheObjClassRec.ext_class.num_syn_resources;
109   print_syns("SeparatorGCache", syn, nsyn);
110 
111   syn = xmLabelGCacheObjClassRec.ext_class.syn_resources;
112   nsyn = xmLabelGCacheObjClassRec.ext_class.num_syn_resources;
113   print_syns("LabelGCache", syn, nsyn);
114 
115   syn = xmCascadeButtonGCacheObjClassRec.ext_class.syn_resources;
116   nsyn = xmCascadeButtonGCacheObjClassRec.ext_class.num_syn_resources;
117   print_syns("CascadeButtonGCache", syn, nsyn);
118 
119   syn = xmPushButtonGCacheObjClassRec.ext_class.syn_resources;
120   nsyn = xmPushButtonGCacheObjClassRec.ext_class.num_syn_resources;
121   print_syns("PushButtonGCache", syn, nsyn);
122 
123   syn = xmToggleButtonGCacheObjClassRec.ext_class.syn_resources;
124   nsyn = xmToggleButtonGCacheObjClassRec.ext_class.num_syn_resources;
125   print_syns("ToggleButtonGCache", syn, nsyn);
126 
127   /* GADGETS */
128   syn = xmGadgetClassRec.gadget_class.syn_resources;
129   nsyn = xmGadgetClassRec.gadget_class.num_syn_resources;
130   print_syns("Gadget", syn, nsyn);
131 
132   syn = xmArrowButtonGadgetClassRec.gadget_class.syn_resources;
133   nsyn = xmArrowButtonGadgetClassRec.gadget_class.num_syn_resources;
134   print_syns("ArrowButtonGadget", syn, nsyn);
135 
136   syn = xmSeparatorGadgetClassRec.gadget_class.syn_resources;
137   nsyn = xmSeparatorGadgetClassRec.gadget_class.num_syn_resources;
138   print_syns("SeparatorGadget", syn, nsyn);
139 
140   syn = xmLabelGadgetClassRec.gadget_class.syn_resources;
141   nsyn = xmLabelGadgetClassRec.gadget_class.num_syn_resources;
142   print_syns("LabelGadget", syn, nsyn);
143 
144   syn = xmCascadeButtonGadgetClassRec.gadget_class.syn_resources;
145   nsyn = xmCascadeButtonGadgetClassRec.gadget_class.num_syn_resources;
146   print_syns("CascadeButtonGadget", syn, nsyn);
147 
148   syn = xmPushButtonGadgetClassRec.gadget_class.syn_resources;
149   nsyn = xmPushButtonGadgetClassRec.gadget_class.num_syn_resources;
150   print_syns("PushButtonGadget", syn, nsyn);
151 
152   syn = xmToggleButtonGadgetClassRec.gadget_class.syn_resources;
153   nsyn = xmToggleButtonGadgetClassRec.gadget_class.num_syn_resources;
154   print_syns("ToggleButtonGadget", syn, nsyn);
155 
156   /* PRIMITIVES */
157   syn = xmPrimitiveClassRec.primitive_class.syn_resources;
158   nsyn = xmPrimitiveClassRec.primitive_class.num_syn_resources;
159   print_syns("Primitive", syn, nsyn);
160 
161   syn = xmArrowButtonClassRec.primitive_class.syn_resources;
162   nsyn = xmArrowButtonClassRec.primitive_class.num_syn_resources;
163   print_syns("ArrowButton", syn, nsyn);
164 
165   syn = xmSeparatorClassRec.primitive_class.syn_resources;
166   nsyn = xmSeparatorClassRec.primitive_class.num_syn_resources;
167   print_syns("Separator", syn, nsyn);
168 
169   syn = xmListClassRec.primitive_class.syn_resources;
170   nsyn = xmListClassRec.primitive_class.num_syn_resources;
171   print_syns("List", syn, nsyn);
172 
173   syn = xmSashClassRec.primitive_class.syn_resources;
174   nsyn = xmSashClassRec.primitive_class.num_syn_resources;
175   print_syns("Sash", syn, nsyn);
176 
177   syn = xmScrollBarClassRec.primitive_class.syn_resources;
178   nsyn = xmScrollBarClassRec.primitive_class.num_syn_resources;
179   print_syns("ScrollBar", syn, nsyn);
180 
181   syn = xmTextFieldClassRec.primitive_class.syn_resources;
182   nsyn = xmTextFieldClassRec.primitive_class.num_syn_resources;
183   print_syns("TextField", syn, nsyn);
184 
185   syn = xmTextClassRec.primitive_class.syn_resources;
186   nsyn = xmTextClassRec.primitive_class.num_syn_resources;
187   print_syns("Text", syn, nsyn);
188 
189   syn = xmLabelClassRec.primitive_class.syn_resources;
190   nsyn = xmLabelClassRec.primitive_class.num_syn_resources;
191   print_syns("Label", syn, nsyn);
192 
193   syn = xmCascadeButtonClassRec.primitive_class.syn_resources;
194   nsyn = xmCascadeButtonClassRec.primitive_class.num_syn_resources;
195   print_syns("CascadeButton", syn, nsyn);
196 
197   syn = xmDrawnButtonClassRec.primitive_class.syn_resources;
198   nsyn = xmDrawnButtonClassRec.primitive_class.num_syn_resources;
199   print_syns("DrawnButton", syn, nsyn);
200 
201   syn = xmPushButtonClassRec.primitive_class.syn_resources;
202   nsyn = xmPushButtonClassRec.primitive_class.num_syn_resources;
203   print_syns("PushButton", syn, nsyn);
204 
205   syn = xmToggleButtonClassRec.primitive_class.syn_resources;
206   nsyn = xmToggleButtonClassRec.primitive_class.num_syn_resources;
207   print_syns("ToggleButton", syn, nsyn);
208 
209   syn = xmTearOffButtonClassRec.primitive_class.syn_resources;
210   nsyn = xmTearOffButtonClassRec.primitive_class.num_syn_resources;
211   print_syns("TearOffButton", syn, nsyn);
212 
213   /* MANAGERS */
214   syn = xmManagerClassRec.manager_class.syn_resources;
215   nsyn = xmManagerClassRec.manager_class.num_syn_resources;
216   print_syns("Manager", syn, nsyn);
217   syn = xmManagerClassRec.manager_class.syn_constraint_resources;
218   nsyn = xmManagerClassRec.manager_class.num_syn_constraint_resources;
219   print_syns("Manager Constraint", syn, nsyn);
220 
221   syn = xmBulletinBoardClassRec.manager_class.syn_resources;
222   nsyn = xmBulletinBoardClassRec.manager_class.num_syn_resources;
223   print_syns("BulletinBoard", syn, nsyn);
224   syn = xmBulletinBoardClassRec.manager_class.syn_constraint_resources;
225   nsyn = xmBulletinBoardClassRec.manager_class.num_syn_constraint_resources;
226   print_syns("BulletinBoard Constraint", syn, nsyn);
227 
228   syn = xmCommandClassRec.manager_class.syn_resources;
229   nsyn = xmCommandClassRec.manager_class.num_syn_resources;
230   print_syns("Command", syn, nsyn);
231   syn = xmCommandClassRec.manager_class.syn_constraint_resources;
232   nsyn = xmCommandClassRec.manager_class.num_syn_constraint_resources;
233   print_syns("Command Constraint", syn, nsyn);
234 
235   syn = xmDrawingAreaClassRec.manager_class.syn_resources;
236   nsyn = xmDrawingAreaClassRec.manager_class.num_syn_resources;
237   print_syns("DrawingArea", syn, nsyn);
238   syn = xmDrawingAreaClassRec.manager_class.syn_constraint_resources;
239   nsyn = xmDrawingAreaClassRec.manager_class.num_syn_constraint_resources;
240   print_syns("DrawingArea Constraint", syn, nsyn);
241 
242   syn = xmFileSelectionBoxClassRec.manager_class.syn_resources;
243   nsyn = xmFileSelectionBoxClassRec.manager_class.num_syn_resources;
244   print_syns("FileSelectionBox", syn, nsyn);
245   syn = xmFileSelectionBoxClassRec.manager_class.syn_constraint_resources;
246   nsyn = xmFileSelectionBoxClassRec.manager_class.num_syn_constraint_resources;
247   print_syns("FileSelectionBox Constraint", syn, nsyn);
248 
249   syn = xmFormClassRec.manager_class.syn_resources;
250   nsyn = xmFormClassRec.manager_class.num_syn_resources;
251   print_syns("Form", syn, nsyn);
252   syn = xmFormClassRec.manager_class.syn_constraint_resources;
253   nsyn = xmFormClassRec.manager_class.num_syn_constraint_resources;
254   print_syns("Form Constraint", syn, nsyn);
255 
256   syn = xmFrameClassRec.manager_class.syn_resources;
257   nsyn = xmFrameClassRec.manager_class.num_syn_resources;
258   print_syns("Frame", syn, nsyn);
259   syn = xmFrameClassRec.manager_class.syn_constraint_resources;
260   nsyn = xmFrameClassRec.manager_class.num_syn_constraint_resources;
261   print_syns("Frame Constraint", syn, nsyn);
262 
263   syn = xmMainWindowClassRec.manager_class.syn_resources;
264   nsyn = xmMainWindowClassRec.manager_class.num_syn_resources;
265   print_syns("MainWindow", syn, nsyn);
266   syn = xmMainWindowClassRec.manager_class.syn_constraint_resources;
267   nsyn = xmMainWindowClassRec.manager_class.num_syn_constraint_resources;
268   print_syns("MainWindow Constraint", syn, nsyn);
269 
270   syn = xmMessageBoxClassRec.manager_class.syn_resources;
271   nsyn = xmMessageBoxClassRec.manager_class.num_syn_resources;
272   print_syns("MessageBox", syn, nsyn);
273   syn = xmMessageBoxClassRec.manager_class.syn_constraint_resources;
274   nsyn = xmMessageBoxClassRec.manager_class.num_syn_constraint_resources;
275   print_syns("MessageBox Constraint", syn, nsyn);
276 
277   syn = xmPanedWindowClassRec.manager_class.syn_resources;
278   nsyn = xmPanedWindowClassRec.manager_class.num_syn_resources;
279   print_syns("PanedWindow", syn, nsyn);
280   syn = xmPanedWindowClassRec.manager_class.syn_constraint_resources;
281   nsyn = xmPanedWindowClassRec.manager_class.num_syn_constraint_resources;
282   print_syns("PanedWindow Constraint", syn, nsyn);
283 
284   syn = xmRowColumnClassRec.manager_class.syn_resources;
285   nsyn = xmRowColumnClassRec.manager_class.num_syn_resources;
286   print_syns("RowColumn", syn, nsyn);
287   syn = xmRowColumnClassRec.manager_class.syn_constraint_resources;
288   nsyn = xmRowColumnClassRec.manager_class.num_syn_constraint_resources;
289   print_syns("RowColumn Constraint", syn, nsyn);
290 
291   syn = xmScaleClassRec.manager_class.syn_resources;
292   nsyn = xmScaleClassRec.manager_class.num_syn_resources;
293   print_syns("Scale", syn, nsyn);
294   syn = xmScaleClassRec.manager_class.syn_constraint_resources;
295   nsyn = xmScaleClassRec.manager_class.num_syn_constraint_resources;
296   print_syns("Scale Constraint", syn, nsyn);
297 
298   syn = xmScrolledWindowClassRec.manager_class.syn_resources;
299   nsyn = xmScrolledWindowClassRec.manager_class.num_syn_resources;
300   print_syns("ScrolledWindow", syn, nsyn);
301   syn = xmScrolledWindowClassRec.manager_class.syn_constraint_resources;
302   nsyn = xmScrolledWindowClassRec.manager_class.num_syn_constraint_resources;
303   print_syns("ScrolledWindow Constraint", syn, nsyn);
304 
305   syn = xmSelectionBoxClassRec.manager_class.syn_resources;
306   nsyn = xmSelectionBoxClassRec.manager_class.num_syn_resources;
307   print_syns("SelectionBox", syn, nsyn);
308   syn = xmSelectionBoxClassRec.manager_class.syn_constraint_resources;
309   nsyn = xmSelectionBoxClassRec.manager_class.num_syn_constraint_resources;
310   print_syns("SelectionBox Constraint", syn, nsyn);
311 
312   exit(0);
313 }
314