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
23 /* $XConsortium: dtIconShell.c /main/5 1996/10/21 15:27:41 mgreess $ */
24 /*********************************************************************
25 * (c) Copyright 1993, 1994 Hewlett-Packard Company
26 * (c) Copyright 1993, 1994 International Business Machines Corp.
27 * (c) Copyright 1993, 1994, 1995 Sun Microsystems, Inc.
28 * (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
30 **********************************************************************/
31 /*******************************************************************************
34 *******************************************************************************/
38 #include <Xm/MenuShell.h>
39 #include <Xm/CascadeB.h>
40 #include <Xm/SeparatoG.h>
42 #include <Xm/CascadeBG.h>
43 #include <Xm/PushBG.h>
44 #include <Xm/DrawingA.h>
45 #include <Xm/ScrolledW.h>
46 #include <Xm/ToggleBG.h>
47 #include <Xm/ToggleB.h>
48 #include <Xm/RowColumn.h>
50 #include <Xm/LabelG.h>
51 #include <Xm/DrawnB.h>
54 #include <X11/Shell.h>
55 #include <Dt/TitleBox.h>
57 #define PIXMAP_HEIGHT 48
58 #define PIXMAP_WIDTH 48
59 #define COLOR_BUTTON_SIZE 30
60 #define VIEWPORT_INITIAL_HEIGHT 290
62 /*******************************************************************************
63 Includes, Defines, and Global variables from the Declarations Editor:
64 *******************************************************************************/
66 #include "externals.h"
69 #define RES_CONVERT( res_name, res_value) \
70 XtVaTypedArg, (res_name), XmRString, (res_value), strlen(res_value) + 1
72 static Widget instructionText;
73 extern Widget coordinateText;
74 static Widget cmdButtonForm;
75 static Widget cmdButtonMgr;
76 static Widget cmdForm;
77 static Widget rotateMenu_pb1;
78 static Widget rotateMenu_pb2;
79 static Widget flipMenu_pb1;
80 static Widget flipMenu_pb2;
82 Widget staticColorsBox;
83 Widget symbolicColorsBox;
84 Widget staticGreysBox;
95 Widget rectangleButton;
99 Widget polylineButton;
100 Widget polygonButton;
101 Widget ellipseButton;
122 Widget symbolicColorPens;
123 Widget fgColorToggle;
124 Widget bgColorToggle;
125 Widget tsColorToggle;
126 Widget bsColorToggle;
127 Widget selectColorToggle;
128 Widget transparentColorToggle;
135 Widget fileMenu_new_pb;
136 Widget fileMenu_open_pb;
137 Widget fileMenu_save_pb;
138 Widget fileMenu_saveAs_pb;
139 Widget fileMenu_quit_pb;
140 Widget fileMenu_top_pb;
142 Widget editMenu_undo_pb;
143 Widget editMenu_cut_pb;
144 Widget editMenu_copy_pb;
145 Widget editMenu_paste_pb;
147 Widget editMenu_rotate_pb;
149 Widget editMenu_flip_pb;
150 Widget editMenu_scale_pb;
151 Widget editMenu_resize_pb;
152 Widget editMenu_addHS_pb;
153 Widget editMenu_deleteHS_pb;
154 Widget editMenu_clear_pb;
155 Widget editMenu_grabImage_pb;
156 Widget editMenu_top_pb;
158 Widget optionsMenu_grid;
160 Widget formatMenu_xbm_tb;
161 Widget formatMenu_xpm_tb;
162 Widget optionsMenu_format;
163 Widget magnificationMenu;
164 Widget magMenu_2x_tb;
165 Widget magMenu_3x_tb;
166 Widget magMenu_4x_tb;
167 Widget magMenu_5x_tb;
168 Widget magMenu_6x_tb;
169 Widget magMenu_8x_tb;
170 Widget magMenu_10x_tb;
171 Widget magMenu_12x_tb;
172 Widget optionsMenu_magnify;
173 Widget optionsMenu_top_pb;
175 Widget helpMenu_intro_pb;
176 Widget helpMenu_tasks_pb;
177 Widget helpMenu_ref_pb;
178 Widget helpMenu_item_pb;
179 Widget helpMenu_using_pb;
180 Widget helpMenu_version_pb;
181 Widget helpMenu_top_pb;
183 /*******************************************************************************
184 The following are translation tables.
185 *******************************************************************************/
187 static char *transTable1 = "#replace\n\
188 <Btn1Down>:tablet_event(\"DOWN\",\"1\")\n\
189 <Btn1Motion>:tablet_event(\"MOVE\",\"1\")\n\
190 <Btn1Up>:tablet_event(\"UP\",\"1\")\n\
191 <EnterWindow>:tablet_event(\"ENTER\",\"0\")\n\
192 <LeaveWindow>:tablet_event(\"LEAVE\",\"0\")\n\
193 <Expose>:tablet_event(\"EXPOSE\",\"0\")\n\
194 <FocusIn>:tablet_event(\"F_IN\",\"0\")\n\
195 <FocusOut>:tablet_event(\"F_OUT\",\"0\")\n\
196 <Motion>:tablet_event(\"MOVE\",\"0\")\n";
198 static char *transTable2 = "#override\n\
199 <Expose>:tablet_event(\"EXPOSE\",\"0\")\n";
201 /*******************************************************************************
202 Forward declarations of functions that are defined later in this file.
203 *******************************************************************************/
205 Widget create_dtIconShell();
206 static void NewGraphicsOp();
208 /*******************************************************************************
209 The following are Action functions.
210 *******************************************************************************/
217 Cardinal *numParams )
219 ProcessTabletEvent(w, event, params, *numParams);
222 /*******************************************************************************
223 The following are callback functions.
224 *******************************************************************************/
229 XtPointer clientData,
230 XtPointer callbackArg )
240 XtPointer clientData,
241 XtPointer callbackArg )
249 armCB_rectangleButton(
251 XtPointer clientData,
252 XtPointer callbackArg )
255 GraphicsOp = RECTANGLE;
262 XtPointer clientData,
263 XtPointer callbackArg )
273 XtPointer clientData,
274 XtPointer callbackArg )
284 XtPointer clientData,
285 XtPointer callbackArg )
293 armCB_polylineButton(
295 XtPointer clientData,
296 XtPointer callbackArg )
299 GraphicsOp = POLYLINE;
306 XtPointer clientData,
307 XtPointer callbackArg )
310 GraphicsOp = POLYGON;
317 XtPointer clientData,
318 XtPointer callbackArg )
321 GraphicsOp = ELLIPSE;
328 XtPointer clientData,
329 XtPointer callbackArg )
337 valueChangedCB_fillToggle(
339 XtPointer clientData,
340 XtPointer callbackArg )
348 valueChangedCB_color_pb1(
350 XtPointer clientData,
351 XtPointer callbackArg )
354 Select_New_Pen(COLOR1);
358 valueChangedCB_color_pb2(
360 XtPointer clientData,
361 XtPointer callbackArg )
364 Select_New_Pen(COLOR2);
368 valueChangedCB_color_pb3(
370 XtPointer clientData,
371 XtPointer callbackArg )
374 Select_New_Pen(COLOR3);
378 valueChangedCB_color_pb4(
380 XtPointer clientData,
381 XtPointer callbackArg )
384 Select_New_Pen(COLOR4);
388 valueChangedCB_color_pb5(
390 XtPointer clientData,
391 XtPointer callbackArg )
394 Select_New_Pen(COLOR5);
398 valueChangedCB_color_pb6(
400 XtPointer clientData,
401 XtPointer callbackArg )
404 Select_New_Pen(COLOR6);
408 valueChangedCB_color_pb7(
410 XtPointer clientData,
411 XtPointer callbackArg )
414 Select_New_Pen(COLOR7);
418 valueChangedCB_color_pb8(
420 XtPointer clientData,
421 XtPointer callbackArg )
424 Select_New_Pen(COLOR8);
428 valueChangedCB_grey_pb1(
430 XtPointer clientData,
431 XtPointer callbackArg )
434 Select_New_Pen(GREY1);
438 valueChangedCB_grey_pb2(
440 XtPointer clientData,
441 XtPointer callbackArg )
444 Select_New_Pen(GREY2);
448 valueChangedCB_grey_pb3(
450 XtPointer clientData,
451 XtPointer callbackArg )
454 Select_New_Pen(GREY3);
458 valueChangedCB_grey_pb4(
460 XtPointer clientData,
461 XtPointer callbackArg )
464 Select_New_Pen(GREY4);
468 valueChangedCB_grey_pb5(
470 XtPointer clientData,
471 XtPointer callbackArg )
474 Select_New_Pen(GREY5);
478 valueChangedCB_grey_pb6(
480 XtPointer clientData,
481 XtPointer callbackArg )
484 Select_New_Pen(GREY6);
488 valueChangedCB_grey_pb7(
490 XtPointer clientData,
491 XtPointer callbackArg )
494 Select_New_Pen(GREY7);
498 valueChangedCB_grey_pb8(
500 XtPointer clientData,
501 XtPointer callbackArg )
504 Select_New_Pen(GREY8);
508 valueChangedCB_fgColorToggle(
510 XtPointer clientData,
511 XtPointer callbackArg )
514 Select_New_Pen(FG_COLOR);
518 valueChangedCB_bgColorToggle(
520 XtPointer clientData,
521 XtPointer callbackArg )
524 Select_New_Pen(BG_COLOR);
528 valueChangedCB_tsColorToggle(
530 XtPointer clientData,
531 XtPointer callbackArg )
534 Select_New_Pen(TS_COLOR);
538 valueChangedCB_bsColorToggle(
540 XtPointer clientData,
541 XtPointer callbackArg )
544 Select_New_Pen(BS_COLOR);
548 valueChangedCB_selectColorToggle(
550 XtPointer clientData,
551 XtPointer callbackArg )
554 Select_New_Pen(SELECT_COLOR);
558 valueChangedCB_transparentColorToggle(
560 XtPointer clientData,
561 XtPointer callbackArg )
564 Select_New_Pen(TRANS_COLOR);
568 activateCB_fileMenu_new_pb(
570 XtPointer clientData,
571 XtPointer callbackArg )
578 activateCB_fileMenu_open_pb(
580 XtPointer clientData,
581 XtPointer callbackArg )
588 activateCB_fileMenu_save_pb(
590 XtPointer clientData,
591 XtPointer callbackArg )
598 activateCB_fileMenu_saveAs_pb(
600 XtPointer clientData,
601 XtPointer callbackArg )
608 activateCB_fileMenu_quit_pb(
610 XtPointer clientData,
611 XtPointer callbackArg )
618 activateCB_editMenu_undo_pb(
620 XtPointer clientData,
621 XtPointer callbackArg )
628 activateCB_editMenu_cut_pb(
630 XtPointer clientData,
631 XtPointer callbackArg )
638 activateCB_editMenu_copy_pb(
640 XtPointer clientData,
641 XtPointer callbackArg )
644 Process_Copy(&CutCopy, &CutCopy_mono);
648 activateCB_editMenu_paste_pb(
650 XtPointer clientData,
651 XtPointer callbackArg )
658 activateCB_rotateMenu_pb1(
660 XtPointer clientData,
661 XtPointer callbackArg )
664 Process_RotateLeft();
668 activateCB_rotateMenu_pb2(
670 XtPointer clientData,
671 XtPointer callbackArg )
674 Process_RotateRight();
678 activateCB_flipMenu_pb1(
680 XtPointer clientData,
681 XtPointer callbackArg )
688 activateCB_flipMenu_pb2(
690 XtPointer clientData,
691 XtPointer callbackArg )
698 activateCB_editMenu_scale_pb(
700 XtPointer clientData,
701 XtPointer callbackArg )
708 activateCB_editMenu_resize_pb(
710 XtPointer clientData,
711 XtPointer callbackArg )
718 activateCB_editMenu_addHS_pb(
720 XtPointer clientData,
721 XtPointer callbackArg )
724 Process_AddHotspot();
725 XtSetSensitive( editMenu_deleteHS_pb, True );
729 activateCB_editMenu_deleteHS_pb(
731 XtPointer clientData,
732 XtPointer callbackArg )
735 Process_DeleteHotspot();
736 XtSetSensitive( editMenu_deleteHS_pb, False );
740 activateCB_editMenu_grabImage_pb(
742 XtPointer clientData,
743 XtPointer callbackArg )
750 activateCB_editMenu_clear_pb(
752 XtPointer clientData,
753 XtPointer callbackArg )
760 valueChangedCB_optionsMenu_grid(
762 XtPointer clientData,
763 XtPointer callbackArg )
770 valueChangedCB_formatMenu_xbm_tb(
772 XtPointer clientData,
773 XtPointer callbackArg )
776 New_FileFormat(FORMAT_XBM);
780 valueChangedCB_formatMenu_xpm_tb(
782 XtPointer clientData,
783 XtPointer callbackArg )
786 New_FileFormat(FORMAT_XPM);
790 valueChangedCB_magMenu_2x_tb(
792 XtPointer clientData,
793 XtPointer callbackArg )
800 valueChangedCB_magMenu_3x_tb(
802 XtPointer clientData,
803 XtPointer callbackArg )
810 valueChangedCB_magMenu_4x_tb(
812 XtPointer clientData,
813 XtPointer callbackArg )
820 valueChangedCB_magMenu_5x_tb(
822 XtPointer clientData,
823 XtPointer callbackArg )
830 valueChangedCB_magMenu_6x_tb(
832 XtPointer clientData,
833 XtPointer callbackArg )
840 valueChangedCB_magMenu_8x_tb(
842 XtPointer clientData,
843 XtPointer callbackArg )
850 valueChangedCB_magMenu_10x_tb(
852 XtPointer clientData,
853 XtPointer callbackArg )
860 valueChangedCB_magMenu_12x_tb(
862 XtPointer clientData,
863 XtPointer callbackArg )
869 /*******************************************************************************
870 The 'build_' function creates all the widgets
871 using the resource values specified in the Property Editor.
872 *******************************************************************************/
875 build_dtIconShell( void )
877 Widget fileMenu_shell;
878 Widget editMenu_shell;
879 Widget rotateMenu_shell;
880 Widget flipMenu_shell;
881 Widget optionsMenu_shell;
882 Widget formatMenu_shell;
883 Widget magnificationMenu_shell;
884 Widget helpMenu_shell;
885 XmString tmpXmStr, tmpXmStr2, tmpXmStr3, tmpXmStr4;
886 char *tmpStr, *tmpStr2;
887 static char geometry[40];
889 /* GETSTR uses a static buffer which may be overwritten */
890 /* on subsequent calls, so save character in mnemonic */
894 /* use tmpStr as tmp string holder so GETSTR won't trash string */
895 tmpStr2 = GETSTR(12,3, "Icon Editor - (UNTITLED)");
896 tmpStr = XtNewString (tmpStr2);
898 if (!session.useSession)
900 XtVaSetValues( TopLevel,
904 XmNiconName, GETSTR(10,66, "(UNTITLED)"),
905 XmNdeleteResponse, XmDO_NOTHING,
907 dtIconShell = TopLevel;
911 sprintf(geometry, "=%dx%d+%d+%d", session.width, session.height,
912 session.x, session.y);
914 XtVaSetValues( TopLevel,
918 XmNiconName, GETSTR(10,66, "(UNTITLED)"),
919 XmNdeleteResponse, XmDO_NOTHING,
920 XmNgeometry, geometry,
921 XmNinitialState, session.iconicState,
923 dtIconShell = TopLevel;
927 mainWindow = XtVaCreateManagedWidget( "mainWindow",
928 xmMainWindowWidgetClass, dtIconShell,
931 mainForm = XtVaCreateManagedWidget( "mainForm",
932 xmFormWidgetClass, mainWindow,
936 tmpXmStr = GETXMSTR(12,204, "Pencil");
937 instructionText = XtVaCreateManagedWidget( "instructionText",
938 xmLabelGadgetClass, mainForm,
939 XmNlabelString, tmpXmStr,
941 XmNtopAttachment, XmATTACH_FORM,
942 XmNrightOffset, -230,
943 XmNrightAttachment, XmATTACH_OPPOSITE_FORM,
945 XmNleftAttachment, XmATTACH_FORM,
947 XmStringFree(tmpXmStr);
950 tmpXmStr = XmStringCreateLocalized (" ");
951 coordinateText = XtVaCreateManagedWidget( "coordinateText",
952 xmLabelGadgetClass, mainForm,
953 XmNlabelString, tmpXmStr,
954 XmNalignment, XmALIGNMENT_BEGINNING,
956 XmNtopAttachment, XmATTACH_FORM,
958 XmNbottomWidget, viewport,
960 XmNrightAttachment, XmATTACH_FORM,
962 XmNleftAttachment, XmATTACH_WIDGET,
964 XmStringFree(tmpXmStr);
967 iconForm = XtVaCreateManagedWidget( "iconForm",
968 xmFormWidgetClass, mainForm,
969 XmNtopWidget, instructionText,
971 XmNtopAttachment, XmATTACH_WIDGET,
973 XmNrightAttachment, XmATTACH_FORM,
976 iconImage = XtVaCreateManagedWidget( "iconImage",
977 xmDrawnButtonWidgetClass, iconForm,
978 RES_CONVERT( XmNtranslations, transTable2 ),
979 XmNtopAttachment, XmATTACH_FORM,
980 XmNleftAttachment, XmATTACH_FORM,
981 XmNshadowType, XmSHADOW_ETCHED_OUT,
982 XmNtraversalOn, False,
985 tmpXmStr = XmStringCreateLocalized ("32 x 32");
986 iconSize = XtVaCreateManagedWidget( "iconSize",
987 xmLabelGadgetClass, iconForm,
988 XmNtopWidget, iconImage,
989 XmNtopAttachment, XmATTACH_WIDGET,
990 XmNrightAttachment, XmATTACH_FORM,
991 XmNleftAttachment, XmATTACH_FORM,
992 XmNlabelString, tmpXmStr,
994 XmStringFree(tmpXmStr);
996 monoImage = XtVaCreateManagedWidget( "monoImage",
997 xmDrawnButtonWidgetClass, iconForm,
998 RES_CONVERT( XmNtranslations, transTable2 ),
999 XmNshadowType, XmSHADOW_ETCHED_OUT,
1000 XmNtopWidget, iconSize,
1002 XmNtopAttachment, XmATTACH_WIDGET,
1003 XmNleftAttachment, XmATTACH_FORM,
1004 XmNtraversalOn, False,
1007 tmpXmStr = GETXMSTR(12,2, "2 Color");
1008 monoLabel = XtVaCreateManagedWidget( "monoLabel",
1009 xmLabelGadgetClass, iconForm,
1010 XmNtopWidget, monoImage,
1011 XmNtopAttachment, XmATTACH_WIDGET,
1012 XmNrightAttachment, XmATTACH_FORM,
1013 XmNleftAttachment, XmATTACH_FORM,
1014 XmNlabelString, (tmpXmStr ),
1016 XmStringFree(tmpXmStr);
1019 cmdButtonForm = XtVaCreateManagedWidget( "cmdButtonForm",
1020 xmFormWidgetClass, mainForm,
1021 XmNtopWidget, instructionText,
1023 XmNtopAttachment, XmATTACH_WIDGET,
1025 XmNleftAttachment, XmATTACH_FORM,
1028 cmdButtonMgr = XtVaCreateManagedWidget( "cmdButtonMgr",
1029 xmRowColumnWidgetClass, cmdButtonForm,
1030 XmNtopAttachment, XmATTACH_FORM,
1031 XmNleftAttachment, XmATTACH_FORM,
1032 XmNresizable, FALSE,
1038 XmNradioAlwaysOne, TRUE,
1039 XmNradioBehavior, TRUE,
1042 pointButton = XtVaCreateManagedWidget( "pointButton",
1043 xmToggleButtonWidgetClass, cmdButtonMgr,
1044 XmNshadowThickness, 2,
1045 XmNlabelType, XmPIXMAP,
1046 XmNindicatorOn, FALSE,
1047 XmNfillOnSelect, FALSE,
1048 XmNrecomputeSize, FALSE,
1049 XmNwidth, PIXMAP_WIDTH,
1050 XmNheight, PIXMAP_HEIGHT,
1053 lineButton = XtVaCreateManagedWidget( "lineButton",
1054 xmToggleButtonWidgetClass, cmdButtonMgr,
1055 XmNshadowThickness, 2,
1056 XmNlabelType, XmPIXMAP,
1057 XmNindicatorOn, FALSE,
1058 XmNfillOnSelect, FALSE,
1059 XmNrecomputeSize, FALSE,
1060 XmNwidth, PIXMAP_WIDTH,
1061 XmNheight, PIXMAP_HEIGHT,
1064 rectangleButton = XtVaCreateManagedWidget( "rectangleButton",
1065 xmToggleButtonWidgetClass, cmdButtonMgr,
1066 XmNshadowThickness, 2,
1067 XmNlabelType, XmPIXMAP,
1068 XmNindicatorOn, FALSE,
1069 XmNfillOnSelect, FALSE,
1070 XmNrecomputeSize, FALSE,
1071 XmNwidth, PIXMAP_WIDTH,
1072 XmNheight, PIXMAP_HEIGHT,
1075 circleButton = XtVaCreateManagedWidget( "circleButton",
1076 xmToggleButtonWidgetClass, cmdButtonMgr,
1077 XmNshadowThickness, 2,
1078 XmNlabelType, XmPIXMAP,
1079 XmNindicatorOn, FALSE,
1080 XmNfillOnSelect, FALSE,
1081 XmNrecomputeSize, FALSE,
1082 XmNwidth, PIXMAP_WIDTH,
1083 XmNheight, PIXMAP_HEIGHT,
1086 eraseButton = XtVaCreateManagedWidget( "eraseButton",
1087 xmToggleButtonWidgetClass, cmdButtonMgr,
1088 XmNshadowThickness, 2,
1089 XmNlabelType, XmPIXMAP,
1090 XmNindicatorOn, FALSE,
1091 XmNfillOnSelect, FALSE,
1092 XmNrecomputeSize, FALSE,
1093 XmNwidth, PIXMAP_WIDTH,
1094 XmNheight, PIXMAP_HEIGHT,
1097 floodButton = XtVaCreateManagedWidget( "floodButton",
1098 xmToggleButtonWidgetClass, cmdButtonMgr,
1099 XmNshadowThickness, 2,
1100 XmNlabelType, XmPIXMAP,
1101 XmNindicatorOn, FALSE,
1102 XmNfillOnSelect, FALSE,
1103 XmNrecomputeSize, FALSE,
1104 XmNwidth, PIXMAP_WIDTH,
1105 XmNheight, PIXMAP_HEIGHT,
1108 polylineButton = XtVaCreateManagedWidget( "polylineButton",
1109 xmToggleButtonWidgetClass, cmdButtonMgr,
1110 XmNshadowThickness, 2,
1111 XmNlabelType, XmPIXMAP,
1112 XmNindicatorOn, FALSE,
1113 XmNfillOnSelect, FALSE,
1114 XmNrecomputeSize, FALSE,
1115 XmNwidth, PIXMAP_WIDTH,
1116 XmNheight, PIXMAP_HEIGHT,
1119 polygonButton = XtVaCreateManagedWidget( "polygonButton",
1120 xmToggleButtonWidgetClass, cmdButtonMgr,
1121 XmNshadowThickness, 2,
1122 XmNlabelType, XmPIXMAP,
1123 XmNindicatorOn, FALSE,
1124 XmNfillOnSelect, FALSE,
1125 XmNrecomputeSize, FALSE,
1126 XmNwidth, PIXMAP_WIDTH,
1127 XmNheight, PIXMAP_HEIGHT,
1130 ellipseButton = XtVaCreateManagedWidget( "ellipseButton",
1131 xmToggleButtonWidgetClass, cmdButtonMgr,
1132 XmNshadowThickness, 2,
1133 XmNlabelType, XmPIXMAP,
1134 XmNindicatorOn, FALSE,
1135 XmNfillOnSelect, FALSE,
1136 XmNrecomputeSize, FALSE,
1137 XmNwidth, PIXMAP_WIDTH,
1138 XmNheight, PIXMAP_HEIGHT,
1141 selectButton = XtVaCreateManagedWidget( "selectButton",
1142 xmToggleButtonWidgetClass, cmdButtonMgr,
1143 XmNshadowThickness, 2,
1144 XmNlabelType, XmPIXMAP,
1145 XmNindicatorOn, FALSE,
1146 XmNfillOnSelect, FALSE,
1147 XmNrecomputeSize, FALSE,
1148 XmNwidth, PIXMAP_WIDTH,
1149 XmNheight, PIXMAP_HEIGHT,
1152 tmpXmStr = GETXMSTR(12,6, "Fill Solids");
1153 fillToggle = XtVaCreateManagedWidget( "fillToggle",
1154 xmToggleButtonGadgetClass, cmdButtonForm,
1158 XmNtopWidget, cmdButtonMgr,
1159 XmNtopAttachment, XmATTACH_WIDGET,
1160 XmNrightAttachment, XmATTACH_FORM,
1161 XmNleftAttachment, XmATTACH_FORM,
1162 XmNshadowThickness, 0,
1163 XmNlabelString, tmpXmStr,
1165 XmStringFree(tmpXmStr);
1168 cmdForm = XtVaCreateManagedWidget( "cmdForm",
1169 xmFormWidgetClass, mainForm,
1171 XmNrightAttachment, XmATTACH_FORM,
1173 XmNbottomAttachment, XmATTACH_FORM,
1175 XmNleftAttachment, XmATTACH_FORM,
1176 XmNshadowThickness, 0,
1179 tmpXmStr = GETXMSTR(12,8, "Static Colors");
1180 staticColorsBox = XtVaCreateManagedWidget( "staticColorsBox",
1181 dtTitleBoxWidgetClass, cmdForm,
1184 XmNtitleString, tmpXmStr,
1185 XmNleftAttachment, XmATTACH_FORM,
1186 XmNshadowType, XmSHADOW_ETCHED_OUT,
1188 XmStringFree(tmpXmStr);
1190 stdColorPens = XtVaCreateManagedWidget( "stdColorPens",
1191 xmFormWidgetClass, staticColorsBox,
1194 color_pb1 = XtVaCreateManagedWidget( "color_pb1",
1195 xmToggleButtonWidgetClass, stdColorPens,
1196 XmNshadowThickness, 2,
1197 XmNrecomputeSize, FALSE,
1198 XmNlabelType, XmPIXMAP,
1199 XmNindicatorType, XmONE_OF_MANY,
1200 XmNindicatorOn, FALSE,
1201 XmNfillOnSelect, FALSE,
1202 XmNwidth, COLOR_BUTTON_SIZE,
1203 XmNheight, COLOR_BUTTON_SIZE,
1204 XmNleftAttachment, XmATTACH_FORM,
1207 color_pb2 = XtVaCreateManagedWidget( "color_pb2",
1208 xmToggleButtonWidgetClass, stdColorPens,
1209 XmNshadowThickness, 2,
1210 XmNrecomputeSize, FALSE,
1211 XmNlabelType, XmPIXMAP,
1212 XmNindicatorType, XmONE_OF_MANY,
1213 XmNindicatorOn, FALSE,
1214 XmNfillOnSelect, FALSE,
1215 XmNwidth, COLOR_BUTTON_SIZE,
1216 XmNheight, COLOR_BUTTON_SIZE,
1217 XmNleftAttachment, XmATTACH_FORM,
1218 XmNtopAttachment, XmATTACH_FORM,
1219 XmNtopOffset, COLOR_BUTTON_SIZE,
1222 color_pb3 = XtVaCreateManagedWidget( "color_pb3",
1223 xmToggleButtonWidgetClass, stdColorPens,
1224 XmNshadowThickness, 2,
1225 XmNrecomputeSize, FALSE,
1226 XmNlabelType, XmPIXMAP,
1227 XmNindicatorType, XmONE_OF_MANY,
1228 XmNindicatorOn, FALSE,
1229 XmNfillOnSelect, FALSE,
1230 XmNwidth, COLOR_BUTTON_SIZE,
1231 XmNheight, COLOR_BUTTON_SIZE,
1232 XmNleftAttachment, XmATTACH_WIDGET,
1233 XmNleftWidget, color_pb1,
1236 color_pb4 = XtVaCreateManagedWidget( "color_pb4",
1237 xmToggleButtonWidgetClass, stdColorPens,
1238 XmNshadowThickness, 2,
1239 XmNrecomputeSize, FALSE,
1240 XmNlabelType, XmPIXMAP,
1241 XmNindicatorType, XmONE_OF_MANY,
1242 XmNindicatorOn, FALSE,
1243 XmNfillOnSelect, FALSE,
1244 XmNwidth, COLOR_BUTTON_SIZE,
1245 XmNheight, COLOR_BUTTON_SIZE,
1246 XmNleftAttachment, XmATTACH_WIDGET,
1247 XmNleftWidget, color_pb2,
1248 XmNtopAttachment, XmATTACH_FORM,
1249 XmNtopOffset, COLOR_BUTTON_SIZE,
1252 color_pb5 = XtVaCreateManagedWidget( "color_pb5",
1253 xmToggleButtonWidgetClass, stdColorPens,
1254 XmNshadowThickness, 2,
1255 XmNrecomputeSize, FALSE,
1256 XmNlabelType, XmPIXMAP,
1257 XmNindicatorType, XmONE_OF_MANY,
1258 XmNindicatorOn, FALSE,
1259 XmNfillOnSelect, FALSE,
1260 XmNwidth, COLOR_BUTTON_SIZE,
1261 XmNheight, COLOR_BUTTON_SIZE,
1262 XmNleftAttachment, XmATTACH_WIDGET,
1263 XmNleftWidget, color_pb3,
1266 color_pb6 = XtVaCreateManagedWidget( "color_pb6",
1267 xmToggleButtonWidgetClass, stdColorPens,
1268 XmNshadowThickness, 2,
1269 XmNrecomputeSize, FALSE,
1270 XmNlabelType, XmPIXMAP,
1271 XmNindicatorType, XmONE_OF_MANY,
1272 XmNindicatorOn, FALSE,
1273 XmNfillOnSelect, FALSE,
1274 XmNwidth, COLOR_BUTTON_SIZE,
1275 XmNheight, COLOR_BUTTON_SIZE,
1276 XmNleftAttachment, XmATTACH_WIDGET,
1277 XmNleftWidget, color_pb4,
1278 XmNtopAttachment, XmATTACH_FORM,
1279 XmNtopOffset, COLOR_BUTTON_SIZE,
1282 color_pb7 = XtVaCreateManagedWidget( "color_pb7",
1283 xmToggleButtonWidgetClass, stdColorPens,
1284 XmNshadowThickness, 2,
1285 XmNrecomputeSize, FALSE,
1286 XmNlabelType, XmPIXMAP,
1287 XmNindicatorType, XmONE_OF_MANY,
1288 XmNindicatorOn, FALSE,
1289 XmNfillOnSelect, FALSE,
1290 XmNwidth, COLOR_BUTTON_SIZE,
1291 XmNheight, COLOR_BUTTON_SIZE,
1292 XmNleftAttachment, XmATTACH_WIDGET,
1293 XmNleftWidget, color_pb5,
1296 color_pb8 = XtVaCreateManagedWidget( "color_pb8",
1297 xmToggleButtonWidgetClass, stdColorPens,
1298 XmNshadowThickness, 2,
1299 XmNrecomputeSize, FALSE,
1300 XmNlabelType, XmPIXMAP,
1301 XmNindicatorType, XmONE_OF_MANY,
1302 XmNindicatorOn, FALSE,
1303 XmNfillOnSelect, FALSE,
1304 XmNwidth, COLOR_BUTTON_SIZE,
1305 XmNheight, COLOR_BUTTON_SIZE,
1306 XmNleftAttachment, XmATTACH_WIDGET,
1307 XmNleftWidget, color_pb6,
1308 XmNtopAttachment, XmATTACH_FORM,
1309 XmNtopOffset, COLOR_BUTTON_SIZE,
1313 tmpXmStr = GETXMSTR(12,12, "Static Grays");
1314 staticGreysBox = XtVaCreateManagedWidget( "staticGreysBox",
1315 dtTitleBoxWidgetClass, cmdForm,
1318 XmNtitleString, tmpXmStr,
1319 XmNleftWidget, staticColorsBox,
1321 XmNleftAttachment, XmATTACH_WIDGET,
1322 XmNshadowType, XmSHADOW_ETCHED_OUT,
1324 XmStringFree(tmpXmStr);
1326 stdGreyPens = XtVaCreateManagedWidget( "stdGreyPens",
1327 xmFormWidgetClass, staticGreysBox,
1330 grey_pb1 = XtVaCreateManagedWidget( "grey_pb1",
1331 xmToggleButtonWidgetClass, stdGreyPens,
1332 XmNshadowThickness, 2,
1333 XmNrecomputeSize, FALSE,
1334 XmNlabelType, XmPIXMAP,
1335 XmNindicatorType, XmONE_OF_MANY,
1336 XmNindicatorOn, FALSE,
1337 XmNfillOnSelect, FALSE,
1338 XmNwidth, COLOR_BUTTON_SIZE,
1339 XmNheight, COLOR_BUTTON_SIZE,
1340 XmNleftAttachment, XmATTACH_FORM,
1343 grey_pb2 = XtVaCreateManagedWidget( "grey_pb2",
1344 xmToggleButtonWidgetClass, stdGreyPens,
1345 XmNshadowThickness, 2,
1346 XmNrecomputeSize, FALSE,
1347 XmNlabelType, XmPIXMAP,
1348 XmNindicatorType, XmONE_OF_MANY,
1349 XmNindicatorOn, FALSE,
1350 XmNfillOnSelect, FALSE,
1351 XmNwidth, COLOR_BUTTON_SIZE,
1352 XmNheight, COLOR_BUTTON_SIZE,
1353 XmNleftAttachment, XmATTACH_FORM,
1354 XmNtopAttachment, XmATTACH_FORM,
1355 XmNtopOffset, COLOR_BUTTON_SIZE,
1358 grey_pb3 = XtVaCreateManagedWidget( "grey_pb3",
1359 xmToggleButtonWidgetClass, stdGreyPens,
1360 XmNshadowThickness, 2,
1361 XmNrecomputeSize, FALSE,
1362 XmNlabelType, XmPIXMAP,
1363 XmNindicatorType, XmONE_OF_MANY,
1364 XmNindicatorOn, FALSE,
1365 XmNfillOnSelect, FALSE,
1366 XmNwidth, COLOR_BUTTON_SIZE,
1367 XmNheight, COLOR_BUTTON_SIZE,
1368 XmNleftAttachment, XmATTACH_WIDGET,
1369 XmNleftWidget, grey_pb1,
1372 grey_pb4 = XtVaCreateManagedWidget( "grey_pb4",
1373 xmToggleButtonWidgetClass, stdGreyPens,
1374 XmNshadowThickness, 2,
1375 XmNrecomputeSize, FALSE,
1376 XmNlabelType, XmPIXMAP,
1377 XmNindicatorType, XmONE_OF_MANY,
1378 XmNindicatorOn, FALSE,
1379 XmNfillOnSelect, FALSE,
1380 XmNwidth, COLOR_BUTTON_SIZE,
1381 XmNheight, COLOR_BUTTON_SIZE,
1382 XmNleftAttachment, XmATTACH_WIDGET,
1383 XmNleftWidget, grey_pb2,
1384 XmNtopAttachment, XmATTACH_FORM,
1385 XmNtopOffset, COLOR_BUTTON_SIZE,
1388 grey_pb5 = XtVaCreateManagedWidget( "grey_pb5",
1389 xmToggleButtonWidgetClass, stdGreyPens,
1390 XmNshadowThickness, 2,
1391 XmNrecomputeSize, FALSE,
1392 XmNlabelType, XmPIXMAP,
1393 XmNindicatorType, XmONE_OF_MANY,
1394 XmNindicatorOn, FALSE,
1395 XmNfillOnSelect, FALSE,
1396 XmNwidth, COLOR_BUTTON_SIZE,
1397 XmNheight, COLOR_BUTTON_SIZE,
1398 XmNleftAttachment, XmATTACH_WIDGET,
1399 XmNleftWidget, grey_pb3,
1402 grey_pb6 = XtVaCreateManagedWidget( "grey_pb6",
1403 xmToggleButtonWidgetClass, stdGreyPens,
1404 XmNshadowThickness, 2,
1405 XmNrecomputeSize, FALSE,
1406 XmNlabelType, XmPIXMAP,
1407 XmNindicatorType, XmONE_OF_MANY,
1408 XmNindicatorOn, FALSE,
1409 XmNfillOnSelect, FALSE,
1410 XmNwidth, COLOR_BUTTON_SIZE,
1411 XmNheight, COLOR_BUTTON_SIZE,
1412 XmNleftAttachment, XmATTACH_WIDGET,
1413 XmNleftWidget, grey_pb4,
1414 XmNtopAttachment, XmATTACH_FORM,
1415 XmNtopOffset, COLOR_BUTTON_SIZE,
1418 grey_pb7 = XtVaCreateManagedWidget( "grey_pb7",
1419 xmToggleButtonWidgetClass, stdGreyPens,
1420 XmNshadowThickness, 2,
1421 XmNrecomputeSize, FALSE,
1422 XmNlabelType, XmPIXMAP,
1423 XmNindicatorType, XmONE_OF_MANY,
1424 XmNindicatorOn, FALSE,
1425 XmNfillOnSelect, FALSE,
1426 XmNwidth, COLOR_BUTTON_SIZE,
1427 XmNheight, COLOR_BUTTON_SIZE,
1428 XmNleftAttachment, XmATTACH_WIDGET,
1429 XmNleftWidget, grey_pb5,
1432 grey_pb8 = XtVaCreateManagedWidget( "grey_pb8",
1433 xmToggleButtonWidgetClass, stdGreyPens,
1434 XmNshadowThickness, 2,
1435 XmNrecomputeSize, FALSE,
1436 XmNlabelType, XmPIXMAP,
1437 XmNindicatorType, XmONE_OF_MANY,
1438 XmNindicatorOn, FALSE,
1439 XmNfillOnSelect, FALSE,
1440 XmNwidth, COLOR_BUTTON_SIZE,
1441 XmNheight, COLOR_BUTTON_SIZE,
1442 XmNleftAttachment, XmATTACH_WIDGET,
1443 XmNleftWidget, grey_pb6,
1444 XmNtopAttachment, XmATTACH_FORM,
1445 XmNtopOffset, COLOR_BUTTON_SIZE,
1449 tmpXmStr = GETXMSTR(12,10, "Dynamic Colors");
1450 symbolicColorsBox = XtVaCreateManagedWidget( "symbolicColorsBox",
1451 dtTitleBoxWidgetClass, cmdForm,
1454 XmNtitleString, tmpXmStr,
1455 XmNleftWidget, staticGreysBox,
1457 XmNleftAttachment, XmATTACH_WIDGET,
1458 XmNshadowType, XmSHADOW_ETCHED_OUT,
1460 XmStringFree(tmpXmStr);
1462 symbolicColorPens = XtVaCreateManagedWidget( "symbolicColorPens",
1463 xmRowColumnWidgetClass, symbolicColorsBox,
1464 XmNpacking, XmPACK_COLUMN,
1465 XmNradioAlwaysOne, FALSE,
1466 XmNentryClass, xmToggleButtonWidgetClass,
1470 XmNradioBehavior, FALSE,
1471 XmNorientation, XmHORIZONTAL,
1475 tmpXmStr = GETXMSTR(12,14, "Foreground");
1476 fgColorToggle = XtVaCreateManagedWidget( "fgColorToggle",
1477 xmToggleButtonWidgetClass, symbolicColorPens,
1478 XmNshadowThickness, 2,
1479 XmNlabelString, tmpXmStr,
1480 XmNindicatorOn, FALSE,
1481 XmNfillOnSelect, FALSE,
1483 XmStringFree(tmpXmStr);
1485 tmpXmStr = GETXMSTR(12,16, "Background");
1486 bgColorToggle = XtVaCreateManagedWidget( "bgColorToggle",
1487 xmToggleButtonWidgetClass, symbolicColorPens,
1488 XmNshadowThickness, 2,
1489 XmNlabelString, tmpXmStr,
1490 XmNindicatorOn, FALSE,
1491 XmNfillOnSelect, FALSE,
1493 XmStringFree(tmpXmStr);
1495 tmpXmStr = GETXMSTR(12,18, "TopShadow");
1496 tsColorToggle = XtVaCreateManagedWidget( "tsColorToggle",
1497 xmToggleButtonWidgetClass, symbolicColorPens,
1498 XmNshadowThickness, 2,
1499 XmNlabelString, tmpXmStr,
1500 XmNindicatorOn, FALSE,
1501 XmNfillOnSelect, FALSE,
1503 XmStringFree(tmpXmStr);
1505 tmpXmStr = GETXMSTR(12,20, "BottomShadow");
1506 bsColorToggle = XtVaCreateManagedWidget( "bsColorToggle",
1507 xmToggleButtonWidgetClass, symbolicColorPens,
1508 XmNshadowThickness, 2,
1509 XmNlabelString, tmpXmStr,
1510 XmNindicatorOn, FALSE,
1511 XmNfillOnSelect, FALSE,
1513 XmStringFree(tmpXmStr);
1515 tmpXmStr = GETXMSTR(12,22, "Select");
1516 selectColorToggle = XtVaCreateManagedWidget( "selectColorToggle",
1517 xmToggleButtonWidgetClass, symbolicColorPens,
1518 XmNshadowThickness, 2,
1519 XmNlabelString, tmpXmStr,
1520 XmNindicatorOn, FALSE,
1521 XmNfillOnSelect, FALSE,
1523 XmStringFree(tmpXmStr);
1525 tmpXmStr = GETXMSTR(12,24, "Transparent");
1526 transparentColorToggle=XtVaCreateManagedWidget("transparentColorToggle",
1527 xmToggleButtonWidgetClass, symbolicColorPens,
1528 XmNshadowThickness, 2,
1529 XmNlabelString, tmpXmStr,
1530 XmNindicatorOn, FALSE,
1531 XmNfillOnSelect, FALSE,
1533 XmStringFree(tmpXmStr);
1536 viewport = XtVaCreateManagedWidget( "viewport",
1537 xmScrolledWindowWidgetClass, mainForm,
1538 XmNheight, VIEWPORT_INITIAL_HEIGHT,
1539 XmNtopWidget, instructionText,
1541 XmNtopAttachment, XmATTACH_WIDGET,
1542 XmNrightWidget, iconForm,
1544 XmNrightAttachment, XmATTACH_WIDGET,
1545 XmNbottomWidget, cmdForm,
1546 XmNbottomOffset, 20,
1547 XmNbottomAttachment, XmATTACH_WIDGET,
1548 XmNleftWidget, cmdButtonForm,
1550 XmNleftAttachment, XmATTACH_WIDGET,
1551 XmNscrollingPolicy, XmAUTOMATIC,
1555 tabletBorder = XtVaCreateManagedWidget( "tabletBorder",
1556 xmDrawingAreaWidgetClass, viewport,
1558 XmNmarginHeight, 10,
1559 XmNtraversalOn, False,
1563 tabletFrame = XtVaCreateManagedWidget( "tabletFrame",
1564 xmFrameWidgetClass, tabletBorder,
1565 XmNshadowType, XmSHADOW_ETCHED_OUT,
1571 tablet = XtVaCreateManagedWidget( "tablet",
1572 xmDrawnButtonWidgetClass, tabletFrame,
1573 RES_CONVERT( XmNtranslations, transTable1 ),
1574 XmNshadowThickness, 0,
1577 XmNhighlightThickness, 0,
1581 menu1 = XtVaCreateManagedWidget( "menu1",
1582 xmRowColumnWidgetClass, mainWindow,
1583 XmNmenuAccelerator, "<KeyUp>F10",
1584 XmNrowColumnType, XmMENU_BAR,
1588 fileMenu_shell = XtVaCreatePopupShell ("fileMenu_shell",
1589 xmMenuShellWidgetClass, menu1,
1594 fileMenu = XtVaCreateWidget( "fileMenu",
1595 xmRowColumnWidgetClass, fileMenu_shell,
1596 XmNrowColumnType, XmMENU_PULLDOWN,
1600 mnemonicStr = GETSTR(12,26, "N");
1601 mnemonic = mnemonicStr[0];
1602 tmpXmStr = GETXMSTR(12,28, "New");
1603 fileMenu_new_pb = XtVaCreateManagedWidget( "new",
1604 xmPushButtonGadgetClass, fileMenu,
1605 XmNmnemonic, mnemonic,
1606 XmNlabelString,tmpXmStr,
1608 XmStringFree(tmpXmStr);
1610 mnemonicStr = GETSTR(12,30, "O");
1611 mnemonic = mnemonicStr[0];
1612 tmpXmStr = GETXMSTR(12,32, "Open...");
1613 fileMenu_open_pb = XtVaCreateManagedWidget( "open",
1614 xmPushButtonGadgetClass, fileMenu,
1615 XmNmnemonic, mnemonic,
1616 XmNlabelString, tmpXmStr,
1618 XmStringFree(tmpXmStr);
1620 XtVaCreateManagedWidget( "fileMenu_separator1",
1621 xmSeparatorGadgetClass, fileMenu, NULL);
1623 mnemonicStr = GETSTR(12,34, "S");
1624 mnemonic = mnemonicStr[0];
1625 tmpXmStr = GETXMSTR(12,36, "Save");
1626 fileMenu_save_pb = XtVaCreateManagedWidget( "save",
1627 xmPushButtonGadgetClass, fileMenu,
1628 XmNmnemonic, mnemonic,
1629 XmNlabelString, tmpXmStr,
1631 XmStringFree(tmpXmStr);
1633 mnemonicStr = GETSTR(12,38, "A");
1634 mnemonic = mnemonicStr[0];
1635 tmpXmStr = GETXMSTR(12,40, "Save As...");
1636 fileMenu_saveAs_pb = XtVaCreateManagedWidget( "saveas",
1637 xmPushButtonGadgetClass, fileMenu,
1638 XmNmnemonic, mnemonic,
1639 XmNlabelString, tmpXmStr,
1641 XmStringFree(tmpXmStr);
1643 XtVaCreateManagedWidget( "fileMenu_separator1",
1644 xmSeparatorGadgetClass, fileMenu, NULL);
1646 mnemonicStr = GETSTR(12,42, "x");
1647 mnemonic = mnemonicStr[0];
1648 tmpXmStr = GETXMSTR(12,44, "Exit");
1649 fileMenu_quit_pb = XtVaCreateManagedWidget( "exit",
1650 xmPushButtonGadgetClass, fileMenu,
1651 XmNmnemonic, mnemonic,
1652 XmNlabelString, tmpXmStr,
1654 XmStringFree(tmpXmStr);
1656 tmpXmStr = GETXMSTR(12,48, "File");
1657 mnemonicStr = GETSTR(12,46, "F");
1658 mnemonic = mnemonicStr[0];
1659 fileMenu_top_pb = XtVaCreateManagedWidget( "fileMenu_top_pb",
1660 xmCascadeButtonWidgetClass, menu1,
1661 XmNsubMenuId, fileMenu,
1662 XmNmnemonic, mnemonic,
1663 XmNlabelString, tmpXmStr,
1665 XmStringFree(tmpXmStr);
1668 editMenu_shell = XtVaCreatePopupShell ("editMenu_shell",
1669 xmMenuShellWidgetClass, menu1,
1674 editMenu = XtVaCreateWidget( "editMenu",
1675 xmRowColumnWidgetClass, editMenu_shell,
1676 XmNrowColumnType, XmMENU_PULLDOWN,
1680 mnemonicStr = GETSTR(12,50, "U");
1681 mnemonic = mnemonicStr[0];
1682 tmpXmStr = GETXMSTR(12,52, "Undo");
1683 editMenu_undo_pb = XtVaCreateManagedWidget( "undo",
1684 xmPushButtonGadgetClass, editMenu,
1685 XmNmnemonic, mnemonic,
1686 XmNlabelString, tmpXmStr,
1688 XmStringFree(tmpXmStr);
1689 XtSetSensitive( editMenu_undo_pb, False);
1692 XtVaCreateManagedWidget( "editMenu_separator",
1693 xmSeparatorGadgetClass, editMenu, NULL);
1695 mnemonicStr = GETSTR(12,54, "t");
1696 mnemonic = mnemonicStr[0];
1697 tmpXmStr = GETXMSTR(12,56, "Cut Area");
1698 editMenu_cut_pb = XtVaCreateManagedWidget( "cut",
1699 xmPushButtonGadgetClass, editMenu,
1700 XmNmnemonic, mnemonic,
1701 XmNlabelString, tmpXmStr,
1703 XmStringFree(tmpXmStr);
1704 XtSetSensitive( editMenu_cut_pb, False);
1707 mnemonicStr = GETSTR(12,58, "C");
1708 mnemonic = mnemonicStr[0];
1709 tmpXmStr = GETXMSTR(12,60, "Copy Area");
1710 editMenu_copy_pb = XtVaCreateManagedWidget( "copy",
1711 xmPushButtonGadgetClass, editMenu,
1712 XmNmnemonic, mnemonic,
1713 XmNlabelString, tmpXmStr,
1715 XmStringFree(tmpXmStr);
1716 XtSetSensitive( editMenu_copy_pb, False);
1719 mnemonicStr = GETSTR(12,62, "P");
1720 mnemonic = mnemonicStr[0];
1721 tmpXmStr = GETXMSTR(12,64, "Paste Area");
1722 editMenu_paste_pb = XtVaCreateManagedWidget( "paste",
1723 xmPushButtonGadgetClass, editMenu,
1724 XmNmnemonic, mnemonic,
1725 XmNlabelString, tmpXmStr,
1727 XmStringFree(tmpXmStr);
1728 XtSetSensitive( editMenu_paste_pb, False);
1731 XtVaCreateManagedWidget( "editMenu_separator",
1732 xmSeparatorGadgetClass, editMenu, NULL);
1735 rotateMenu_shell = XtVaCreatePopupShell ("rotateMenu_shell",
1736 xmMenuShellWidgetClass, editMenu,
1741 rotateMenu = XtVaCreateWidget( "rotateMenu",
1742 xmRowColumnWidgetClass, rotateMenu_shell,
1743 XmNrowColumnType, XmMENU_PULLDOWN,
1746 mnemonicStr = GETSTR(12,68, "L");
1747 mnemonic = mnemonicStr[0];
1748 tmpXmStr = GETXMSTR(12,70, "Left");
1749 rotateMenu_pb1 = XtVaCreateManagedWidget( "rotateMenu_pb1",
1750 xmPushButtonGadgetClass, rotateMenu,
1751 XmNmnemonic, mnemonic,
1752 XmNlabelString, tmpXmStr,
1754 XmStringFree(tmpXmStr);
1756 mnemonicStr = GETSTR(12,72, "R");
1757 mnemonic = mnemonicStr[0];
1758 tmpXmStr = GETXMSTR(12,74, "Right");
1759 rotateMenu_pb2 = XtVaCreateManagedWidget( "rotateMenu_pb2",
1760 xmPushButtonGadgetClass, rotateMenu,
1761 XmNmnemonic, mnemonic,
1762 XmNlabelString, tmpXmStr,
1764 XmStringFree(tmpXmStr);
1767 mnemonicStr = GETSTR(12,76, "R");
1768 mnemonic = mnemonicStr[0];
1769 tmpXmStr = GETXMSTR(12,78, "Rotate Area");
1770 editMenu_rotate_pb = XtVaCreateManagedWidget( "editMenu_rotate_pb",
1771 xmCascadeButtonGadgetClass, editMenu,
1772 XmNsubMenuId, rotateMenu,
1773 XmNmnemonic, mnemonic,
1774 XmNlabelString, tmpXmStr,
1776 XmStringFree(tmpXmStr);
1777 XtSetSensitive(editMenu_rotate_pb, False);
1780 flipMenu_shell = XtVaCreatePopupShell ("flipMenu_shell",
1781 xmMenuShellWidgetClass, editMenu,
1786 flipMenu = XtVaCreateWidget( "flipMenu",
1787 xmRowColumnWidgetClass, flipMenu_shell,
1788 XmNrowColumnType, XmMENU_PULLDOWN,
1791 mnemonicStr = GETSTR(12,82, "V");
1792 mnemonic = mnemonicStr[0];
1793 tmpXmStr = GETXMSTR(12,84, "Vertical");
1794 flipMenu_pb1 = XtVaCreateManagedWidget( "flipMenu_pb1",
1795 xmPushButtonGadgetClass, flipMenu,
1796 XmNmnemonic, mnemonic,
1797 XmNlabelString, tmpXmStr,
1799 XmStringFree(tmpXmStr);
1801 mnemonicStr = GETSTR(12,86, "H");
1802 mnemonic = mnemonicStr[0];
1803 tmpXmStr = GETXMSTR(12,88, "Horizontal");
1804 flipMenu_pb2 = XtVaCreateManagedWidget( "flipMenu_pb2",
1805 xmPushButtonGadgetClass, flipMenu,
1806 XmNmnemonic, mnemonic,
1807 XmNlabelString, tmpXmStr,
1809 XmStringFree(tmpXmStr);
1811 mnemonicStr = GETSTR(12,90, "F");
1812 mnemonic = mnemonicStr[0];
1813 tmpXmStr = GETXMSTR(12,92, "Flip Area");
1814 editMenu_flip_pb = XtVaCreateManagedWidget( "editMenu_flip_pb",
1815 xmCascadeButtonGadgetClass, editMenu,
1816 XmNsubMenuId, flipMenu,
1817 XmNmnemonic, mnemonic,
1818 XmNlabelString, tmpXmStr,
1820 XmStringFree(tmpXmStr);
1821 XtSetSensitive(editMenu_flip_pb, False);
1824 mnemonicStr = GETSTR(12,94, "S");
1825 mnemonic = mnemonicStr[0];
1826 tmpXmStr = GETXMSTR(12,96, "Scale Area");
1827 editMenu_scale_pb = XtVaCreateManagedWidget( "editMenu_scale_pb",
1828 xmPushButtonGadgetClass, editMenu,
1829 XmNmnemonic, mnemonic,
1830 XmNlabelString, tmpXmStr,
1832 XmStringFree(tmpXmStr);
1833 XtSetSensitive(editMenu_scale_pb, False);
1836 mnemonicStr = GETSTR(12,98, "z");
1837 mnemonic = mnemonicStr[0];
1838 tmpXmStr = GETXMSTR(12,100, "Resize Icon...");
1839 editMenu_resize_pb = XtVaCreateManagedWidget( "editMenu_resize_pb",
1840 xmPushButtonGadgetClass, editMenu,
1841 XmNmnemonic, mnemonic,
1842 XmNlabelString, tmpXmStr,
1844 XmStringFree(tmpXmStr);
1847 XtVaCreateManagedWidget( "editMenu_separator",
1848 xmSeparatorGadgetClass, editMenu, NULL);
1851 mnemonicStr = GETSTR(12,102, "A");
1852 mnemonic = mnemonicStr[0];
1853 tmpXmStr = GETXMSTR(12,104, "Add Hot Spot");
1854 editMenu_addHS_pb = XtVaCreateManagedWidget( "editMenu_addHS_pb",
1855 xmPushButtonGadgetClass, editMenu,
1856 XmNmnemonic, mnemonic,
1857 XmNlabelString, tmpXmStr,
1859 XmStringFree(tmpXmStr);
1862 mnemonicStr = GETSTR(12,106, "D");
1863 mnemonic = mnemonicStr[0];
1864 tmpXmStr = GETXMSTR(12,108, "Delete Hot Spot");
1865 editMenu_deleteHS_pb = XtVaCreateManagedWidget( "editMenu_deleteHS_pb",
1866 xmPushButtonGadgetClass, editMenu,
1867 XmNmnemonic, mnemonic,
1868 XmNlabelString, tmpXmStr,
1869 XtNsensitive, False,
1871 XmStringFree(tmpXmStr);
1874 XtVaCreateManagedWidget( "editMenu_separator",
1875 xmSeparatorGadgetClass, editMenu, NULL);
1878 mnemonicStr = GETSTR(12,110, "G");
1879 mnemonic = mnemonicStr[0];
1880 tmpXmStr = GETXMSTR(12,112, "Grab Screen Image");
1881 editMenu_grabImage_pb = XtVaCreateManagedWidget("editMenu_grabImage_pb",
1882 xmPushButtonGadgetClass, editMenu,
1883 XmNmnemonic, mnemonic,
1884 XmNlabelString, tmpXmStr,
1886 XmStringFree(tmpXmStr);
1889 mnemonicStr = GETSTR(12,114, "e");
1890 mnemonic = mnemonicStr[0];
1891 tmpXmStr = GETXMSTR(12,116, "Clear Icon");
1892 editMenu_clear_pb = XtVaCreateManagedWidget( "editMenu_clear_pb",
1893 xmPushButtonGadgetClass, editMenu,
1894 XmNmnemonic, mnemonic,
1895 XmNlabelString, tmpXmStr,
1897 XmStringFree(tmpXmStr);
1900 mnemonicStr = GETSTR(12,118, "E");
1901 mnemonic = mnemonicStr[0];
1902 tmpXmStr = GETXMSTR(12,120, "Edit");
1903 editMenu_top_pb = XtVaCreateManagedWidget( "editMenu_top_pb",
1904 xmCascadeButtonWidgetClass, menu1,
1905 XmNsubMenuId, editMenu,
1906 XmNmnemonic, mnemonic,
1907 XmNlabelString, tmpXmStr,
1909 XmStringFree(tmpXmStr);
1912 optionsMenu_shell = XtVaCreatePopupShell ("optionsMenu_shell",
1913 xmMenuShellWidgetClass, menu1,
1918 optionsMenu = XtVaCreateWidget( "optionsMenu",
1919 xmRowColumnWidgetClass, optionsMenu_shell,
1920 XmNrowColumnType, XmMENU_PULLDOWN,
1924 mnemonicStr = GETSTR(12,122, "V");
1925 mnemonic = mnemonicStr[0];
1926 tmpXmStr = GETXMSTR(12,124, "Visible Grid");
1927 optionsMenu_grid = XtVaCreateManagedWidget( "optionsMenu_grid",
1928 xmToggleButtonGadgetClass, optionsMenu,
1929 XmNmnemonic, mnemonic,
1930 XmNvisibleWhenOff, TRUE,
1931 XmNindicatorType, XmN_OF_MANY,
1932 XmNlabelString, tmpXmStr,
1934 XmStringFree(tmpXmStr);
1937 formatMenu_shell = XtVaCreatePopupShell ("formatMenu_shell",
1938 xmMenuShellWidgetClass, optionsMenu,
1943 formatMenu = XtVaCreateWidget( "formatMenu",
1944 xmRowColumnWidgetClass, formatMenu_shell,
1945 XmNradioBehavior, TRUE,
1946 XmNrowColumnType, XmMENU_PULLDOWN,
1950 mnemonicStr = GETSTR(12,128, "B");
1951 mnemonic = mnemonicStr[0];
1952 tmpXmStr = GETXMSTR(12,130, "XBM");
1953 formatMenu_xbm_tb = XtVaCreateManagedWidget( "formatMenu_xbm_tb",
1954 xmToggleButtonGadgetClass, formatMenu,
1955 XmNmnemonic, mnemonic,
1956 XmNlabelString, tmpXmStr,
1958 XmStringFree(tmpXmStr);
1961 mnemonicStr = GETSTR(12,134, "P");
1962 mnemonic = mnemonicStr[0];
1963 tmpXmStr = GETXMSTR(12,136, "XPM");
1964 formatMenu_xpm_tb = XtVaCreateManagedWidget("formatMenu_xpm_tb",
1965 xmToggleButtonGadgetClass, formatMenu,
1966 XmNmnemonic, mnemonic,
1967 XmNlabelString, tmpXmStr,
1969 XmStringFree(tmpXmStr);
1972 mnemonicStr = GETSTR(12,138, "O");
1973 mnemonic = mnemonicStr[0];
1974 tmpXmStr = GETXMSTR(12,140, "Output Format");
1975 optionsMenu_format = XtVaCreateManagedWidget( "optionsMenu_format",
1976 xmCascadeButtonGadgetClass, optionsMenu,
1977 XmNsubMenuId, formatMenu,
1978 XmNmnemonic, mnemonic,
1979 XmNlabelString, tmpXmStr,
1981 XmStringFree(tmpXmStr);
1984 magnificationMenu_shell =XtVaCreatePopupShell("magnificationMenu_shell",
1985 xmMenuShellWidgetClass, optionsMenu,
1990 magnificationMenu = XtVaCreateWidget( "magnificationMenu",
1991 xmRowColumnWidgetClass, magnificationMenu_shell,
1992 XmNradioBehavior, TRUE,
1993 XmNrowColumnType, XmMENU_PULLDOWN,
1997 tmpXmStr = GETXMSTR(12,144, "2x");
1998 magMenu_2x_tb = XtVaCreateManagedWidget( "magMenu_2x_tb",
1999 xmToggleButtonGadgetClass, magnificationMenu,
2000 XmNvisibleWhenOff, FALSE,
2001 XmNlabelString,tmpXmStr,
2003 XmStringFree(tmpXmStr);
2006 tmpXmStr = GETXMSTR(12,146, "3x");
2007 magMenu_3x_tb = XtVaCreateManagedWidget( "magMenu_3x_tb",
2008 xmToggleButtonGadgetClass, magnificationMenu,
2009 XmNvisibleWhenOff, FALSE,
2010 XmNlabelString,tmpXmStr,
2012 XmStringFree(tmpXmStr);
2015 tmpXmStr = GETXMSTR(12,148, "4x");
2016 magMenu_4x_tb = XtVaCreateManagedWidget( "magMenu_4x_tb",
2017 xmToggleButtonGadgetClass, magnificationMenu,
2018 XmNvisibleWhenOff, FALSE,
2019 XmNlabelString,tmpXmStr,
2021 XmStringFree(tmpXmStr);
2024 tmpXmStr = GETXMSTR(12,150, "5x");
2025 magMenu_5x_tb = XtVaCreateManagedWidget( "magMenu_5x_tb",
2026 xmToggleButtonGadgetClass, magnificationMenu,
2027 XmNvisibleWhenOff, FALSE,
2028 XmNlabelString,tmpXmStr,
2030 XmStringFree(tmpXmStr);
2033 tmpXmStr = GETXMSTR(12,152, "6x");
2034 magMenu_6x_tb = XtVaCreateManagedWidget( "magMenu_6x_tb",
2035 xmToggleButtonGadgetClass, magnificationMenu,
2036 XmNvisibleWhenOff, FALSE,
2037 XmNlabelString,tmpXmStr,
2039 XmStringFree(tmpXmStr);
2042 tmpXmStr = GETXMSTR(12,154, "8x");
2043 magMenu_8x_tb = XtVaCreateManagedWidget( "magMenu_8x_tb",
2044 xmToggleButtonGadgetClass, magnificationMenu,
2045 XmNvisibleWhenOff, FALSE,
2046 XmNlabelString,tmpXmStr,
2048 XmStringFree(tmpXmStr);
2051 tmpXmStr = GETXMSTR(12,156, "10x");
2052 magMenu_10x_tb = XtVaCreateManagedWidget( "magMenu_10x_tb",
2053 xmToggleButtonGadgetClass, magnificationMenu,
2054 XmNvisibleWhenOff, FALSE,
2055 XmNlabelString,tmpXmStr,
2057 XmStringFree(tmpXmStr);
2060 tmpXmStr = GETXMSTR(12,158, "12x");
2061 magMenu_12x_tb = XtVaCreateManagedWidget( "magMenu_12x_tb",
2062 xmToggleButtonGadgetClass, magnificationMenu,
2063 XmNvisibleWhenOff, FALSE,
2064 XmNlabelString,tmpXmStr,
2066 XmStringFree(tmpXmStr);
2069 mnemonicStr = GETSTR(12,160, "M");
2070 mnemonic = mnemonicStr[0];
2071 tmpXmStr = GETXMSTR(12,162, "Magnification");
2072 optionsMenu_magnify = XtVaCreateManagedWidget( "optionsMenu_magnify",
2073 xmCascadeButtonGadgetClass, optionsMenu,
2074 XmNmnemonic, mnemonic,
2075 XmNsubMenuId, magnificationMenu,
2076 XmNlabelString, tmpXmStr,
2078 XmStringFree(tmpXmStr);
2081 mnemonicStr = GETSTR(12,164, "O");
2082 mnemonic = mnemonicStr[0];
2083 tmpXmStr = GETXMSTR(12,166, "Options");
2084 optionsMenu_top_pb = XtVaCreateManagedWidget( "optionsMenu_top_pb",
2085 xmCascadeButtonWidgetClass, menu1,
2086 XmNmnemonic, mnemonic,
2087 XmNsubMenuId, optionsMenu,
2088 XmNlabelString, tmpXmStr,
2090 XmStringFree(tmpXmStr);
2093 helpMenu_shell = XtVaCreatePopupShell ("helpMenu_shell",
2094 xmMenuShellWidgetClass, menu1,
2099 helpMenu = XtVaCreateWidget( "helpMenu",
2100 xmRowColumnWidgetClass, helpMenu_shell,
2101 XmNrowColumnType, XmMENU_PULLDOWN,
2105 mnemonicStr = GETSTR(12,168, "v");
2106 mnemonic = mnemonicStr[0];
2107 tmpXmStr = GETXMSTR(12,170, "Overview...");
2108 helpMenu_intro_pb = XtVaCreateManagedWidget( "helpMenu_intro_pb",
2109 xmPushButtonGadgetClass, helpMenu,
2110 XmNmnemonic, mnemonic,
2111 XmNlabelString, tmpXmStr,
2113 XmStringFree(tmpXmStr);
2115 XtVaCreateManagedWidget( "helpMenu_separator1",
2116 xmSeparatorGadgetClass, helpMenu, NULL);
2118 mnemonicStr = GETSTR(12,172, "T");
2119 mnemonic = mnemonicStr[0];
2120 tmpXmStr = GETXMSTR(12,174, "Tasks...");
2121 helpMenu_tasks_pb = XtVaCreateManagedWidget( "helpMenu_tasks_pb",
2122 xmPushButtonGadgetClass, helpMenu,
2123 XmNmnemonic, mnemonic,
2124 XmNlabelString, tmpXmStr,
2126 XmStringFree(tmpXmStr);
2128 mnemonicStr = GETSTR(12,176, "R");
2129 mnemonic = mnemonicStr[0];
2130 tmpXmStr = GETXMSTR(12,178, "Reference...");
2131 helpMenu_ref_pb = XtVaCreateManagedWidget( "helpMenu_ref_pb",
2132 xmPushButtonGadgetClass, helpMenu,
2133 XmNmnemonic, mnemonic,
2134 XmNlabelString, tmpXmStr,
2136 XmStringFree(tmpXmStr);
2138 mnemonicStr = GETSTR(12,180, "O");
2139 mnemonic = mnemonicStr[0];
2140 tmpXmStr = GETXMSTR(12,182, "On Item");
2141 helpMenu_item_pb = XtVaCreateManagedWidget( "helpMenu_item_pb",
2142 xmPushButtonGadgetClass, helpMenu,
2143 XmNmnemonic, mnemonic,
2144 XmNlabelString, tmpXmStr,
2146 XmStringFree(tmpXmStr);
2148 XtVaCreateManagedWidget( "helpMenu_separator2",
2149 xmSeparatorGadgetClass, helpMenu, NULL);
2151 mnemonicStr = GETSTR(12,188, "U");
2152 mnemonic = mnemonicStr[0];
2153 tmpXmStr = GETXMSTR(12,190, "Using Help...");
2154 helpMenu_using_pb = XtVaCreateManagedWidget("helpMenu_using_pb",
2155 xmPushButtonGadgetClass, helpMenu,
2156 XmNmnemonic, mnemonic,
2157 XmNlabelString, tmpXmStr,
2159 XmStringFree(tmpXmStr);
2161 XtVaCreateManagedWidget( "helpMenu_separator3",
2162 xmSeparatorGadgetClass, helpMenu, NULL);
2164 mnemonicStr = GETSTR(12,192, "A");
2165 mnemonic = mnemonicStr[0];
2166 tmpXmStr = GETXMSTR(12,194, "About the Icon Editor...");
2167 helpMenu_version_pb = XtVaCreateManagedWidget( "helpMenu_version_pb",
2168 xmPushButtonGadgetClass, helpMenu,
2169 XmNmnemonic, mnemonic,
2170 XmNlabelString, tmpXmStr,
2172 XmStringFree(tmpXmStr);
2174 mnemonicStr = GETSTR(12,196, "H");
2175 mnemonic = mnemonicStr[0];
2176 tmpXmStr = GETXMSTR(12,198, "Help");
2177 helpMenu_top_pb = XtVaCreateManagedWidget( "helpMenu_top_pb",
2178 xmCascadeButtonWidgetClass, menu1,
2179 XmNsubMenuId, helpMenu,
2180 XmNmnemonic, mnemonic,
2181 XmNlabelString, tmpXmStr,
2183 XmStringFree(tmpXmStr);
2186 /* set up meaningful tab groups */
2187 XmAddTabGroup(cmdButtonMgr); /* drawing tools */
2188 XmAddTabGroup(fillToggle); /* fill toggle */
2189 XmAddTabGroup(viewport); /* drawing tablet */
2190 XmAddTabGroup(stdColorPens); /* static colors */
2191 XmAddTabGroup(stdGreyPens); /* static greys */
2192 XmAddTabGroup(symbolicColorPens); /* symbolic colors */
2194 /* set up initial focus */
2195 XmAddTabGroup(mainWindow); /* main window */
2196 XtVaSetValues(mainWindow, XmNinitialFocus, viewport, NULL);
2199 XtAddCallback(pointButton, XmNvalueChangedCallback,
2200 armCB_pointButton, NULL);
2201 XtAddCallback(lineButton, XmNvalueChangedCallback,
2202 armCB_lineButton, NULL);
2203 XtAddCallback(rectangleButton, XmNvalueChangedCallback,
2204 armCB_rectangleButton, NULL);
2205 XtAddCallback(circleButton, XmNvalueChangedCallback,
2206 armCB_circleButton, NULL);
2207 XtAddCallback(eraseButton, XmNvalueChangedCallback,
2208 armCB_eraseButton, NULL);
2209 XtAddCallback(floodButton, XmNvalueChangedCallback,
2210 armCB_floodButton, NULL);
2211 XtAddCallback(polylineButton, XmNvalueChangedCallback,
2212 armCB_polylineButton, NULL);
2213 XtAddCallback(polygonButton, XmNvalueChangedCallback,
2214 armCB_polygonButton, NULL);
2215 XtAddCallback(ellipseButton, XmNvalueChangedCallback,
2216 armCB_ellipseButton, NULL);
2217 XtAddCallback(selectButton, XmNvalueChangedCallback,
2218 armCB_selectButton, NULL);
2220 XtAddCallback(fillToggle, XmNvalueChangedCallback,
2221 valueChangedCB_fillToggle, NULL);
2223 XtAddCallback(color_pb1, XmNvalueChangedCallback,
2224 valueChangedCB_color_pb1, NULL);
2225 XtAddCallback(color_pb2, XmNvalueChangedCallback,
2226 valueChangedCB_color_pb2, NULL);
2227 XtAddCallback(color_pb3, XmNvalueChangedCallback,
2228 valueChangedCB_color_pb3, NULL);
2229 XtAddCallback(color_pb4, XmNvalueChangedCallback,
2230 valueChangedCB_color_pb4, NULL);
2231 XtAddCallback(color_pb5, XmNvalueChangedCallback,
2232 valueChangedCB_color_pb5, NULL);
2233 XtAddCallback(color_pb6, XmNvalueChangedCallback,
2234 valueChangedCB_color_pb6, NULL);
2235 XtAddCallback(color_pb7, XmNvalueChangedCallback,
2236 valueChangedCB_color_pb7, NULL);
2237 XtAddCallback(color_pb8, XmNvalueChangedCallback,
2238 valueChangedCB_color_pb8, NULL);
2240 XtAddCallback(grey_pb1, XmNvalueChangedCallback,
2241 valueChangedCB_grey_pb1, NULL);
2242 XtAddCallback(grey_pb2, XmNvalueChangedCallback,
2243 valueChangedCB_grey_pb2, NULL);
2244 XtAddCallback(grey_pb3, XmNvalueChangedCallback,
2245 valueChangedCB_grey_pb3, NULL);
2246 XtAddCallback(grey_pb4, XmNvalueChangedCallback,
2247 valueChangedCB_grey_pb4, NULL);
2248 XtAddCallback(grey_pb5, XmNvalueChangedCallback,
2249 valueChangedCB_grey_pb5, NULL);
2250 XtAddCallback(grey_pb6, XmNvalueChangedCallback,
2251 valueChangedCB_grey_pb6, NULL);
2252 XtAddCallback(grey_pb7, XmNvalueChangedCallback,
2253 valueChangedCB_grey_pb7, NULL);
2254 XtAddCallback(grey_pb8, XmNvalueChangedCallback,
2255 valueChangedCB_grey_pb8, NULL);
2257 XtAddCallback(fgColorToggle, XmNvalueChangedCallback,
2258 valueChangedCB_fgColorToggle, NULL);
2259 XtAddCallback(bgColorToggle, XmNvalueChangedCallback,
2260 valueChangedCB_bgColorToggle, NULL);
2261 XtAddCallback(tsColorToggle, XmNvalueChangedCallback,
2262 valueChangedCB_tsColorToggle, NULL);
2263 XtAddCallback(bsColorToggle, XmNvalueChangedCallback,
2264 valueChangedCB_bsColorToggle, NULL);
2265 XtAddCallback(selectColorToggle, XmNvalueChangedCallback,
2266 valueChangedCB_selectColorToggle, NULL);
2267 XtAddCallback(transparentColorToggle, XmNvalueChangedCallback,
2268 valueChangedCB_transparentColorToggle, NULL);
2271 XtVaSetValues(menu1, XmNmenuHelpWidget, helpMenu_top_pb, NULL);
2274 XtAddCallback(fileMenu_new_pb, XmNactivateCallback,
2275 activateCB_fileMenu_new_pb, NULL);
2276 XtAddCallback(fileMenu_open_pb, XmNactivateCallback,
2277 activateCB_fileMenu_open_pb, NULL);
2278 XtAddCallback(fileMenu_save_pb, XmNactivateCallback,
2279 activateCB_fileMenu_save_pb, NULL);
2280 XtAddCallback(fileMenu_saveAs_pb, XmNactivateCallback,
2281 activateCB_fileMenu_saveAs_pb, NULL);
2282 XtAddCallback(fileMenu_quit_pb, XmNactivateCallback,
2283 activateCB_fileMenu_quit_pb, NULL);
2286 XtAddCallback(editMenu_undo_pb, XmNactivateCallback,
2287 activateCB_editMenu_undo_pb, NULL);
2289 XtAddCallback(editMenu_cut_pb, XmNactivateCallback,
2290 activateCB_editMenu_cut_pb, NULL);
2292 XtAddCallback(editMenu_copy_pb, XmNactivateCallback,
2293 activateCB_editMenu_copy_pb, NULL);
2295 XtAddCallback(editMenu_paste_pb, XmNactivateCallback,
2296 activateCB_editMenu_paste_pb, NULL);
2298 XtAddCallback(rotateMenu_pb1, XmNactivateCallback,
2299 activateCB_rotateMenu_pb1, NULL);
2300 XtAddCallback(rotateMenu_pb2, XmNactivateCallback,
2301 activateCB_rotateMenu_pb2, NULL);
2303 XtAddCallback(flipMenu_pb1, XmNactivateCallback,
2304 activateCB_flipMenu_pb1, NULL);
2305 XtAddCallback(flipMenu_pb2, XmNactivateCallback,
2306 activateCB_flipMenu_pb2, NULL);
2308 XtAddCallback(editMenu_scale_pb, XmNactivateCallback,
2309 activateCB_editMenu_scale_pb, NULL);
2311 XtAddCallback(editMenu_resize_pb, XmNactivateCallback,
2312 activateCB_editMenu_resize_pb, NULL);
2314 XtAddCallback(editMenu_addHS_pb, XmNactivateCallback,
2315 activateCB_editMenu_addHS_pb, NULL);
2317 XtAddCallback(editMenu_deleteHS_pb, XmNactivateCallback,
2318 activateCB_editMenu_deleteHS_pb, NULL);
2320 XtAddCallback(editMenu_grabImage_pb, XmNactivateCallback,
2321 activateCB_editMenu_grabImage_pb, NULL);
2323 XtAddCallback(editMenu_clear_pb, XmNactivateCallback,
2324 activateCB_editMenu_clear_pb, NULL);
2327 XtAddCallback(optionsMenu_grid, XmNvalueChangedCallback,
2328 valueChangedCB_optionsMenu_grid, NULL);
2330 XtAddCallback(formatMenu_xbm_tb, XmNvalueChangedCallback,
2331 valueChangedCB_formatMenu_xbm_tb, NULL);
2332 XtAddCallback(formatMenu_xpm_tb, XmNvalueChangedCallback,
2333 valueChangedCB_formatMenu_xpm_tb, NULL);
2335 XtAddCallback(magMenu_2x_tb, XmNvalueChangedCallback,
2336 valueChangedCB_magMenu_2x_tb, NULL);
2337 XtAddCallback(magMenu_3x_tb, XmNvalueChangedCallback,
2338 valueChangedCB_magMenu_3x_tb, NULL);
2339 XtAddCallback(magMenu_4x_tb, XmNvalueChangedCallback,
2340 valueChangedCB_magMenu_4x_tb, NULL);
2341 XtAddCallback(magMenu_5x_tb, XmNvalueChangedCallback,
2342 valueChangedCB_magMenu_5x_tb, NULL);
2343 XtAddCallback(magMenu_6x_tb, XmNvalueChangedCallback,
2344 valueChangedCB_magMenu_6x_tb, NULL);
2345 XtAddCallback(magMenu_8x_tb, XmNvalueChangedCallback,
2346 valueChangedCB_magMenu_8x_tb, NULL);
2347 XtAddCallback(magMenu_10x_tb, XmNvalueChangedCallback,
2348 valueChangedCB_magMenu_10x_tb, NULL);
2349 XtAddCallback(magMenu_12x_tb, XmNvalueChangedCallback,
2350 valueChangedCB_magMenu_12x_tb, NULL);
2353 XmMainWindowSetAreas( mainWindow, menu1, (Widget) NULL,
2354 (Widget) NULL, (Widget) NULL, mainForm );
2356 return ( dtIconShell );
2360 /*******************************************************************************
2361 NewGraphicsOp - sets the text in the instruction line
2362 *******************************************************************************/
2363 static void NewGraphicsOp()
2365 static char *fillOnStr = NULL;
2367 char *graphicsOpStr = NULL;
2368 char *tmpStr = NULL;
2369 XmString tmpXmStr = NULL;
2374 XtSetSensitive( editMenu_cut_pb, False);
2375 XtSetSensitive( editMenu_copy_pb, False);
2376 XtSetSensitive(editMenu_rotate_pb, False);
2377 XtSetSensitive(editMenu_flip_pb, False);
2378 XtSetSensitive(editMenu_scale_pb, False);
2380 /* set the instruction text line to current drawing mode */
2381 switch (GraphicsOp) {
2384 tmpStr = GETSTR(12, 204, "Pencil");
2387 tmpStr = GETSTR(12, 206, "Flood");
2390 tmpStr = GETSTR(12, 208, "Line");
2393 tmpStr = GETSTR(12, 210, "Polyline");
2396 tmpStr = GETSTR(12, 212, "Rectangle");
2400 tmpStr = GETSTR(12, 214, "Polygon");
2404 tmpStr = GETSTR(12, 216, "Circle");
2408 tmpStr = GETSTR(12, 218, "Ellipse");
2412 tmpStr = GETSTR(12, 220, "Erase");
2415 tmpStr = GETSTR(12, 222, "Select");
2418 tmpStr = GETSTR(12, 224, "Invalid");
2421 } /* switch GraphicsOp */
2423 graphicsOpStr = XtNewString (tmpStr);
2425 /* create full help string */
2426 if ( fillOp && FillSolids)
2428 /* if fill mode is on append fillOnStr to end of string */
2431 tmpStr = GETSTR(12, 202, "(Filled)");
2432 fillOnStr = XtNewString (tmpStr);
2435 tmpStr = (char *)XtMalloc(strlen(graphicsOpStr) + strlen(fillOnStr) +2);
2436 tmpStr = strcpy (tmpStr, graphicsOpStr);
2437 tmpStr = strcat (tmpStr, " ");
2438 tmpStr = strcat (tmpStr, fillOnStr);
2440 tmpXmStr = XMSTR(tmpStr);
2442 XtFree (graphicsOpStr);
2446 tmpXmStr = XMSTR(graphicsOpStr);
2447 XtFree (graphicsOpStr);
2451 XtSetArg (args[n], XmNlabelString, tmpXmStr); n++;
2452 XtSetValues (instructionText, args, n);
2454 XmStringFree(tmpXmStr);
2457 /*******************************************************************************
2458 The following is the 'Interface function' which is the
2459 external entry point for creating this interface.
2460 This function should be called from your application or from
2461 a callback function.
2462 *******************************************************************************/
2465 create_dtIconShell( void )
2468 static int init = 0;
2472 static XtActionsRec actions[] = {
2473 { "tablet_event", action_tablet_event }
2476 XtAppAddActions( AppContext,
2478 XtNumber(actions) );
2483 w = build_dtIconShell();
2490 /*******************************************************************************
2492 *******************************************************************************/