2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these librararies and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
24 * $XConsortium: abuil_resource_attr_map.c /main/3 1995/11/06 18:21:24 rswiston $
26 * @(#)abuil_resource_attr_map.c 1.16 06 Oct 1994 cose/unity1/cde_app_builder/src/libABil
28 * RESTRICTED CONFIDENTIAL INFORMATION:
30 * The information in this document is subject to special
31 * restrictions in a confidential disclosure agreement between
32 * HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
33 * document outside HP, IBM, Sun, USL, SCO, or Univel without
34 * Sun's specific written approval. This document and all copies
35 * and derivative works thereof must be returned or destroyed at
38 * Copyright 1993 Sun Microsystems, Inc. All rights reserved.
43 * This file contains the mapping between uil resources and ABObj attributes
49 #include "abuil_loadP.h"
59 typedef BOOL (*VAL_PROC_HANDLER)(
66 typedef struct _AttrMapRec
68 unsigned long obj_mask;
71 AttrValueType value_type;
72 XtPointer const_value;
75 typedef struct _ResourceAttrMapRec
83 typedef struct _ObjRefRec
89 typedef struct _AnyContextRec AnyContext;
92 typedef void (*CONTEXT_STORE_HANDLER)(
96 typedef void (*CONTEXT_INIT_HANDLER)(
100 typedef struct _ABuilStrIntMapRec
106 struct _AnyContextRec
108 CONTEXT_INIT_HANDLER init_handler;
109 CONTEXT_STORE_HANDLER store_handler;
112 typedef struct _AttachmentContextRec
114 CONTEXT_INIT_HANDLER init_handler;
115 CONTEXT_STORE_HANDLER store_handler;
124 static void attach_context_init(
125 AnyContext *attach_context
127 static void north_attach_context_store(
129 AnyContext *attach_context
131 static void south_attach_context_store(
133 AnyContext *attach_context
135 static void east_attach_context_store(
137 AnyContext *attach_context
139 static void west_attach_context_store(
141 AnyContext *attach_context
144 static void attach_context_store(
146 AB_COMPASS_POINT dir,
147 AnyContext *attach_context
150 static BOOL val_proc_debug(
153 AB_ARG_TYPE res_type,
158 /* Specialized VAL_PROC handlers to set object attributes from resources */
160 static BOOL val_set_label_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
161 static BOOL val_set_labeltype_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
162 static BOOL val_set_rows_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
163 static BOOL val_set_columns_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
164 static BOOL val_set_maximum_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
165 static BOOL val_set_minimum_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
166 static BOOL val_set_numcols_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
167 static BOOL val_set_orientation_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
168 static BOOL val_set_fg_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
169 static BOOL val_set_bg_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
170 static BOOL val_set_sensitive_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
171 static BOOL val_set_mnemonic_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
172 static BOOL val_set_oklabel_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
173 static BOOL val_set_directory_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
174 static BOOL val_set_pattern_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
175 static BOOL val_set_autounmanage_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
176 static BOOL val_set_filetype_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
177 static BOOL val_set_maxlen_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
178 static BOOL val_set_panemax_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
179 static BOOL val_set_panemin_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
180 static BOOL val_set_intvalue_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
181 static BOOL val_set_strvalue_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
182 static BOOL val_set_increment_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
183 static BOOL val_set_decpts_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
184 static BOOL val_set_showval_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
185 static BOOL val_set_scrollh_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
186 static BOOL val_set_scrollv_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
187 static BOOL val_set_linestyle_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
188 static BOOL val_set_wordwrap_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
189 static BOOL val_set_border_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
190 static BOOL val_set_packing_proc(ABObj, STRING, AB_ARG_TYPE, XtPointer);
194 static AttachmentContext
197 attach_context_init, north_attach_context_store
200 static AttachmentContext
203 attach_context_init, south_attach_context_store
206 static AttachmentContext
209 attach_context_init, east_attach_context_store
212 static AttachmentContext
215 attach_context_init, west_attach_context_store
220 AbuilP_attr_contexts[] =
222 (AnyContext *)&NorthAttach,
223 (AnyContext *)&SouthAttach,
224 (AnyContext *)&EastAttach,
225 (AnyContext *)&WestAttach
231 #define Ofs(FIELD) XtOffsetOf(AB_OBJ, FIELD)
236 { ((unsigned long)~0L), 0, 0,
241 acceleratorText_map[] =
243 { ((unsigned long)~0L), 0, 0,
250 { ((unsigned long)~0L), 0, 0,
257 { ((unsigned long)~0L), 0, 0,
264 { ((unsigned long)~0L), 0, 0,
271 { ((unsigned long)~0L), 0, 0,
278 { ((unsigned long)~0L), 0, 0,
285 { ((unsigned long)~0L), 0, 0,
290 allowShellResize_map[] =
292 { ((unsigned long)~0L), 0, 0,
297 ancestorSensitive_map[] =
299 { ((unsigned long)~0L), 0, 0,
304 applyLabelString_map[] =
306 { ((unsigned long)~0L), 0, 0,
313 { ((unsigned long)~0L), 0, 0,
320 { ((unsigned long)~0L), 0, 0,
325 arrowDirection_map[] =
327 { ((unsigned long)~0L), 0, 0,
332 audibleWarning_map[] =
334 { ((unsigned long)~0L), 0, 0,
339 autoShowCursorPosition_map[] =
341 { ((unsigned long)~0L), 0, 0,
348 { BMASK(AB_TYPE_FILE_CHOOSER),
349 0, 1, /* size field must != 0, but unused for VAL_PROC */
350 VAL_PROC, (XtPointer) val_set_autounmanage_proc },
354 automaticSelection_map[] =
356 { ((unsigned long)~0L), 0, 0,
363 { ((unsigned long)~0L),
364 0, 1, /* size field must != 0, but unused for VAL_PROC */
365 VAL_PROC, (XtPointer) val_set_bg_proc },
369 backgroundPixmap_map[] =
371 { ((unsigned long)~0L), 0, 0,
378 { ((unsigned long)~0L), 0, 0,
385 { ((unsigned long)~0L), 0, 0,
392 { ((unsigned long)~0L), 0, 0,
399 { ((unsigned long)~0L), 0, 0,
406 { ((unsigned long)~0L), 0, 0,
413 { ((unsigned long)~0L), 0, 0,
418 bottomAttachment_map[] =
420 { ((unsigned long)~0L),
421 XtOffsetOf(AttachmentContext, att_type), sizeof(ISTRING),
422 VAL_CONTEXT, (XtPointer)&SouthAttach },
428 { ((unsigned long)~0L),
429 XtOffsetOf(AttachmentContext, att_offset), sizeof(ISTRING),
430 VAL_CONTEXT, (XtPointer)&SouthAttach },
434 bottomPosition_map[] =
436 { ((unsigned long)~0L),
437 XtOffsetOf(AttachmentContext, att_position), sizeof(int),
438 VAL_CONTEXT, (XtPointer)&SouthAttach },
442 bottomShadowColor_map[] =
444 { ((unsigned long)~0L), 0, 0,
449 bottomShadowPixmap_map[] =
451 { ((unsigned long)~0L), 0, 0,
458 { ((unsigned long)~0L),
459 XtOffsetOf(AttachmentContext, att_object), sizeof(ObjRef *),
460 VAL_CONTEXT, (XtPointer)&SouthAttach },
464 buttonFontList_map[] =
466 { ((unsigned long)~0L), 0, 0,
473 { ((unsigned long)~0L), 0, 0,
478 cancelLabelString_map[] =
480 { ((unsigned long)~0L), 0, 0,
485 cascadePixmap_map[] =
487 { ((unsigned long)~0L), 0, 0,
492 childHorizontalAlignment_map[] =
494 { ((unsigned long)~0L), 0, 0,
499 childHorizontalSpacing_map[] =
501 { ((unsigned long)~0L), 0, 0,
506 childPlacement_map[] =
508 { ((unsigned long)~0L), 0, 0,
515 { ((unsigned long)~0L), 0, 0,
520 childVerticalAlignment_map[] =
522 { ((unsigned long)~0L), 0, 0,
529 { ((unsigned long)~0L), 0, 0,
536 { ((unsigned long)~0L), 0, 0,
543 { BMASK(AB_TYPE_TERM_PANE) | BMASK(AB_TYPE_TEXT_FIELD) | BMASK(AB_TYPE_TEXT_PANE) ,
544 0, 1, /* size field must != 0, but unused for VAL_PROC */
545 VAL_PROC, (XtPointer) val_set_columns_proc },
551 { ((unsigned long)~0L), 0, 0,
556 commandWindow_map[] =
558 { ((unsigned long)~0L), 0, 0,
563 commandWindowLocation_map[] =
565 { ((unsigned long)~0L), 0, 0,
570 createPopupChildProc_map[] =
572 { ((unsigned long)~0L), 0, 0,
577 cursorPosition_map[] =
579 { ((unsigned long)~0L), 0, 0,
584 cursorPositionVisible_map[] =
586 { ((unsigned long)~0L), 0, 0,
591 decimalPoints_map[] =
593 { BMASK(AB_TYPE_SCALE) | BMASK(AB_TYPE_SPIN_BOX) ,
594 0, 1, /* size field must != 0, but unused for VAL_PROC */
595 VAL_PROC, (XtPointer) val_set_decpts_proc },
599 defaultButton_map[] =
601 { ((unsigned long)~0L), 0, 0,
606 defaultButtonShadowThickness_map[] =
608 { ((unsigned long)~0L), 0, 0,
613 defaultButtonType_map[] =
615 { ((unsigned long)~0L), 0, 0,
620 defaultFontList_map[] =
622 { ((unsigned long)~0L), 0, 0,
627 defaultPosition_map[] =
629 { ((unsigned long)~0L), 0, 0,
634 deleteResponse_map[] =
636 { ((unsigned long)~0L), 0, 0,
643 { ((unsigned long)~0L), 0, 0,
650 { ((unsigned long)~0L), 0, 0,
657 { ((unsigned long)~0L), 0, 0,
664 { ((unsigned long)~0L), 0, 0,
669 dirListItemCount_map[] =
671 { ((unsigned long)~0L), 0, 0,
678 { ((unsigned long)~0L), 0, 0,
683 dirListLabelString_map[] =
685 { ((unsigned long)~0L), 0, 0,
692 { ((unsigned long)~0L), 0, 0,
697 dirSearchProc_map[] =
699 { ((unsigned long)~0L), 0, 0,
706 { ((unsigned long)~0L), 0, 0,
713 { BMASK(AB_TYPE_FILE_CHOOSER),
714 0, 1, /* size field must != 0, but unused for VAL_PROC */
715 VAL_PROC, (XtPointer) val_set_directory_proc },
719 doubleClickInterval_map[] =
721 { ((unsigned long)~0L), 0, 0,
728 { ((unsigned long)~0L), 0, 0,
735 { ((unsigned long)~0L), 0, 0,
740 entryAlignment_map[] =
742 { ((unsigned long)~0L), 0, 0,
749 { ((unsigned long)~0L), 0, 0,
756 { ((unsigned long)~0L), 0, 0,
761 entryVerticalAlignment_map[] =
763 { ((unsigned long)~0L), 0, 0,
768 fileListItemCount_map[] =
770 { ((unsigned long)~0L), 0, 0,
775 fileListItems_map[] =
777 { ((unsigned long)~0L), 0, 0,
782 fileListLabelString_map[] =
784 { ((unsigned long)~0L), 0, 0,
789 fileSearchProc_map[] =
791 { ((unsigned long)~0L), 0, 0,
798 { BMASK(AB_TYPE_FILE_CHOOSER),
799 0, 1, /* size field must != 0, but unused for VAL_PROC */
800 VAL_PROC, (XtPointer) val_set_filetype_proc },
806 { ((unsigned long)~0L), 0, 0,
813 { ((unsigned long)~0L), 0, 0,
818 filterLabelString_map[] =
820 { ((unsigned long)~0L), 0, 0,
827 { ((unsigned long)~0L), 0, 0,
834 { ((unsigned long)~0L),
835 0, 1, /* size field must != 0, but unused for VAL_PROC */
836 VAL_PROC, (XtPointer) val_set_fg_proc },
842 { ((unsigned long)~0L), 0, 0,
849 { ((unsigned long)~0L), 0, 0,
856 { ((unsigned long)~0L), Ofs(height), sizeof(int),
863 { ((unsigned long)~0L), 0, 0,
868 helpLabelString_map[] =
870 { ((unsigned long)~0L), 0, 0,
875 highlightColor_map[] =
877 { ((unsigned long)~0L), 0, 0,
882 highlightOnEnter_map[] =
884 { ((unsigned long)~0L), 0, 0,
889 highlightPixmap_map[] =
891 { ((unsigned long)~0L), 0, 0,
896 highlightThickness_map[] =
898 { ((unsigned long)~0L), 0, 0,
903 historyItemCount_map[] =
905 { ((unsigned long)~0L), 0, 0,
912 { ((unsigned long)~0L), 0, 0,
917 historyMaxItems_map[] =
919 { ((unsigned long)~0L), 0, 0,
924 historyVisibleItemCount_map[] =
926 { ((unsigned long)~0L), 0, 0,
931 horizontalScrollBar_map[] =
933 { ((unsigned long)~0L), 0, 0,
938 horizontalSpacing_map[] =
940 { ((unsigned long)~0L), 0, 0,
947 { ((unsigned long)~0L), 0, 0,
954 { ((unsigned long)~0L), 0, 0,
959 iconNameEncoding_map[] =
961 { ((unsigned long)~0L), 0, 0,
968 { ((unsigned long)~0L), 0, 0,
975 { ((unsigned long)~0L), 0, 0,
982 { ((unsigned long)~0L), 0, 0,
989 { ((unsigned long)~0L), 0, 0,
996 { ((unsigned long)~0L), 0, 0,
1003 { ((unsigned long)~0L), 0, 0,
1010 { ((unsigned long)~0L), 0, 0,
1015 indicatorSize_map[] =
1017 { ((unsigned long)~0L), 0, 0,
1022 indicatorType_map[] =
1024 { ((unsigned long)~0L), 0, 0,
1029 initialDelay_map[] =
1031 { ((unsigned long)~0L), 0, 0,
1036 initialFocus_map[] =
1038 { ((unsigned long)~0L), 0, 0,
1043 initialResourcesPersistent_map[] =
1045 { ((unsigned long)~0L), 0, 0,
1050 initialState_map[] =
1052 { ((unsigned long)~0L), 0, 0,
1059 { ((unsigned long)~0L), 0, 0,
1066 { ((unsigned long)~0L), 0, 0,
1071 insertPosition_map[] =
1073 { ((unsigned long)~0L), 0, 0,
1080 { ((unsigned long)~0L), 0, 0,
1085 isHomogeneous_map[] =
1087 { ((unsigned long)~0L), 0, 0,
1094 { ((unsigned long)~0L), 0, 0,
1101 { ((unsigned long)~0L), 0, 0,
1106 keyboardFocusPolicy_map[] =
1108 { ((unsigned long)~0L), 0, 0,
1113 labelFontList_map[] =
1115 { ((unsigned long)~0L), 0, 0,
1120 labelInsensitivePixmap_map[] =
1122 { ((unsigned long)~0L), 0, 0,
1129 { BMASK(AB_TYPE_LABEL) | BMASK(AB_TYPE_BUTTON),
1130 0, 1, /* size field must != 0, but unused for VAL_PROC */
1131 VAL_PROC, (XtPointer) val_set_label_proc },
1132 { BMASK(AB_TYPE_LABEL) | BMASK(AB_TYPE_BUTTON),
1133 Ofs(label_type), sizeof(AB_LABEL_TYPE),
1134 VAL_CONST, (XtPointer)AB_LABEL_GLYPH },
1140 { BMASK(AB_TYPE_LABEL) | BMASK(AB_TYPE_BUTTON),
1141 0, 1, /* size field must != 0, but unused for VAL_PROC */
1142 VAL_PROC, (XtPointer) val_set_label_proc },
1143 { BMASK(AB_TYPE_LABEL) | BMASK(AB_TYPE_BUTTON),
1144 Ofs(label_type), sizeof(AB_LABEL_TYPE),
1145 VAL_CONST, (XtPointer)AB_LABEL_STRING },
1151 { BMASK(AB_TYPE_LABEL) | BMASK(AB_TYPE_BUTTON),
1153 VAL_PROC, (XPointer)val_set_labeltype_proc },
1157 leftAttachment_map[] =
1159 { ((unsigned long)~0L),
1160 XtOffsetOf(AttachmentContext, att_type), sizeof(ISTRING),
1161 VAL_CONTEXT, (XtPointer)&WestAttach },
1167 { ((unsigned long)~0L),
1168 XtOffsetOf(AttachmentContext, att_offset), sizeof(ISTRING),
1169 VAL_CONTEXT, (XtPointer)&WestAttach },
1173 leftPosition_map[] =
1175 { ((unsigned long)~0L),
1176 XtOffsetOf(AttachmentContext, att_position), sizeof(int),
1177 VAL_CONTEXT, (XtPointer)&WestAttach },
1183 { ((unsigned long)~0L),
1184 XtOffsetOf(AttachmentContext, att_object), sizeof(ObjRef *),
1185 VAL_CONTEXT, (XtPointer)&WestAttach },
1189 listItemCount_map[] =
1191 { ((unsigned long)~0L), 0, 0,
1198 { ((unsigned long)~0L), 0, 0,
1203 listLabelString_map[] =
1205 { ((unsigned long)~0L), 0, 0,
1210 listMarginHeight_map[] =
1212 { ((unsigned long)~0L), 0, 0,
1217 listMarginWidth_map[] =
1219 { ((unsigned long)~0L), 0, 0,
1224 listSizePolicy_map[] =
1226 { ((unsigned long)~0L), 0, 0,
1233 { ((unsigned long)~0L), 0, 0,
1240 { ((unsigned long)~0L), 0, 0,
1245 listVisibleItemCount_map[] =
1247 { ((unsigned long)~0L), 0, 0,
1252 mainWindowMarginHeight_map[] =
1254 { ((unsigned long)~0L), 0, 0,
1259 mainWindowMarginWidth_map[] =
1261 { ((unsigned long)~0L), 0, 0,
1266 mappedWhenManaged_map[] =
1268 { ((unsigned long)~0L), 0, 0,
1273 mappingDelay_map[] =
1275 { ((unsigned long)~0L), 0, 0,
1282 { ((unsigned long)~0L), 0, 0,
1287 marginBottom_map[] =
1289 { ((unsigned long)~0L), 0, 0,
1294 marginHeight_map[] =
1296 { ((unsigned long)~0L), 0, 0,
1303 { ((unsigned long)~0L), 0, 0,
1310 { ((unsigned long)~0L), 0, 0,
1317 { ((unsigned long)~0L), 0, 0,
1324 { ((unsigned long)~0L), 0, 0,
1331 { ((unsigned long)~0L), 0, 0,
1338 { ((unsigned long)~0L), 0, 0,
1345 { ((unsigned long)~0L), 0, 0,
1352 { BMASK(AB_TYPE_TEXT_FIELD) | BMASK(AB_TYPE_TEXT_PANE) ,
1353 0, 1, /* size field must != 0, but unused for VAL_PROC */
1354 VAL_PROC, (XtPointer) val_set_maxlen_proc },
1360 { ((unsigned long)~0L), 0, 0,
1367 { BMASK(AB_TYPE_SCALE),
1368 0, 1, /* size field must != 0, but unused for VAL_PROC */
1369 VAL_PROC, (XtPointer) val_set_maximum_proc },
1373 menuAccelerator_map[] =
1375 { ((unsigned long)~0L), 0, 0,
1382 { ((unsigned long)~0L), 0, 0,
1387 menuHelpWidget_map[] =
1389 { ((unsigned long)~0L), 0, 0,
1396 { ((unsigned long)~0L), 0, 0,
1403 { ((unsigned long)~0L), 0, 0,
1408 messageAlignment_map[] =
1410 { ((unsigned long)~0L), 0, 0,
1415 messageString_map[] =
1417 { ((unsigned long)~0L), 0, 0,
1422 messageWindow_map[] =
1424 { ((unsigned long)~0L), 0, 0,
1431 { ((unsigned long)~0L), 0, 0,
1438 { ((unsigned long)~0L), 0, 0,
1445 { ((unsigned long)~0L), 0, 0,
1452 { ((unsigned long)~0L), 0, 0,
1457 minimizeButtons_map[] =
1459 { ((unsigned long)~0L), 0, 0,
1466 { BMASK(AB_TYPE_SCALE),
1467 0, 1, /* size field must != 0, but unused for VAL_PROC */
1468 VAL_PROC, (XtPointer) val_set_minimum_proc },
1474 { BMASK(AB_TYPE_ITEM) ,
1475 0, 1, /* size field must != 0, but unused for VAL_PROC */
1476 VAL_PROC, (XtPointer) val_set_mnemonic_proc },
1480 mnemonicCharSet_map[] =
1482 { ((unsigned long)~0L), 0, 0,
1489 { ((unsigned long)~0L), 0, 0,
1496 { ((unsigned long)~0L), 0, 0,
1501 mwmDecorations_map[] =
1503 { ((unsigned long)~0L), 0, 0,
1508 mwmFunctions_map[] =
1510 { ((unsigned long)~0L), 0, 0,
1515 mwmInputMode_map[] =
1517 { ((unsigned long)~0L), 0, 0,
1524 { ((unsigned long)~0L), 0, 0,
1529 navigationType_map[] =
1531 { ((unsigned long)~0L), 0, 0,
1536 noMatchString_map[] =
1538 { ((unsigned long)~0L), 0, 0,
1545 { ((unsigned long)~0L), 0, 0,
1552 { BMASK(AB_TYPE_TERM_PANE) | BMASK(AB_TYPE_TEXT_FIELD) | BMASK(AB_TYPE_TEXT_PANE) | BMASK(AB_TYPE_CHOICE) | BMASK(AB_TYPE_CONTAINER) ,
1553 0, 1, /* size field must != 0, but unused for VAL_PROC */
1554 VAL_PROC, (XtPointer) val_set_numcols_proc },
1558 okLabelString_map[] =
1560 { BMASK(AB_TYPE_FILE_CHOOSER),
1561 0, 1, /* size field must != 0, but unused for VAL_PROC */
1562 VAL_PROC, (XtPointer) val_set_oklabel_proc },
1568 { BMASK(AB_TYPE_SEPARATOR) | BMASK(AB_TYPE_SCALE) | BMASK(AB_TYPE_CHOICE),
1569 0, 1, /* size field must != 0, but unused for VAL_PROC */
1570 VAL_PROC, (XtPointer) val_set_orientation_proc },
1574 overrideRedirect_map[] =
1576 { ((unsigned long)~0L), 0, 0,
1583 { BMASK(AB_TYPE_CONTAINER) ,
1584 0, 1, /* size field must != 0, but unused for VAL_PROC */
1585 VAL_PROC, (XtPointer) val_set_packing_proc },
1589 pageIncrement_map[] =
1591 { ((unsigned long)~0L), 0, 0,
1598 { ((unsigned long)~0L),
1599 0, 1, /* size field must != 0, but unused for VAL_PROC */
1600 VAL_PROC, (XtPointer) val_set_panemax_proc },
1606 { ((unsigned long)~0L),
1607 0, 1, /* size field must != 0, but unused for VAL_PROC */
1608 VAL_PROC, (XtPointer) val_set_panemin_proc },
1614 { BMASK(AB_TYPE_FILE_CHOOSER),
1615 0, 1, /* size field must != 0, but unused for VAL_PROC */
1616 VAL_PROC, (XtPointer) val_set_pattern_proc },
1620 pendingDelete_map[] =
1622 { ((unsigned long)~0L), 0, 0,
1627 popupEnabled_map[] =
1629 { ((unsigned long)~0L), 0, 0,
1634 positionIndex_map[] =
1636 { ((unsigned long)~0L), 0, 0,
1641 postFromCount_map[] =
1643 { ((unsigned long)~0L), 0, 0,
1648 postFromList_map[] =
1650 { ((unsigned long)~0L), 0, 0,
1657 { ((unsigned long)~0L), 0, 0,
1662 processingDirection_map[] =
1664 { ((unsigned long)~0L), 0, 0,
1669 promptString_map[] =
1671 { ((unsigned long)~0L), 0, 0,
1676 pushButtonEnabled_map[] =
1678 { ((unsigned long)~0L), 0, 0,
1683 qualifySearchDataProc_map[] =
1685 { ((unsigned long)~0L), 0, 0,
1690 radioAlwaysOne_map[] =
1692 { ((unsigned long)~0L), 0, 0,
1697 radioBehavior_map[] =
1699 { ((unsigned long)~0L), 0, 0,
1704 recomputeSize_map[] =
1706 { ((unsigned long)~0L), 0, 0,
1711 refigureMode_map[] =
1713 { ((unsigned long)~0L), 0, 0,
1720 { ((unsigned long)~0L), 0, 0,
1727 { ((unsigned long)~0L), 0, 0,
1732 resizeHeight_map[] =
1734 { ((unsigned long)~0L), 0, 0,
1739 resizePolicy_map[] =
1741 { ((unsigned long)~0L), 0, 0,
1748 { ((unsigned long)~0L), 0, 0,
1753 rightAttachment_map[] =
1755 { ((unsigned long)~0L),
1756 XtOffsetOf(AttachmentContext, att_type), sizeof(ISTRING),
1757 VAL_CONTEXT, (XtPointer)&EastAttach },
1763 { ((unsigned long)~0L),
1764 XtOffsetOf(AttachmentContext, att_offset), sizeof(ISTRING),
1765 VAL_CONTEXT, (XtPointer)&EastAttach },
1769 rightPosition_map[] =
1771 { ((unsigned long)~0L),
1772 XtOffsetOf(AttachmentContext, att_position), sizeof(int),
1773 VAL_CONTEXT, (XtPointer)&EastAttach },
1779 { ((unsigned long)~0L),
1780 XtOffsetOf(AttachmentContext, att_object), sizeof(ObjRef *),
1781 VAL_CONTEXT, (XtPointer)&EastAttach },
1785 rowColumnType_map[] =
1787 { ((unsigned long)~0L), 0, 0,
1794 { BMASK(AB_TYPE_TERM_PANE) | BMASK(AB_TYPE_TEXT_PANE) ,
1795 0, 1, /* size field must != 0, but unused for VAL_PROC */
1796 VAL_PROC, (XtPointer) val_set_rows_proc },
1800 rubberPositioning_map[] =
1802 { ((unsigned long)~0L), 0, 0,
1809 { ((unsigned long)~0L), 0, 0,
1816 { ((unsigned long)~0L), 0, 0,
1821 sashShadowThickness_map[] =
1823 { ((unsigned long)~0L), 0, 0,
1830 { ((unsigned long)~0L), 0, 0,
1837 { ((unsigned long)~0L), 0, 0,
1844 { ((unsigned long)~0L), 0, 0,
1849 scaleMultiple_map[] =
1851 { BMASK(AB_TYPE_SCALE) | BMASK(AB_TYPE_SPIN_BOX) ,
1852 0, 1, /* size field must != 0, but unused for VAL_PROC */
1853 VAL_PROC, (XtPointer) val_set_increment_proc },
1859 { ((unsigned long)~0L), 0, 0,
1866 { ((unsigned long)~0L), 0, 0,
1871 scrollBarDisplayPolicy_map[] =
1873 { ((unsigned long)~0L), 0, 0,
1878 scrollBarPlacement_map[] =
1880 { ((unsigned long)~0L), 0, 0,
1885 scrollHorizontal_map[] =
1887 { BMASK(AB_TYPE_TEXT_PANE) ,
1888 0, 1, /* size field must != 0, but unused for VAL_PROC */
1889 VAL_PROC, (XtPointer) val_set_scrollh_proc },
1893 scrollLeftSide_map[] =
1895 { ((unsigned long)~0L), 0, 0,
1900 scrollTopSide_map[] =
1902 { ((unsigned long)~0L), 0, 0,
1907 scrollVertical_map[] =
1909 { BMASK(AB_TYPE_TEXT_PANE) ,
1910 0, 1, /* size field must != 0, but unused for VAL_PROC */
1911 VAL_PROC, (XtPointer) val_set_scrollv_proc },
1915 scrolledWindowMarginHeight_map[] =
1917 { ((unsigned long)~0L), 0, 0,
1922 scrolledWindowMarginWidth_map[] =
1924 { ((unsigned long)~0L), 0, 0,
1929 scrollingPolicy_map[] =
1931 { ((unsigned long)~0L), 0, 0,
1938 { ((unsigned long)~0L), 0, 0,
1943 selectInsensitivePixmap_map[] =
1945 { ((unsigned long)~0L), 0, 0,
1950 selectPixmap_map[] =
1952 { ((unsigned long)~0L), 0, 0,
1957 selectThreshold_map[] =
1959 { ((unsigned long)~0L), 0, 0,
1964 selectedItemCount_map[] =
1966 { ((unsigned long)~0L), 0, 0,
1971 selectedItems_map[] =
1973 { ((unsigned long)~0L), 0, 0,
1978 selectionArray_map[] =
1980 { ((unsigned long)~0L), 0, 0,
1985 selectionArrayCount_map[] =
1987 { ((unsigned long)~0L), 0, 0,
1992 selectionLabelString_map[] =
1994 { ((unsigned long)~0L), 0, 0,
1999 selectionPolicy_map[] =
2001 { ((unsigned long)~0L), 0, 0,
2008 { ((unsigned long)~0L),
2009 0, 1, /* size field must != 0, but unused for VAL_PROC */
2010 VAL_PROC, (XtPointer) val_set_sensitive_proc },
2016 { ((unsigned long)~0L), 0, 0,
2021 separatorType_map[] =
2023 { ((unsigned long)~0L),
2024 0, 1, /* size field must != 0, but unused for VAL_PROC */
2025 VAL_PROC, (XtPointer) val_set_linestyle_proc },
2031 { ((unsigned long)~0L), 0, 0,
2036 shadowThickness_map[] =
2038 { ((unsigned long)~0L), 0, 0,
2045 { ((unsigned long)~0L),
2046 0, 1, /* size field must != 0, but unused for VAL_PROC */
2047 VAL_PROC, (XtPointer) val_set_border_proc },
2048 { ((unsigned long)~0L),
2049 0, 1, /* size field must != 0, but unused for VAL_PROC */
2050 VAL_PROC, (XtPointer) val_proc_debug },
2054 shellUnitType_map[] =
2056 { ((unsigned long)~0L), 0, 0,
2063 { ((unsigned long)~0L), 0, 0,
2068 showAsDefault_map[] =
2070 { ((unsigned long)~0L), 0, 0,
2075 showSeparator_map[] =
2077 { ((unsigned long)~0L), 0, 0,
2084 { BMASK(AB_TYPE_TERM_PANE) | BMASK(AB_TYPE_TEXT_PANE) ,
2085 0, 1, /* size field must != 0, but unused for VAL_PROC */
2086 VAL_PROC, (XtPointer) val_set_showval_proc },
2092 { ((unsigned long)~0L), 0, 0,
2099 { ((unsigned long)~0L), 0, 0,
2106 { ((unsigned long)~0L), 0, 0,
2113 { ((unsigned long)~0L), 0, 0,
2118 stringDirection_map[] =
2120 { ((unsigned long)~0L), 0, 0,
2127 { ((unsigned long)~0L), 0, 0,
2132 symbolPixmap_map[] =
2134 { ((unsigned long)~0L), 0, 0,
2139 tearOffModel_map[] =
2141 { ((unsigned long)~0L), 0, 0,
2146 textAccelerators_map[] =
2148 { ((unsigned long)~0L), 0, 0,
2155 { ((unsigned long)~0L), 0, 0,
2160 textFontList_map[] =
2162 { ((unsigned long)~0L), 0, 0,
2169 { ((unsigned long)~0L), 0, 0,
2174 textTranslations_map[] =
2176 { ((unsigned long)~0L), 0, 0,
2181 ** We use the ABObj's label resource to hold the title string for main windows,
2182 ** custom dialogs and file choosers.
2187 { BMASK(AB_TYPE_BASE_WINDOW) | BMASK(AB_TYPE_DIALOG) | BMASK(AB_TYPE_FILE_CHOOSER),
2188 0, 1, /* size field must != 0, but unused for VAL_PROC */
2189 VAL_PROC, (XtPointer) val_set_label_proc },
2193 titleEncoding_map[] =
2195 { ((unsigned long)~0L), 0, 0,
2202 { ((unsigned long)~0L), 0, 0,
2207 topAttachment_map[] =
2209 { ((unsigned long)~0L),
2210 XtOffsetOf(AttachmentContext, att_type), sizeof(ISTRING),
2211 VAL_CONTEXT, (XtPointer)&NorthAttach },
2215 topCharacter_map[] =
2217 { ((unsigned long)~0L), 0, 0,
2222 topItemPosition_map[] =
2224 { ((unsigned long)~0L), 0, 0,
2231 { ((unsigned long)~0L),
2232 XtOffsetOf(AttachmentContext, att_offset), sizeof(int),
2233 VAL_CONTEXT, (XtPointer)&NorthAttach },
2239 { ((unsigned long)~0L),
2240 XtOffsetOf(AttachmentContext, att_position), sizeof(int),
2241 VAL_CONTEXT, (XtPointer)&NorthAttach },
2245 topShadowColor_map[] =
2247 { ((unsigned long)~0L), 0, 0,
2252 topShadowPixmap_map[] =
2254 { ((unsigned long)~0L), 0, 0,
2261 { ((unsigned long)~0L),
2262 XtOffsetOf(AttachmentContext, att_object), sizeof(ObjRef *),
2263 VAL_CONTEXT, (XtPointer)&NorthAttach },
2269 { ((unsigned long)~0L), 0, 0,
2274 transientFor_map[] =
2276 { ((unsigned long)~0L), 0, 0,
2281 translations_map[] =
2283 { ((unsigned long)~0L), 0, 0,
2290 { ((unsigned long)~0L), 0, 0,
2297 { ((unsigned long)~0L), 0, 0,
2304 { ((unsigned long)~0L), 0, 0,
2309 unpostBehavior_map[] =
2311 { ((unsigned long)~0L), 0, 0,
2316 useAsyncGeometry_map[] =
2318 { ((unsigned long)~0L), 0, 0,
2325 { ((unsigned long)~0L), 0, 0,
2332 { BMASK(AB_TYPE_TEXT_PANE) | BMASK(AB_TYPE_TEXT_FIELD),
2333 0, 1, /* size field must != 0, but unused for VAL_PROC */
2334 VAL_PROC, (XtPointer) val_set_strvalue_proc },
2335 { BMASK(AB_TYPE_SCALE),
2336 0, 1, /* size field must != 0, but unused for VAL_PROC */
2337 VAL_PROC, (XtPointer) val_set_intvalue_proc },
2343 { ((unsigned long)~0L), 0, 0,
2350 { ((unsigned long)~0L), 0, 0,
2355 verticalScrollBar_map[] =
2357 { ((unsigned long)~0L), 0, 0,
2362 verticalSpacing_map[] =
2364 { ((unsigned long)~0L), 0, 0,
2369 visibleItemCount_map[] =
2371 { BMASK(AB_TYPE_LIST),
2372 0, 1, /* size field must != 0, but unused for VAL_PROC */
2373 VAL_PROC, (XtPointer) val_set_rows_proc },
2377 visibleWhenOff_map[] =
2379 { ((unsigned long)~0L), 0, 0,
2386 { ((unsigned long)~0L), 0, 0,
2391 visualPolicy_map[] =
2393 { ((unsigned long)~0L), 0, 0,
2400 { ((unsigned long)~0L), 0, 0,
2407 { ((unsigned long)~0L), 0, 0,
2414 { ((unsigned long)~0L), Ofs(width), sizeof(int),
2421 { ((unsigned long)~0L), 0, 0,
2428 { ((unsigned long)~0L), 0, 0,
2435 { ((unsigned long)~0L), 0, 0,
2442 { ((unsigned long)~0L), 0, 0,
2449 { BMASK(AB_TYPE_TEXT_PANE),
2450 0, 1, /* size field must != 0, but unused for VAL_PROC */
2451 VAL_PROC, (XtPointer) val_set_wordwrap_proc },
2457 { ((unsigned long)~0L), 0, 0,
2464 { ((unsigned long)~0L), Ofs(x), sizeof(int),
2471 { ((unsigned long)~0L), Ofs(y), sizeof(int),
2477 static ResourceAttrMap
2478 resource_attr_map[] =
2481 accelerator_map, XtNumber(accelerator_map) },
2482 { "XmNacceleratorText",
2483 acceleratorText_map, XtNumber(acceleratorText_map) },
2484 { "XmNaccelerators",
2485 accelerators_map, XtNumber(accelerators_map) },
2487 adjustLast_map, XtNumber(adjustLast_map) },
2488 { "XmNadjustMargin",
2489 adjustMargin_map, XtNumber(adjustMargin_map) },
2491 alignment_map, XtNumber(alignment_map) },
2492 { "XmNallowOverlap",
2493 allowOverlap_map, XtNumber(allowOverlap_map) },
2495 allowResize_map, XtNumber(allowResize_map) },
2496 { "XmNallowShellResize",
2497 allowShellResize_map, XtNumber(allowShellResize_map) },
2498 { "XmNancestorSensitive",
2499 ancestorSensitive_map, XtNumber(ancestorSensitive_map) },
2500 { "XmNapplyLabelString",
2501 applyLabelString_map, XtNumber(applyLabelString_map) },
2503 armColor_map, XtNumber(armColor_map) },
2505 armPixmap_map, XtNumber(armPixmap_map) },
2506 { "XmNarrowDirection",
2507 arrowDirection_map, XtNumber(arrowDirection_map) },
2508 { "XmNaudibleWarning",
2509 audibleWarning_map, XtNumber(audibleWarning_map) },
2510 { "XmNautoShowCursorPosition",
2511 autoShowCursorPosition_map, XtNumber(autoShowCursorPosition_map) },
2512 { "XmNautoUnmanage",
2513 autoUnmanage_map, XtNumber(autoUnmanage_map) },
2514 { "XmNautomaticSelection",
2515 automaticSelection_map, XtNumber(automaticSelection_map) },
2517 background_map, XtNumber(background_map) },
2518 { "XmNbackgroundPixmap",
2519 backgroundPixmap_map, XtNumber(backgroundPixmap_map) },
2521 baseHeight_map, XtNumber(baseHeight_map) },
2523 baseWidth_map, XtNumber(baseWidth_map) },
2525 blinkRate_map, XtNumber(blinkRate_map) },
2527 borderColor_map, XtNumber(borderColor_map) },
2528 { "XmNborderPixmap",
2529 borderPixmap_map, XtNumber(borderPixmap_map) },
2531 borderWidth_map, XtNumber(borderWidth_map) },
2532 { "XmNbottomAttachment",
2533 bottomAttachment_map, XtNumber(bottomAttachment_map) },
2534 { "XmNbottomOffset",
2535 bottomOffset_map, XtNumber(bottomOffset_map) },
2536 { "XmNbottomPosition",
2537 bottomPosition_map, XtNumber(bottomPosition_map) },
2538 { "XmNbottomShadowColor",
2539 bottomShadowColor_map, XtNumber(bottomShadowColor_map) },
2540 { "XmNbottomShadowPixmap",
2541 bottomShadowPixmap_map, XtNumber(bottomShadowPixmap_map) },
2542 { "XmNbottomWidget",
2543 bottomWidget_map, XtNumber(bottomWidget_map) },
2544 { "XmNbuttonFontList",
2545 buttonFontList_map, XtNumber(buttonFontList_map) },
2546 { "XmNcancelButton",
2547 cancelButton_map, XtNumber(cancelButton_map) },
2548 { "XmNcancelLabelString",
2549 cancelLabelString_map, XtNumber(cancelLabelString_map) },
2550 { "XmNcascadePixmap",
2551 cascadePixmap_map, XtNumber(cascadePixmap_map) },
2552 { "XmNchildHorizontalAlignment",
2553 childHorizontalAlignment_map, XtNumber(childHorizontalAlignment_map) },
2554 { "XmNchildHorizontalSpacing",
2555 childHorizontalSpacing_map, XtNumber(childHorizontalSpacing_map) },
2556 { "XmNchildPlacement",
2557 childPlacement_map, XtNumber(childPlacement_map) },
2559 childType_map, XtNumber(childType_map) },
2560 { "XmNchildVerticalAlignment",
2561 childVerticalAlignment_map, XtNumber(childVerticalAlignment_map) },
2563 clipWindow_map, XtNumber(clipWindow_map) },
2565 colormap_map, XtNumber(colormap_map) },
2567 columns_map, XtNumber(columns_map) },
2569 command_map, XtNumber(command_map) },
2570 { "XmNcommandWindow",
2571 commandWindow_map, XtNumber(commandWindow_map) },
2572 { "XmNcommandWindowLocation",
2573 commandWindowLocation_map, XtNumber(commandWindowLocation_map) },
2574 { "XmNcreatePopupChildProc",
2575 createPopupChildProc_map, XtNumber(createPopupChildProc_map) },
2576 { "XmNcursorPosition",
2577 cursorPosition_map, XtNumber(cursorPosition_map) },
2578 { "XmNcursorPositionVisible",
2579 cursorPositionVisible_map, XtNumber(cursorPositionVisible_map) },
2580 { "XmNdecimalPoints",
2581 decimalPoints_map, XtNumber(decimalPoints_map) },
2582 { "XmNdefaultButton",
2583 defaultButton_map, XtNumber(defaultButton_map) },
2584 { "XmNdefaultButtonShadowThickness",
2585 defaultButtonShadowThickness_map, XtNumber(defaultButtonShadowThickness_map) },
2586 { "XmNdefaultButtonType",
2587 defaultButtonType_map, XtNumber(defaultButtonType_map) },
2588 { "XmNdefaultFontList",
2589 defaultFontList_map, XtNumber(defaultFontList_map) },
2590 { "XmNdefaultPosition",
2591 defaultPosition_map, XtNumber(defaultPosition_map) },
2592 { "XmNdeleteResponse",
2593 deleteResponse_map, XtNumber(deleteResponse_map) },
2595 depth_map, XtNumber(depth_map) },
2597 dialogStyle_map, XtNumber(dialogStyle_map) },
2599 dialogTitle_map, XtNumber(dialogTitle_map) },
2601 dialogType_map, XtNumber(dialogType_map) },
2602 { "XmNdirListItemCount",
2603 dirListItemCount_map, XtNumber(dirListItemCount_map) },
2604 { "XmNdirListItems",
2605 dirListItems_map, XtNumber(dirListItems_map) },
2606 { "XmNdirListLabelString",
2607 dirListLabelString_map, XtNumber(dirListLabelString_map) },
2609 dirMask_map, XtNumber(dirMask_map) },
2610 { "XmNdirSearchProc",
2611 dirSearchProc_map, XtNumber(dirSearchProc_map) },
2613 dirSpec_map, XtNumber(dirSpec_map) },
2615 directory_map, XtNumber(directory_map) },
2616 { "XmNdoubleClickInterval",
2617 doubleClickInterval_map, XtNumber(doubleClickInterval_map) },
2619 editMode_map, XtNumber(editMode_map) },
2621 editable_map, XtNumber(editable_map) },
2622 { "XmNentryAlignment",
2623 entryAlignment_map, XtNumber(entryAlignment_map) },
2625 entryBorder_map, XtNumber(entryBorder_map) },
2627 entryClass_map, XtNumber(entryClass_map) },
2628 { "XmNentryVerticalAlignment",
2629 entryVerticalAlignment_map, XtNumber(entryVerticalAlignment_map) },
2630 { "XmNfileListItemCount",
2631 fileListItemCount_map, XtNumber(fileListItemCount_map) },
2632 { "XmNfileListItems",
2633 fileListItems_map, XtNumber(fileListItems_map) },
2634 { "XmNfileListLabelString",
2635 fileListLabelString_map, XtNumber(fileListLabelString_map) },
2636 { "XmNfileSearchProc",
2637 fileSearchProc_map, XtNumber(fileSearchProc_map) },
2638 { "XmNfileTypeMask",
2639 fileTypeMask_map, XtNumber(fileTypeMask_map) },
2641 fillOnArm_map, XtNumber(fillOnArm_map) },
2642 { "XmNfillOnSelect",
2643 fillOnSelect_map, XtNumber(fillOnSelect_map) },
2644 { "XmNfilterLabelString",
2645 filterLabelString_map, XtNumber(filterLabelString_map) },
2647 fontList_map, XtNumber(fontList_map) },
2649 foreground_map, XtNumber(foreground_map) },
2650 { "XmNfractionBase",
2651 fractionBase_map, XtNumber(fractionBase_map) },
2653 geometry_map, XtNumber(geometry_map) },
2655 height_map, XtNumber(height_map) },
2657 heightInc_map, XtNumber(heightInc_map) },
2658 { "XmNhelpLabelString",
2659 helpLabelString_map, XtNumber(helpLabelString_map) },
2660 { "XmNhighlightColor",
2661 highlightColor_map, XtNumber(highlightColor_map) },
2662 { "XmNhighlightOnEnter",
2663 highlightOnEnter_map, XtNumber(highlightOnEnter_map) },
2664 { "XmNhighlightPixmap",
2665 highlightPixmap_map, XtNumber(highlightPixmap_map) },
2666 { "XmNhighlightThickness",
2667 highlightThickness_map, XtNumber(highlightThickness_map) },
2668 { "XmNhistoryItemCount",
2669 historyItemCount_map, XtNumber(historyItemCount_map) },
2670 { "XmNhistoryItems",
2671 historyItems_map, XtNumber(historyItems_map) },
2672 { "XmNhistoryMaxItems",
2673 historyMaxItems_map, XtNumber(historyMaxItems_map) },
2674 { "XmNhistoryVisibleItemCount",
2675 historyVisibleItemCount_map, XtNumber(historyVisibleItemCount_map) },
2676 { "XmNhorizontalScrollBar",
2677 horizontalScrollBar_map, XtNumber(horizontalScrollBar_map) },
2678 { "XmNhorizontalSpacing",
2679 horizontalSpacing_map, XtNumber(horizontalSpacing_map) },
2681 iconMask_map, XtNumber(iconMask_map) },
2683 iconName_map, XtNumber(iconName_map) },
2684 { "XmNiconNameEncoding",
2685 iconNameEncoding_map, XtNumber(iconNameEncoding_map) },
2687 iconPixmap_map, XtNumber(iconPixmap_map) },
2689 iconWindow_map, XtNumber(iconWindow_map) },
2691 iconX_map, XtNumber(iconX_map) },
2693 iconY_map, XtNumber(iconY_map) },
2695 iconic_map, XtNumber(iconic_map) },
2697 increment_map, XtNumber(increment_map) },
2699 indicatorOn_map, XtNumber(indicatorOn_map) },
2700 { "XmNindicatorSize",
2701 indicatorSize_map, XtNumber(indicatorSize_map) },
2702 { "XmNindicatorType",
2703 indicatorType_map, XtNumber(indicatorType_map) },
2704 { "XmNinitialDelay",
2705 initialDelay_map, XtNumber(initialDelay_map) },
2706 { "XmNinitialFocus",
2707 initialFocus_map, XtNumber(initialFocus_map) },
2708 { "XmNinitialResourcesPersistent",
2709 initialResourcesPersistent_map, XtNumber(initialResourcesPersistent_map) },
2710 { "XmNinitialState",
2711 initialState_map, XtNumber(initialState_map) },
2713 input_map, XtNumber(input_map) },
2715 inputMethod_map, XtNumber(inputMethod_map) },
2716 { "XmNinsertPosition",
2717 insertPosition_map, XtNumber(insertPosition_map) },
2719 isAligned_map, XtNumber(isAligned_map) },
2720 { "XmNisHomogeneous",
2721 isHomogeneous_map, XtNumber(isHomogeneous_map) },
2723 itemCount_map, XtNumber(itemCount_map) },
2725 items_map, XtNumber(items_map) },
2726 { "XmNkeyboardFocusPolicy",
2727 keyboardFocusPolicy_map, XtNumber(keyboardFocusPolicy_map) },
2728 { "XmNlabelFontList",
2729 labelFontList_map, XtNumber(labelFontList_map) },
2730 { "XmNlabelInsensitivePixmap",
2731 labelInsensitivePixmap_map, XtNumber(labelInsensitivePixmap_map) },
2733 labelPixmap_map, XtNumber(labelPixmap_map) },
2735 labelString_map, XtNumber(labelString_map) },
2737 labelType_map, XtNumber(labelType_map) },
2738 { "XmNleftAttachment",
2739 leftAttachment_map, XtNumber(leftAttachment_map) },
2741 leftOffset_map, XtNumber(leftOffset_map) },
2742 { "XmNleftPosition",
2743 leftPosition_map, XtNumber(leftPosition_map) },
2745 leftWidget_map, XtNumber(leftWidget_map) },
2746 { "XmNlistItemCount",
2747 listItemCount_map, XtNumber(listItemCount_map) },
2749 listItems_map, XtNumber(listItems_map) },
2750 { "XmNlistLabelString",
2751 listLabelString_map, XtNumber(listLabelString_map) },
2752 { "XmNlistMarginHeight",
2753 listMarginHeight_map, XtNumber(listMarginHeight_map) },
2754 { "XmNlistMarginWidth",
2755 listMarginWidth_map, XtNumber(listMarginWidth_map) },
2756 { "XmNlistSizePolicy",
2757 listSizePolicy_map, XtNumber(listSizePolicy_map) },
2759 listSpacing_map, XtNumber(listSpacing_map) },
2761 listUpdated_map, XtNumber(listUpdated_map) },
2762 { "XmNlistVisibleItemCount",
2763 listVisibleItemCount_map, XtNumber(listVisibleItemCount_map) },
2764 { "XmNmainWindowMarginHeight",
2765 mainWindowMarginHeight_map, XtNumber(mainWindowMarginHeight_map) },
2766 { "XmNmainWindowMarginWidth",
2767 mainWindowMarginWidth_map, XtNumber(mainWindowMarginWidth_map) },
2768 { "XmNmappedWhenManaged",
2769 mappedWhenManaged_map, XtNumber(mappedWhenManaged_map) },
2770 { "XmNmappingDelay",
2771 mappingDelay_map, XtNumber(mappingDelay_map) },
2773 margin_map, XtNumber(margin_map) },
2774 { "XmNmarginBottom",
2775 marginBottom_map, XtNumber(marginBottom_map) },
2776 { "XmNmarginHeight",
2777 marginHeight_map, XtNumber(marginHeight_map) },
2779 marginLeft_map, XtNumber(marginLeft_map) },
2781 marginRight_map, XtNumber(marginRight_map) },
2783 marginTop_map, XtNumber(marginTop_map) },
2785 marginWidth_map, XtNumber(marginWidth_map) },
2787 maxAspectX_map, XtNumber(maxAspectX_map) },
2789 maxAspectY_map, XtNumber(maxAspectY_map) },
2791 maxHeight_map, XtNumber(maxHeight_map) },
2793 maxLength_map, XtNumber(maxLength_map) },
2795 maxWidth_map, XtNumber(maxWidth_map) },
2797 maximum_map, XtNumber(maximum_map) },
2798 { "XmNmenuAccelerator",
2799 menuAccelerator_map, XtNumber(menuAccelerator_map) },
2801 menuBar_map, XtNumber(menuBar_map) },
2802 { "XmNmenuHelpWidget",
2803 menuHelpWidget_map, XtNumber(menuHelpWidget_map) },
2805 menuHistory_map, XtNumber(menuHistory_map) },
2807 menuPost_map, XtNumber(menuPost_map) },
2808 { "XmNmessageAlignment",
2809 messageAlignment_map, XtNumber(messageAlignment_map) },
2810 { "XmNmessageString",
2811 messageString_map, XtNumber(messageString_map) },
2812 { "XmNmessageWindow",
2813 messageWindow_map, XtNumber(messageWindow_map) },
2815 minAspectX_map, XtNumber(minAspectX_map) },
2817 minAspectY_map, XtNumber(minAspectY_map) },
2819 minHeight_map, XtNumber(minHeight_map) },
2821 minWidth_map, XtNumber(minWidth_map) },
2822 { "XmNminimizeButtons",
2823 minimizeButtons_map, XtNumber(minimizeButtons_map) },
2825 minimum_map, XtNumber(minimum_map) },
2827 mnemonic_map, XtNumber(mnemonic_map) },
2828 { "XmNmnemonicCharSet",
2829 mnemonicCharSet_map, XtNumber(mnemonicCharSet_map) },
2831 multiClick_map, XtNumber(multiClick_map) },
2833 mustMatch_map, XtNumber(mustMatch_map) },
2834 { "XmNmwmDecorations",
2835 mwmDecorations_map, XtNumber(mwmDecorations_map) },
2836 { "XmNmwmFunctions",
2837 mwmFunctions_map, XtNumber(mwmFunctions_map) },
2838 { "XmNmwmInputMode",
2839 mwmInputMode_map, XtNumber(mwmInputMode_map) },
2841 mwmMenu_map, XtNumber(mwmMenu_map) },
2842 { "XmNnavigationType",
2843 navigationType_map, XtNumber(navigationType_map) },
2844 { "XmNnoMatchString",
2845 noMatchString_map, XtNumber(noMatchString_map) },
2847 noResize_map, XtNumber(noResize_map) },
2849 numColumns_map, XtNumber(numColumns_map) },
2850 { "XmNokLabelString",
2851 okLabelString_map, XtNumber(okLabelString_map) },
2853 orientation_map, XtNumber(orientation_map) },
2854 { "XmNoverrideRedirect",
2855 overrideRedirect_map, XtNumber(overrideRedirect_map) },
2857 packing_map, XtNumber(packing_map) },
2858 { "XmNpageIncrement",
2859 pageIncrement_map, XtNumber(pageIncrement_map) },
2861 paneMaximum_map, XtNumber(paneMaximum_map) },
2863 paneMinimum_map, XtNumber(paneMinimum_map) },
2865 pattern_map, XtNumber(pattern_map) },
2866 { "XmNpendingDelete",
2867 pendingDelete_map, XtNumber(pendingDelete_map) },
2868 { "XmNpopupEnabled",
2869 popupEnabled_map, XtNumber(popupEnabled_map) },
2870 { "XmNpositionIndex",
2871 positionIndex_map, XtNumber(positionIndex_map) },
2872 { "XmNpostFromCount",
2873 postFromCount_map, XtNumber(postFromCount_map) },
2874 { "XmNpostFromList",
2875 postFromList_map, XtNumber(postFromList_map) },
2877 preeditType_map, XtNumber(preeditType_map) },
2878 { "XmNprocessingDirection",
2879 processingDirection_map, XtNumber(processingDirection_map) },
2880 { "XmNpromptString",
2881 promptString_map, XtNumber(promptString_map) },
2882 { "XmNpushButtonEnabled",
2883 pushButtonEnabled_map, XtNumber(pushButtonEnabled_map) },
2884 { "XmNqualifySearchDataProc",
2885 qualifySearchDataProc_map, XtNumber(qualifySearchDataProc_map) },
2886 { "XmNradioAlwaysOne",
2887 radioAlwaysOne_map, XtNumber(radioAlwaysOne_map) },
2888 { "XmNradioBehavior",
2889 radioBehavior_map, XtNumber(radioBehavior_map) },
2890 { "XmNrecomputeSize",
2891 recomputeSize_map, XtNumber(recomputeSize_map) },
2892 { "XmNrefigureMode",
2893 refigureMode_map, XtNumber(refigureMode_map) },
2895 repeatDelay_map, XtNumber(repeatDelay_map) },
2897 resizable_map, XtNumber(resizable_map) },
2898 { "XmNresizeHeight",
2899 resizeHeight_map, XtNumber(resizeHeight_map) },
2900 { "XmNresizePolicy",
2901 resizePolicy_map, XtNumber(resizePolicy_map) },
2903 resizeWidth_map, XtNumber(resizeWidth_map) },
2904 { "XmNrightAttachment",
2905 rightAttachment_map, XtNumber(rightAttachment_map) },
2907 rightOffset_map, XtNumber(rightOffset_map) },
2908 { "XmNrightPosition",
2909 rightPosition_map, XtNumber(rightPosition_map) },
2911 rightWidget_map, XtNumber(rightWidget_map) },
2912 { "XmNrowColumnType",
2913 rowColumnType_map, XtNumber(rowColumnType_map) },
2915 rows_map, XtNumber(rows_map) },
2916 { "XmNrubberPositioning",
2917 rubberPositioning_map, XtNumber(rubberPositioning_map) },
2919 sashHeight_map, XtNumber(sashHeight_map) },
2921 sashIndent_map, XtNumber(sashIndent_map) },
2922 { "XmNsashShadowThickness",
2923 sashShadowThickness_map, XtNumber(sashShadowThickness_map) },
2925 sashWidth_map, XtNumber(sashWidth_map) },
2927 saveUnder_map, XtNumber(saveUnder_map) },
2929 scaleHeight_map, XtNumber(scaleHeight_map) },
2930 { "XmNscaleMultiple",
2931 scaleMultiple_map, XtNumber(scaleMultiple_map) },
2933 scaleWidth_map, XtNumber(scaleWidth_map) },
2935 screen_map, XtNumber(screen_map) },
2936 { "XmNscrollBarDisplayPolicy",
2937 scrollBarDisplayPolicy_map, XtNumber(scrollBarDisplayPolicy_map) },
2938 { "XmNscrollBarPlacement",
2939 scrollBarPlacement_map, XtNumber(scrollBarPlacement_map) },
2940 { "XmNscrollHorizontal",
2941 scrollHorizontal_map, XtNumber(scrollHorizontal_map) },
2942 { "XmNscrollLeftSide",
2943 scrollLeftSide_map, XtNumber(scrollLeftSide_map) },
2944 { "XmNscrollTopSide",
2945 scrollTopSide_map, XtNumber(scrollTopSide_map) },
2946 { "XmNscrollVertical",
2947 scrollVertical_map, XtNumber(scrollVertical_map) },
2948 { "XmNscrolledWindowMarginHeight",
2949 scrolledWindowMarginHeight_map, XtNumber(scrolledWindowMarginHeight_map) },
2950 { "XmNscrolledWindowMarginWidth",
2951 scrolledWindowMarginWidth_map, XtNumber(scrolledWindowMarginWidth_map) },
2952 { "XmNscrollingPolicy",
2953 scrollingPolicy_map, XtNumber(scrollingPolicy_map) },
2955 selectColor_map, XtNumber(selectColor_map) },
2956 { "XmNselectInsensitivePixmap",
2957 selectInsensitivePixmap_map, XtNumber(selectInsensitivePixmap_map) },
2958 { "XmNselectPixmap",
2959 selectPixmap_map, XtNumber(selectPixmap_map) },
2960 { "XmNselectThreshold",
2961 selectThreshold_map, XtNumber(selectThreshold_map) },
2962 { "XmNselectedItemCount",
2963 selectedItemCount_map, XtNumber(selectedItemCount_map) },
2964 { "XmNselectedItems",
2965 selectedItems_map, XtNumber(selectedItems_map) },
2966 { "XmNselectionArray",
2967 selectionArray_map, XtNumber(selectionArray_map) },
2968 { "XmNselectionArrayCount",
2969 selectionArrayCount_map, XtNumber(selectionArrayCount_map) },
2970 { "XmNselectionLabelString",
2971 selectionLabelString_map, XtNumber(selectionLabelString_map) },
2972 { "XmNselectionPolicy",
2973 selectionPolicy_map, XtNumber(selectionPolicy_map) },
2975 sensitive_map, XtNumber(sensitive_map) },
2977 separatorOn_map, XtNumber(separatorOn_map) },
2978 { "XmNseparatorType",
2979 separatorType_map, XtNumber(separatorType_map) },
2981 set_map, XtNumber(set_map) },
2982 { "XmNshadowThickness",
2983 shadowThickness_map, XtNumber(shadowThickness_map) },
2985 shadowType_map, XtNumber(shadowType_map) },
2986 { "XmNshellUnitType",
2987 shellUnitType_map, XtNumber(shellUnitType_map) },
2989 showArrows_map, XtNumber(showArrows_map) },
2990 { "XmNshowAsDefault",
2991 showAsDefault_map, XtNumber(showAsDefault_map) },
2992 { "XmNshowSeparator",
2993 showSeparator_map, XtNumber(showSeparator_map) },
2995 showValue_map, XtNumber(showValue_map) },
2997 skipAdjust_map, XtNumber(skipAdjust_map) },
2999 sliderSize_map, XtNumber(sliderSize_map) },
3001 source_map, XtNumber(source_map) },
3003 spacing_map, XtNumber(spacing_map) },
3004 { "XmNstringDirection",
3005 stringDirection_map, XtNumber(stringDirection_map) },
3007 subMenuId_map, XtNumber(subMenuId_map) },
3008 { "XmNsymbolPixmap",
3009 symbolPixmap_map, XtNumber(symbolPixmap_map) },
3010 { "XmNtearOffModel",
3011 tearOffModel_map, XtNumber(tearOffModel_map) },
3012 { "XmNtextAccelerators",
3013 textAccelerators_map, XtNumber(textAccelerators_map) },
3015 textColumns_map, XtNumber(textColumns_map) },
3016 { "XmNtextFontList",
3017 textFontList_map, XtNumber(textFontList_map) },
3019 textString_map, XtNumber(textString_map) },
3020 { "XmNtextTranslations",
3021 textTranslations_map, XtNumber(textTranslations_map) },
3023 title_map, XtNumber(title_map) },
3024 { "XmNtitleEncoding",
3025 titleEncoding_map, XtNumber(titleEncoding_map) },
3027 titleString_map, XtNumber(titleString_map) },
3028 { "XmNtopAttachment",
3029 topAttachment_map, XtNumber(topAttachment_map) },
3030 { "XmNtopCharacter",
3031 topCharacter_map, XtNumber(topCharacter_map) },
3032 { "XmNtopItemPosition",
3033 topItemPosition_map, XtNumber(topItemPosition_map) },
3035 topOffset_map, XtNumber(topOffset_map) },
3037 topPosition_map, XtNumber(topPosition_map) },
3038 { "XmNtopShadowColor",
3039 topShadowColor_map, XtNumber(topShadowColor_map) },
3040 { "XmNtopShadowPixmap",
3041 topShadowPixmap_map, XtNumber(topShadowPixmap_map) },
3043 topWidget_map, XtNumber(topWidget_map) },
3045 transient_map, XtNumber(transient_map) },
3046 { "XmNtransientFor",
3047 transientFor_map, XtNumber(transientFor_map) },
3048 { "XmNtranslations",
3049 translations_map, XtNumber(translations_map) },
3051 traversalOn_map, XtNumber(traversalOn_map) },
3053 troughColor_map, XtNumber(troughColor_map) },
3055 unitType_map, XtNumber(unitType_map) },
3056 { "XmNunpostBehavior",
3057 unpostBehavior_map, XtNumber(unpostBehavior_map) },
3058 { "XmNuseAsyncGeometry",
3059 useAsyncGeometry_map, XtNumber(useAsyncGeometry_map) },
3061 userData_map, XtNumber(userData_map) },
3063 value_map, XtNumber(value_map) },
3065 valueWcs_map, XtNumber(valueWcs_map) },
3067 verifyBell_map, XtNumber(verifyBell_map) },
3068 { "XmNverticalScrollBar",
3069 verticalScrollBar_map, XtNumber(verticalScrollBar_map) },
3070 { "XmNverticalSpacing",
3071 verticalSpacing_map, XtNumber(verticalSpacing_map) },
3072 { "XmNvisibleItemCount",
3073 visibleItemCount_map, XtNumber(visibleItemCount_map) },
3074 { "XmNvisibleWhenOff",
3075 visibleWhenOff_map, XtNumber(visibleWhenOff_map) },
3077 visual_map, XtNumber(visual_map) },
3078 { "XmNvisualPolicy",
3079 visualPolicy_map, XtNumber(visualPolicy_map) },
3081 waitForWm_map, XtNumber(waitForWm_map) },
3083 whichButton_map, XtNumber(whichButton_map) },
3085 width_map, XtNumber(width_map) },
3087 widthInc_map, XtNumber(widthInc_map) },
3089 winGravity_map, XtNumber(winGravity_map) },
3091 windowGroup_map, XtNumber(windowGroup_map) },
3093 wmTimeout_map, XtNumber(wmTimeout_map) },
3095 wordWrap_map, XtNumber(wordWrap_map) },
3097 workWindow_map, XtNumber(workWindow_map) },
3099 x_map, XtNumber(x_map) },
3101 y_map, XtNumber(y_map) },
3114 for (i = 0; i < XtNumber(resource_attr_map); i++)
3117 ResourceAttrMap *this_map = &(resource_attr_map[i]);
3119 printf("%s[%d]\n", this_map->resource_name, this_map->num_maps);
3121 for (j = 0; j < this_map->num_maps; j++)
3123 printf(" mask 0x%lx -> offset %d size %d\n",
3124 this_map->attr_maps[j].obj_mask,
3125 this_map->attr_maps[j].attr_offset,
3126 this_map->attr_maps[j].attr_size);
3141 ((ResourceAttrMap *)a)->resource_name,
3142 ((ResourceAttrMap *)b)->resource_name));
3147 abuilP_store_attr_in_abobj(
3150 AB_ARG_TYPE res_type,
3154 BOOL ret_val = FALSE;
3155 ResourceAttrMap key_map;
3156 ResourceAttrMap *match;
3158 key_map.resource_name = res_name;
3160 /* REMIND: fprintf(stderr,"Checking resource %s\n",res_name); */
3161 match = (ResourceAttrMap*)bsearch((void *)&key_map,
3162 resource_attr_map, XtNumber(resource_attr_map),
3163 sizeof(ResourceAttrMap), compare_maps);
3165 if (match != (ResourceAttrMap *)NULL && match->num_maps > 0)
3167 AB_OBJECT_TYPE ab_type = obj_get_type(obj);
3168 unsigned long obj_mask = BMASK(ab_type);
3169 AttrMap *maps = match->attr_maps;
3172 /* REMIND: fprintf(stderr,"Searching matched maps\n"); */
3173 for (i = 0; i < match->num_maps; i++)
3176 fprintf(stderr,"\tmask[%d] = %ld, obj = %ld\n", i,
3177 maps[i].obj_mask, obj_mask);
3179 if (maps[i].obj_mask & obj_mask && maps[i].attr_size > 0)
3182 fprintf(stderr,"Handling resource as type %d\n",
3183 maps[i].value_type);
3186 switch(maps[i].value_type)
3192 case AB_ARG_XMSTRING:
3193 case AB_ARG_LITERAL:
3195 ISTRING istr_val = istr_create((STRING)res_value);
3197 memmove((char *)obj + maps[i].attr_offset,
3198 &istr_val, maps[i].attr_size);
3202 memmove((char *)obj + maps[i].attr_offset,
3203 &res_value, maps[i].attr_size);
3209 memmove((char *)obj + maps[i].attr_offset,
3210 &(maps[i].const_value), maps[i].attr_size);
3216 VAL_PROC_HANDLER handler =
3217 (VAL_PROC_HANDLER)maps[i].const_value;
3219 if (handler != (VAL_PROC_HANDLER)NULL)
3220 ret_val = (*handler)(obj,
3221 res_name, res_type, res_value);
3227 void *ctx_addr = (void *)maps[i].const_value;
3231 case AB_ARG_XMSTRING:
3232 case AB_ARG_LITERAL:
3235 istr_create((STRING)res_value);
3237 memmove((char *)ctx_addr + maps[i].attr_offset,
3238 &istr_val, maps[i].attr_size);
3242 case AB_ARG_VOID_PTR:
3245 (ObjRef *)XtMalloc(sizeof(ObjRef));
3247 ref->reference = (void *)res_value;
3248 if (res_type == AB_ARG_WIDGET)
3249 ref->is_resolved = FALSE;
3251 ref->is_resolved = TRUE;
3252 memmove((char *)ctx_addr + maps[i].attr_offset,
3253 &ref, maps[i].attr_size);
3257 memmove((char *)ctx_addr + maps[i].attr_offset,
3258 &res_value, maps[i].attr_size);
3271 abuilP_init_context_attrs(
3277 for (i = 0; i < XtNumber(AbuilP_attr_contexts); i++)
3279 CONTEXT_INIT_HANDLER handler = AbuilP_attr_contexts[i]->init_handler;
3281 if (handler != NULL)
3282 (*handler)(AbuilP_attr_contexts[i]);
3287 abuilP_store_context_attrs(
3293 for (i = 0; i < XtNumber(AbuilP_attr_contexts); i++)
3295 CONTEXT_STORE_HANDLER handler = AbuilP_attr_contexts[i]->store_handler;
3297 if (handler != NULL)
3298 (*handler)(ab_widget, AbuilP_attr_contexts[i]);
3303 attach_context_init(
3307 AttachmentContext *attach_context = (AttachmentContext *)context;
3309 attach_context->att_type = (ISTRING)NULL;
3310 attach_context->att_object = (ObjRef *)NULL;
3311 attach_context->att_position = 0;
3312 attach_context->att_offset = 0;
3316 north_attach_context_store(
3318 AnyContext *attach_context
3321 attach_context_store(ab_widget, AB_CP_NORTH, attach_context);
3324 south_attach_context_store(
3326 AnyContext *attach_context
3329 attach_context_store(ab_widget, AB_CP_SOUTH, attach_context);
3332 east_attach_context_store(
3334 AnyContext *attach_context
3337 attach_context_store(ab_widget, AB_CP_EAST, attach_context);
3340 west_attach_context_store(
3342 AnyContext *attach_context
3345 attach_context_store(ab_widget, AB_CP_WEST, attach_context);
3349 attach_context_store(
3351 AB_COMPASS_POINT dir,
3355 AttachmentContext *attach_context = (AttachmentContext *)context;
3357 AB_ATTACH_TYPE att_type;
3358 int att_pos = 0, att_off = 0, offset = 0;
3360 BOOL need_val = TRUE;
3363 /* Fetch attachment position out of appropriate context */
3364 att_pos = attach_context->att_position;
3365 att_off = attach_context->att_offset;
3367 /* If no attachment, just return */
3368 if (attach_context->att_type == (ISTRING)NULL) return;
3370 /* Get attachment type string */
3371 attach_str = istr_string(attach_context->att_type);
3374 ** Set up attachment attributes based on attachment type
3376 ** XmATTACH_NONE : do nothing - just return
3377 ** XmATTACH_FORM : attach directly to the form, plus offset
3378 ** value = form widget, offset = XmNfooOffset value (w.r.t. form)
3379 ** XmATTACH_OPPOSITE_FORM : attach to opposite side of form, + offset
3380 ** value = form widget, offset = XmNfooOffset value (w.r.t. form)
3381 ** XmATTACH_WIDGET : attach to opposite side of widget specified
3382 ** : in attach_context
3383 ** value = att_object widget, offset = XmNfooOffset (w.r.t. target)
3384 ** XmATTACH_OPPOSITE_WIDGET: attach to same side of widget specified
3385 ** : in attach_context
3386 ** value = att_object widget, offset = XmNfooOffset (w.r.t. target)
3387 ** XmATTACH_POSITION : attach to position set in attach_context
3388 ** value = att_position, offset = att_offset
3392 if (strcmp(attach_str, "XmATTACH_NONE") == 0)
3394 else if (strcmp(attach_str, "XmATTACH_FORM") == 0)
3396 att_type = AB_ATTACH_OBJ;
3397 value = obj_get_parent(ab_widget); need_val = FALSE;
3400 else if (strcmp(attach_str, "XmATTACH_OPPOSITE_FORM") == 0)
3402 att_type = AB_ATTACH_ALIGN_OBJ_EDGE;
3403 value = obj_get_parent(ab_widget); need_val = FALSE;
3406 else if (strcmp(attach_str, "XmATTACH_WIDGET") == 0)
3408 att_type = AB_ATTACH_OBJ;
3411 else if (strcmp(attach_str, "XmATTACH_OPPOSITE_WIDGET") == 0)
3413 att_type = AB_ATTACH_ALIGN_OBJ_EDGE;
3416 else if (strcmp(attach_str, "XmATTACH_POSITION") == 0)
3418 att_type = AB_ATTACH_GRIDLINE;
3419 value = (void *)att_pos; need_val = FALSE;
3422 else if (strcmp(attach_str, "XmATTACH_SELF") == 0)
3426 if (need_val == TRUE && (obj_ref = attach_context->att_object) != NULL)
3428 if (!obj_ref->is_resolved)
3430 RefResolve *rr = (RefResolve *)XtMalloc(sizeof(RefResolve));
3432 rr->obj = ab_widget;
3434 abuil_add_unresolved_ref((void *)rr);
3436 value = obj_ref->reference;
3437 XtFree((char *)obj_ref);
3439 obj_set_attachment(ab_widget, dir, att_type, value, offset);
3446 AB_ARG_TYPE res_type,
3450 if(obj_set_label(obj,(STRING)res_value)) return(FALSE);
3455 val_set_labeltype_proc(
3458 AB_ARG_TYPE res_type,
3464 /* Convert XmPIXMAP or XmSTRING to AB_LABEL_* values */
3465 if(util_streq((STRING)res_value,"XmPIXMAP")) {
3466 ret_val = obj_set_label_type(obj,AB_LABEL_GLYPH);
3469 ret_val = obj_set_label_type(obj,AB_LABEL_STRING);
3471 if(ret_val) return(FALSE);
3479 AB_ARG_TYPE res_type,
3483 if(obj_set_num_rows(obj,(int)res_value)) return(FALSE);
3488 val_set_columns_proc(
3491 AB_ARG_TYPE res_type,
3495 if(obj_set_num_columns(obj,(int)res_value)) return(FALSE);
3500 val_set_maximum_proc(
3503 AB_ARG_TYPE res_type,
3507 if(obj_set_max_value(obj,(int)res_value)) return(FALSE);
3512 val_set_minimum_proc(
3515 AB_ARG_TYPE res_type,
3519 if(obj_set_min_value(obj,(int)res_value)) return(FALSE);
3524 val_set_numcols_proc(
3527 AB_ARG_TYPE res_type,
3531 if(obj_set_num_columns(obj,(int)res_value)) return(FALSE);
3536 val_set_orientation_proc(
3539 AB_ARG_TYPE res_type,
3545 /* Convert XmPIXMAP or XmSTRING to AB_LABEL_* values */
3546 if(util_streq((STRING)res_value,"XmVERTICAL")) {
3547 ret_val = obj_set_orientation(obj,AB_ORIENT_VERTICAL);
3550 ret_val = obj_set_orientation(obj,AB_ORIENT_HORIZONTAL);
3552 if(ret_val) return(FALSE);
3560 AB_ARG_TYPE res_type,
3564 if(obj_set_fg_color(obj,(STRING)res_value)) return(FALSE);
3572 AB_ARG_TYPE res_type,
3576 if(obj_set_bg_color(obj,(STRING)res_value)) return(FALSE);
3581 val_set_sensitive_proc(
3584 AB_ARG_TYPE res_type,
3591 ret_val = obj_set_is_initially_active(obj,TRUE);
3594 ret_val = obj_set_is_initially_active(obj,FALSE);
3596 if(ret_val) return(FALSE);
3601 val_set_mnemonic_proc(
3604 AB_ARG_TYPE res_type,
3608 if(obj_set_mnemonic(obj,(STRING)res_value)) return(FALSE);
3613 val_set_oklabel_proc(
3616 AB_ARG_TYPE res_type,
3620 if(obj_set_ok_label(obj,(STRING)res_value)) return(FALSE);
3625 val_set_autounmanage_proc(
3628 AB_ARG_TYPE res_type,
3634 if(res_value) ret_val = obj_set_auto_dismiss(obj,TRUE);
3635 else ret_val = obj_set_auto_dismiss(obj,FALSE);
3637 if(ret_val) return(FALSE);
3642 val_set_directory_proc(
3645 AB_ARG_TYPE res_type,
3649 if(obj_set_directory(obj,(STRING)res_value)) return(FALSE);
3654 val_set_pattern_proc(
3657 AB_ARG_TYPE res_type,
3661 if(obj_set_filter_pattern(obj,(STRING)res_value)) return(FALSE);
3666 val_set_filetype_proc(
3669 AB_ARG_TYPE res_type,
3673 AB_FILE_TYPE_MASK ftm = AB_FILE_TYPE_MASK_UNDEF;
3675 if(util_streq((STRING)res_value,"XmFILE_REGULAR")) {
3676 ftm = AB_FILE_REGULAR;
3679 if(util_streq((STRING)res_value,"XmFILE_DIRECTORY")) {
3680 ftm = AB_FILE_DIRECTORY;
3683 if(util_streq((STRING)res_value,"XmFILE_ANY")) {
3688 if(obj_set_file_type_mask(obj,ftm)) return(FALSE);
3693 val_set_maxlen_proc(
3696 AB_ARG_TYPE res_type,
3700 if(obj_set_max_length(obj,(int)res_value)) return(FALSE);
3705 val_set_panemax_proc(
3708 AB_ARG_TYPE res_type,
3712 if(obj_set_pane_max(obj,(int)res_value)) return(FALSE);
3717 val_set_panemin_proc(
3720 AB_ARG_TYPE res_type,
3724 if(obj_set_pane_min(obj,(int)res_value)) return(FALSE);
3729 val_set_intvalue_proc(
3732 AB_ARG_TYPE res_type,
3736 if(obj_set_initial_value_int(obj,(int)res_value)) return(FALSE);
3741 val_set_strvalue_proc(
3744 AB_ARG_TYPE res_type,
3748 if(obj_set_initial_value_string(obj,(STRING)res_value)) return(FALSE);
3753 val_set_increment_proc(
3756 AB_ARG_TYPE res_type,
3760 if(obj_set_increment(obj,(int)res_value)) return(FALSE);
3765 val_set_decpts_proc(
3768 AB_ARG_TYPE res_type,
3772 if(obj_set_decimal_points(obj,(int)res_value)) return(FALSE);
3777 val_set_showval_proc(
3780 AB_ARG_TYPE res_type,
3786 if(res_value) ret_val = obj_set_show_value(obj,TRUE);
3787 else ret_val = obj_set_show_value(obj,FALSE);
3789 if(ret_val) return(FALSE);
3794 val_set_scrollh_proc(
3797 AB_ARG_TYPE res_type,
3803 if(res_value) ret_val = obj_set_hscrollbar_policy(obj,AB_SCROLLBAR_ALWAYS);
3804 else ret_val = obj_set_hscrollbar_policy(obj,AB_SCROLLBAR_NEVER);
3806 if(ret_val) return(FALSE);
3811 val_set_scrollv_proc(
3814 AB_ARG_TYPE res_type,
3820 if(res_value) ret_val = obj_set_vscrollbar_policy(obj,AB_SCROLLBAR_ALWAYS);
3821 else ret_val = obj_set_vscrollbar_policy(obj,AB_SCROLLBAR_NEVER);
3823 if(ret_val) return(FALSE);
3827 static ABuilStrIntMap linestyle_map[] = {
3828 {"XmSINGLE_LINE", AB_LINE_SINGLE_LINE},
3829 {"XmDOUBLE_LINE", AB_LINE_DOUBLE_LINE},
3830 {"XmSINGLE_DASHED_LINE", AB_LINE_SINGLE_DASHED_LINE},
3831 {"XmDOUBLE_DASHED_LINE", AB_LINE_DOUBLE_DASHED_LINE},
3832 {"XmNO_LINE", AB_LINE_NONE},
3833 {"XmSHADOW_ETCHED_IN", AB_LINE_ETCHED_IN},
3834 {"XmSHADOW_ETCHED_OUT", AB_LINE_ETCHED_OUT},
3835 {"XmSHADOW_ETCHED_IN_DASH", AB_LINE_ETCHED_IN_DASH},
3836 {"XmSHADOW_ETCHED_OUT_DASH", AB_LINE_ETCHED_OUT_DASH},
3840 val_set_linestyle_proc(
3843 AB_ARG_TYPE res_type,
3848 AB_LINE_TYPE linestyle = AB_LINE_NONE;
3850 for(i=0;i<XtNumber(linestyle_map);i++) {
3851 if(util_streq((STRING)res_value,linestyle_map[i].string)) {
3852 linestyle = (AB_LINE_TYPE) linestyle_map[i].value;
3857 fprintf(stderr,"SeparatorType %s = linestyle %d (#%d)\n",
3858 res_value,linestyle,i);
3860 if(obj_set_line_style(obj,linestyle)) return(FALSE);
3864 static ABuilStrIntMap border_map[] = {
3865 {"XmSHADOW_IN", AB_LINE_SHADOW_IN},
3866 {"XmSHADOW_OUT", AB_LINE_SHADOW_OUT},
3867 {"XmSHADOW_ETCHED_IN", AB_LINE_ETCHED_IN},
3868 {"XmSHADOW_ETCHED_OUT", AB_LINE_ETCHED_OUT},
3872 val_set_border_proc(
3875 AB_ARG_TYPE res_type,
3880 AB_LINE_TYPE border = AB_LINE_NONE;
3882 for(i=0;i<XtNumber(border_map);i++) {
3883 if(util_streq((STRING)res_value,border_map[i].string)) {
3884 border = (AB_LINE_TYPE) border_map[i].value;
3889 fprintf(stderr,"ShadowType %s = linestyle %d (#%d)\n",res_value,border,i);
3891 if(obj_set_border_frame(obj,border)) return(FALSE);
3896 val_set_wordwrap_proc(
3899 AB_ARG_TYPE res_type,
3905 if(res_value) ret_val = obj_set_word_wrap(obj,TRUE);
3906 else ret_val = obj_set_word_wrap(obj,TRUE);
3908 if(ret_val) return(FALSE);
3913 val_set_packing_proc(
3916 AB_ARG_TYPE res_type,
3920 if(util_streq((STRING)res_value,"XmPACK_NONE")) {
3921 /* obj_set_packing(obj,AB_PACK_NONE); */
3922 obj->info.container.packing = AB_PACK_NONE;
3925 if(util_streq((STRING)res_value,"XmPACK_TIGHT")) {
3926 /* obj_set_packing(obj,AB_PACK_TIGHT); */
3927 obj->info.container.packing = AB_PACK_TIGHT;
3930 if(util_streq((STRING)res_value,"XmPACK_COLUMN")) {
3931 /* obj_set_packing(obj,AB_PACK_EQUAL); */
3932 obj->info.container.packing = AB_PACK_EQUAL;
3938 /* This routine is used for map dispatch debugging */
3943 AB_ARG_TYPE res_type,
3947 fprintf(stderr,"Mapping resource \"%s\" for object %s",res_name,
3952 case AB_ARG_LITERAL:
3953 fprintf(stderr,", value = %s\n",res_value); break;
3955 fprintf(stderr,", value = %d\n",res_value); break;
3957 fprintf(stderr,", value = %g\n",res_value); break;
3958 case AB_ARG_BOOLEAN:
3959 if(res_value) fprintf(stderr,", value = TRUE\n");
3960 else fprintf(stderr,", value = FALSE\n");
3962 case AB_ARG_XMSTRING:
3963 case AB_ARG_XMSTRING_TBL:
3968 case AB_ARG_VOID_PTR:
3969 case AB_ARG_CALLBACK:
3970 case AB_ARG_VARIABLE:
3971 case AB_ARG_MNEMONIC:
3973 fprintf(stderr,"\n");