Link with C++ linker
[oweals/cde.git] / cde / programs / dticon / dtIconShell.c
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
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)
10  * any later version.
11  *
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
16  * details.
17  *
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
22  */
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
29 *      Novell, Inc.
30 **********************************************************************/
31 /*******************************************************************************
32         dtIconShell.c
33
34 *******************************************************************************/
35
36 #include <stdio.h>
37 #include <Xm/Xm.h>
38 #include <Xm/MenuShell.h>
39 #include <Xm/CascadeB.h>
40 #include <Xm/SeparatoG.h>
41 #include <Xm/Label.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>
49 #include <Xm/Frame.h>
50 #include <Xm/LabelG.h>
51 #include <Xm/DrawnB.h>
52 #include <Xm/Form.h>
53 #include <Xm/MainW.h>
54 #include <X11/Shell.h>
55 #include <Dt/TitleBox.h>
56
57 #define PIXMAP_HEIGHT   48
58 #define PIXMAP_WIDTH    48
59 #define COLOR_BUTTON_SIZE 30
60 #define VIEWPORT_INITIAL_HEIGHT 290
61
62 /*******************************************************************************
63         Includes, Defines, and Global variables from the Declarations Editor:
64 *******************************************************************************/
65
66 #include "externals.h"
67 #include "main.h"
68
69 #define    RES_CONVERT( res_name, res_value) \
70     XtVaTypedArg, (res_name), XmRString, (res_value), strlen(res_value) + 1
71
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;
81
82 Widget staticColorsBox;
83 Widget symbolicColorsBox;
84 Widget staticGreysBox;
85 Widget dtIconShell;
86 Widget mainWindow;
87 Widget mainForm;
88 Widget iconForm;
89 Widget iconImage;
90 Widget iconSize;
91 Widget monoImage;
92 Widget monoLabel;
93 Widget pointButton;
94 Widget lineButton;
95 Widget rectangleButton;
96 Widget circleButton;
97 Widget eraseButton;
98 Widget floodButton;
99 Widget polylineButton;
100 Widget polygonButton;
101 Widget ellipseButton;
102 Widget selectButton;
103 Widget fillToggle;
104 Widget stdColorPens;
105 Widget color_pb1;
106 Widget color_pb2;
107 Widget color_pb3;
108 Widget color_pb4;
109 Widget color_pb5;
110 Widget color_pb6;
111 Widget color_pb7;
112 Widget color_pb8;
113 Widget stdGreyPens;
114 Widget grey_pb1;
115 Widget grey_pb2;
116 Widget grey_pb3;
117 Widget grey_pb4;
118 Widget grey_pb5;
119 Widget grey_pb6;
120 Widget grey_pb7;
121 Widget grey_pb8;
122 Widget symbolicColorPens;
123 Widget fgColorToggle;
124 Widget bgColorToggle;
125 Widget tsColorToggle;
126 Widget bsColorToggle;
127 Widget selectColorToggle;
128 Widget transparentColorToggle;
129 Widget viewport;
130 Widget tabletBorder;
131 Widget tabletFrame;
132 Widget tablet;
133 Widget menu1;
134 Widget fileMenu;
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;
141 Widget editMenu;
142 Widget editMenu_undo_pb;
143 Widget editMenu_cut_pb;
144 Widget editMenu_copy_pb;
145 Widget editMenu_paste_pb;
146 Widget rotateMenu;
147 Widget editMenu_rotate_pb;
148 Widget flipMenu;
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;
157 Widget optionsMenu;
158 Widget optionsMenu_grid;
159 Widget formatMenu;
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;
174 Widget helpMenu;
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;
182
183 /*******************************************************************************
184         The following are translation tables.
185 *******************************************************************************/
186
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";
197
198 static char        *transTable2 = "#override\n\
199 <Expose>:tablet_event(\"EXPOSE\",\"0\")\n";
200
201 /*******************************************************************************
202         Forward declarations of functions that are defined later in this file.
203 *******************************************************************************/
204
205 Widget create_dtIconShell();
206 static void NewGraphicsOp();
207
208 /*******************************************************************************
209         The following are Action functions.
210 *******************************************************************************/
211
212 static void
213 action_tablet_event(
214         Widget w,
215         XEvent *event,
216         String *params,
217         Cardinal *numParams )
218 {
219     ProcessTabletEvent(w, event, params, *numParams);
220 }
221
222 /*******************************************************************************
223         The following are callback functions.
224 *******************************************************************************/
225
226 static void
227 armCB_pointButton(
228         Widget w,
229         XtPointer clientData,
230         XtPointer callbackArg )
231 {
232
233         GraphicsOp = POINT;
234         NewGraphicsOp();
235 }
236
237 static void
238 armCB_lineButton(
239         Widget w,
240         XtPointer clientData,
241         XtPointer callbackArg )
242 {
243
244         GraphicsOp = LINE;
245         NewGraphicsOp();
246 }
247
248 static void
249 armCB_rectangleButton(
250         Widget w,
251         XtPointer clientData,
252         XtPointer callbackArg )
253 {
254
255         GraphicsOp = RECTANGLE;
256         NewGraphicsOp();
257 }
258
259 static void
260 armCB_circleButton(
261         Widget w,
262         XtPointer clientData,
263         XtPointer callbackArg )
264 {
265
266         GraphicsOp = CIRCLE;
267         NewGraphicsOp();
268 }
269
270 static void
271 armCB_eraseButton(
272         Widget w,
273         XtPointer clientData,
274         XtPointer callbackArg )
275 {
276
277         GraphicsOp = ERASER;
278         NewGraphicsOp();
279 }
280
281 static void
282 armCB_floodButton(
283         Widget w,
284         XtPointer clientData,
285         XtPointer callbackArg )
286 {
287
288         GraphicsOp = FLOOD;
289         NewGraphicsOp();
290 }
291
292 static void
293 armCB_polylineButton(
294         Widget w,
295         XtPointer clientData,
296         XtPointer callbackArg )
297 {
298
299         GraphicsOp = POLYLINE;
300         NewGraphicsOp();
301 }
302
303 static void
304 armCB_polygonButton(
305         Widget w,
306         XtPointer clientData,
307         XtPointer callbackArg )
308 {
309
310         GraphicsOp = POLYGON;
311         NewGraphicsOp();
312 }
313
314 static void
315 armCB_ellipseButton(
316         Widget w,
317         XtPointer clientData,
318         XtPointer callbackArg )
319 {
320
321         GraphicsOp = ELLIPSE;
322         NewGraphicsOp();
323 }
324
325 static void
326 armCB_selectButton(
327         Widget w,
328         XtPointer clientData,
329         XtPointer callbackArg )
330 {
331
332         GraphicsOp = SELECT;
333         NewGraphicsOp();
334 }
335
336 static void
337 valueChangedCB_fillToggle(
338         Widget w,
339         XtPointer clientData,
340         XtPointer callbackArg )
341 {
342
343         Switch_FillSolids();
344         NewGraphicsOp();
345 }
346
347 static void
348 valueChangedCB_color_pb1(
349         Widget w,
350         XtPointer clientData,
351         XtPointer callbackArg )
352 {
353
354         Select_New_Pen(COLOR1);
355 }
356
357 static void
358 valueChangedCB_color_pb2(
359         Widget w,
360         XtPointer clientData,
361         XtPointer callbackArg )
362 {
363
364         Select_New_Pen(COLOR2);
365 }
366
367 static void
368 valueChangedCB_color_pb3(
369         Widget w,
370         XtPointer clientData,
371         XtPointer callbackArg )
372 {
373
374         Select_New_Pen(COLOR3);
375 }
376
377 static void
378 valueChangedCB_color_pb4(
379         Widget w,
380         XtPointer clientData,
381         XtPointer callbackArg )
382 {
383
384         Select_New_Pen(COLOR4);
385 }
386
387 static void
388 valueChangedCB_color_pb5(
389         Widget w,
390         XtPointer clientData,
391         XtPointer callbackArg )
392 {
393
394         Select_New_Pen(COLOR5);
395 }
396
397 static void
398 valueChangedCB_color_pb6(
399         Widget w,
400         XtPointer clientData,
401         XtPointer callbackArg )
402 {
403
404         Select_New_Pen(COLOR6);
405 }
406
407 static void
408 valueChangedCB_color_pb7(
409         Widget w,
410         XtPointer clientData,
411         XtPointer callbackArg )
412 {
413
414         Select_New_Pen(COLOR7);
415 }
416
417 static void
418 valueChangedCB_color_pb8(
419         Widget w,
420         XtPointer clientData,
421         XtPointer callbackArg )
422 {
423
424         Select_New_Pen(COLOR8);
425 }
426
427 static void
428 valueChangedCB_grey_pb1(
429         Widget w,
430         XtPointer clientData,
431         XtPointer callbackArg )
432 {
433
434         Select_New_Pen(GREY1);
435 }
436
437 static void
438 valueChangedCB_grey_pb2(
439         Widget w,
440         XtPointer clientData,
441         XtPointer callbackArg )
442 {
443
444         Select_New_Pen(GREY2);
445 }
446
447 static void
448 valueChangedCB_grey_pb3(
449         Widget w,
450         XtPointer clientData,
451         XtPointer callbackArg )
452 {
453
454         Select_New_Pen(GREY3);
455 }
456
457 static void
458 valueChangedCB_grey_pb4(
459         Widget w,
460         XtPointer clientData,
461         XtPointer callbackArg )
462 {
463
464         Select_New_Pen(GREY4);
465 }
466
467 static void
468 valueChangedCB_grey_pb5(
469         Widget w,
470         XtPointer clientData,
471         XtPointer callbackArg )
472 {
473
474         Select_New_Pen(GREY5);
475 }
476
477 static void
478 valueChangedCB_grey_pb6(
479         Widget w,
480         XtPointer clientData,
481         XtPointer callbackArg )
482 {
483
484         Select_New_Pen(GREY6);
485 }
486
487 static void
488 valueChangedCB_grey_pb7(
489         Widget w,
490         XtPointer clientData,
491         XtPointer callbackArg )
492 {
493
494         Select_New_Pen(GREY7);
495 }
496
497 static void
498 valueChangedCB_grey_pb8(
499         Widget w,
500         XtPointer clientData,
501         XtPointer callbackArg )
502 {
503
504         Select_New_Pen(GREY8);
505 }
506
507 static void
508 valueChangedCB_fgColorToggle(
509         Widget w,
510         XtPointer clientData,
511         XtPointer callbackArg )
512 {
513
514         Select_New_Pen(FG_COLOR);
515 }
516
517 static void
518 valueChangedCB_bgColorToggle(
519         Widget w,
520         XtPointer clientData,
521         XtPointer callbackArg )
522 {
523
524         Select_New_Pen(BG_COLOR);
525 }
526
527 static void
528 valueChangedCB_tsColorToggle(
529         Widget w,
530         XtPointer clientData,
531         XtPointer callbackArg )
532 {
533
534         Select_New_Pen(TS_COLOR);
535 }
536
537 static void
538 valueChangedCB_bsColorToggle(
539         Widget w,
540         XtPointer clientData,
541         XtPointer callbackArg )
542 {
543
544         Select_New_Pen(BS_COLOR);
545 }
546
547 static void
548 valueChangedCB_selectColorToggle(
549         Widget w,
550         XtPointer clientData,
551         XtPointer callbackArg )
552 {
553
554         Select_New_Pen(SELECT_COLOR);
555 }
556
557 static void
558 valueChangedCB_transparentColorToggle(
559         Widget w,
560         XtPointer clientData,
561         XtPointer callbackArg )
562 {
563
564         Select_New_Pen(TRANS_COLOR);
565 }
566
567 static void
568 activateCB_fileMenu_new_pb(
569         Widget w,
570         XtPointer clientData,
571         XtPointer callbackArg )
572 {
573
574         Process_New();
575 }
576
577 static void
578 activateCB_fileMenu_open_pb(
579         Widget w,
580         XtPointer clientData,
581         XtPointer callbackArg )
582 {
583
584         Process_Open();
585 }
586
587 static void
588 activateCB_fileMenu_save_pb(
589         Widget w,
590         XtPointer clientData,
591         XtPointer callbackArg )
592 {
593
594         Process_Save();
595 }
596
597 static void
598 activateCB_fileMenu_saveAs_pb(
599         Widget w,
600         XtPointer clientData,
601         XtPointer callbackArg )
602 {
603
604         Process_SaveAs();
605 }
606
607 static void
608 activateCB_fileMenu_quit_pb(
609         Widget w,
610         XtPointer clientData,
611         XtPointer callbackArg )
612 {
613
614         Process_Quit();
615 }
616
617 static void
618 activateCB_editMenu_undo_pb(
619         Widget w,
620         XtPointer clientData,
621         XtPointer callbackArg )
622 {
623
624         Process_Undo();
625 }
626
627 static void
628 activateCB_editMenu_cut_pb(
629         Widget w,
630         XtPointer clientData,
631         XtPointer callbackArg )
632 {
633
634         Process_Cut();
635 }
636
637 static void
638 activateCB_editMenu_copy_pb(
639         Widget w,
640         XtPointer clientData,
641         XtPointer callbackArg )
642 {
643
644         Process_Copy(&CutCopy, &CutCopy_mono);
645 }
646
647 static void
648 activateCB_editMenu_paste_pb(
649         Widget w,
650         XtPointer clientData,
651         XtPointer callbackArg )
652 {
653
654         Process_Paste();
655 }
656
657 static void
658 activateCB_rotateMenu_pb1(
659         Widget w,
660         XtPointer clientData,
661         XtPointer callbackArg )
662 {
663
664         Process_RotateLeft();
665 }
666
667 static void
668 activateCB_rotateMenu_pb2(
669         Widget w,
670         XtPointer clientData,
671         XtPointer callbackArg )
672 {
673
674         Process_RotateRight();
675 }
676
677 static void
678 activateCB_flipMenu_pb1(
679         Widget w,
680         XtPointer clientData,
681         XtPointer callbackArg )
682 {
683
684         Process_FlipV();
685 }
686
687 static void
688 activateCB_flipMenu_pb2(
689         Widget w,
690         XtPointer clientData,
691         XtPointer callbackArg )
692 {
693
694         Process_FlipH();
695 }
696
697 static void
698 activateCB_editMenu_scale_pb(
699         Widget w,
700         XtPointer clientData,
701         XtPointer callbackArg )
702 {
703
704         Process_Scale();
705 }
706
707 static void
708 activateCB_editMenu_resize_pb(
709         Widget w,
710         XtPointer clientData,
711         XtPointer callbackArg )
712 {
713
714         Process_Resize();
715 }
716
717 static void
718 activateCB_editMenu_addHS_pb(
719         Widget w,
720         XtPointer clientData,
721         XtPointer callbackArg )
722 {
723
724         Process_AddHotspot();
725         XtSetSensitive( editMenu_deleteHS_pb, True );
726 }
727
728 static void
729 activateCB_editMenu_deleteHS_pb(
730         Widget w,
731         XtPointer clientData,
732         XtPointer callbackArg )
733 {
734
735         Process_DeleteHotspot();
736         XtSetSensitive( editMenu_deleteHS_pb, False );
737 }
738
739 static void
740 activateCB_editMenu_grabImage_pb(
741         Widget w,
742         XtPointer clientData,
743         XtPointer callbackArg )
744 {
745
746       Process_GrabImage();
747 }
748
749 static void
750 activateCB_editMenu_clear_pb(
751         Widget w,
752         XtPointer clientData,
753         XtPointer callbackArg )
754 {
755
756         Process_Clear();
757 }
758
759 static void
760 valueChangedCB_optionsMenu_grid(
761         Widget w,
762         XtPointer clientData,
763         XtPointer callbackArg )
764 {
765
766         Process_GridState();
767 }
768
769 static void
770 valueChangedCB_formatMenu_xbm_tb(
771         Widget w,
772         XtPointer clientData,
773         XtPointer callbackArg )
774 {
775
776         New_FileFormat(FORMAT_XBM);
777 }
778
779 static void
780 valueChangedCB_formatMenu_xpm_tb(
781         Widget w,
782         XtPointer clientData,
783         XtPointer callbackArg )
784 {
785
786         New_FileFormat(FORMAT_XPM);
787 }
788
789 static void
790 valueChangedCB_magMenu_2x_tb(
791         Widget w,
792         XtPointer clientData,
793         XtPointer callbackArg )
794 {
795
796         New_MagFactor(2);
797 }
798
799 static void
800 valueChangedCB_magMenu_3x_tb(
801         Widget w,
802         XtPointer clientData,
803         XtPointer callbackArg )
804 {
805
806         New_MagFactor(3);
807 }
808
809 static void
810 valueChangedCB_magMenu_4x_tb(
811         Widget w,
812         XtPointer clientData,
813         XtPointer callbackArg )
814 {
815
816         New_MagFactor(4);
817 }
818
819 static void
820 valueChangedCB_magMenu_5x_tb(
821         Widget w,
822         XtPointer clientData,
823         XtPointer callbackArg )
824 {
825
826         New_MagFactor(5);
827 }
828
829 static void
830 valueChangedCB_magMenu_6x_tb(
831         Widget w,
832         XtPointer clientData,
833         XtPointer callbackArg )
834 {
835
836         New_MagFactor(6);
837 }
838
839 static void
840 valueChangedCB_magMenu_8x_tb(
841         Widget w,
842         XtPointer clientData,
843         XtPointer callbackArg )
844 {
845
846         New_MagFactor(8);
847 }
848
849 static void
850 valueChangedCB_magMenu_10x_tb(
851         Widget w,
852         XtPointer clientData,
853         XtPointer callbackArg )
854 {
855
856         New_MagFactor(10);
857 }
858
859 static void
860 valueChangedCB_magMenu_12x_tb(
861         Widget w,
862         XtPointer clientData,
863         XtPointer callbackArg )
864 {
865
866         New_MagFactor(12);
867 }
868
869 /*******************************************************************************
870         The 'build_' function creates all the widgets
871         using the resource values specified in the Property Editor.
872 *******************************************************************************/
873
874 static Widget
875 build_dtIconShell( void )
876 {
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];
888
889         /* GETSTR uses a static buffer which may be overwritten */
890         /* on subsequent calls, so save character in mnemonic   */
891         char *        mnemonicStr;
892         char          mnemonic;
893
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);
897
898         if (!session.useSession)
899         {
900             XtVaSetValues( TopLevel,
901                            XmNminWidth, 10,
902                            XmNminHeight, 10,
903                            XmNtitle, tmpStr,
904                            XmNiconName, GETSTR(10,66, "(UNTITLED)"),
905                            XmNdeleteResponse, XmDO_NOTHING,
906                            NULL);
907             dtIconShell = TopLevel;
908         }
909         else
910         {
911             sprintf(geometry, "=%dx%d+%d+%d", session.width, session.height,
912                     session.x, session.y);
913
914             XtVaSetValues( TopLevel,
915                            XmNminWidth, 10,
916                            XmNminHeight, 10,
917                            XmNtitle, tmpStr,
918                            XmNiconName, GETSTR(10,66, "(UNTITLED)"),
919                            XmNdeleteResponse, XmDO_NOTHING,
920                            XmNgeometry, geometry,
921                            XmNinitialState, session.iconicState,
922                            NULL);
923             dtIconShell = TopLevel;
924
925         }
926
927         mainWindow = XtVaCreateManagedWidget( "mainWindow",
928                         xmMainWindowWidgetClass, dtIconShell,
929                         NULL);
930
931         mainForm = XtVaCreateManagedWidget( "mainForm",
932                         xmFormWidgetClass, mainWindow,
933                         NULL);
934
935
936         tmpXmStr = GETXMSTR(12,204, "Pencil");
937         instructionText = XtVaCreateManagedWidget( "instructionText",
938                         xmLabelGadgetClass, mainForm,
939                         XmNlabelString, tmpXmStr,
940                         XmNtopOffset, 5,
941                         XmNtopAttachment, XmATTACH_FORM,
942                         XmNrightOffset, -230,
943                         XmNrightAttachment, XmATTACH_OPPOSITE_FORM,
944                         XmNleftOffset, 5,
945                         XmNleftAttachment, XmATTACH_FORM,
946                         NULL);
947         XmStringFree(tmpXmStr);
948
949
950         tmpXmStr = XmStringCreateLocalized ("       ");
951         coordinateText = XtVaCreateManagedWidget( "coordinateText",
952                         xmLabelGadgetClass, mainForm,
953                         XmNlabelString, tmpXmStr,
954                         XmNalignment, XmALIGNMENT_BEGINNING,
955                         XmNtopOffset, 5,
956                         XmNtopAttachment,   XmATTACH_FORM,
957                         XmNbottomOffset, 1,
958                         XmNbottomWidget,   viewport,
959                         XmNrightOffset, 70,
960                         XmNrightAttachment, XmATTACH_FORM,
961                         XmNleftOffset, 230,
962                         XmNleftAttachment, XmATTACH_WIDGET,
963                         NULL);
964         XmStringFree(tmpXmStr);
965
966
967         iconForm = XtVaCreateManagedWidget( "iconForm",
968                         xmFormWidgetClass, mainForm,
969                         XmNtopWidget, instructionText,
970                         XmNtopOffset, 5,
971                         XmNtopAttachment, XmATTACH_WIDGET,
972                         XmNrightOffset, 5,
973                         XmNrightAttachment, XmATTACH_FORM,
974                         NULL);
975
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,
983                         NULL);
984
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,
993                         NULL);
994         XmStringFree(tmpXmStr);
995
996         monoImage = XtVaCreateManagedWidget( "monoImage",
997                         xmDrawnButtonWidgetClass, iconForm,
998                         RES_CONVERT( XmNtranslations, transTable2 ),
999                         XmNshadowType, XmSHADOW_ETCHED_OUT,
1000                         XmNtopWidget, iconSize,
1001                         XmNtopOffset, 20,
1002                         XmNtopAttachment, XmATTACH_WIDGET,
1003                         XmNleftAttachment, XmATTACH_FORM,
1004                         XmNtraversalOn, False,
1005                         NULL);
1006
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 ),
1015                         NULL);
1016         XmStringFree(tmpXmStr);
1017
1018
1019         cmdButtonForm = XtVaCreateManagedWidget( "cmdButtonForm",
1020                         xmFormWidgetClass, mainForm,
1021                         XmNtopWidget, instructionText,
1022                         XmNtopOffset, 5,
1023                         XmNtopAttachment, XmATTACH_WIDGET,
1024                         XmNleftOffset, 5,
1025                         XmNleftAttachment, XmATTACH_FORM,
1026                         NULL);
1027
1028         cmdButtonMgr = XtVaCreateManagedWidget( "cmdButtonMgr",
1029                         xmRowColumnWidgetClass, cmdButtonForm,
1030                         XmNtopAttachment, XmATTACH_FORM,
1031                         XmNleftAttachment, XmATTACH_FORM,
1032                         XmNresizable, FALSE,
1033                         XmNnumColumns, 2,
1034                         XmNborderWidth, 1,
1035                         XmNmarginHeight, 0,
1036                         XmNmarginWidth, 0,
1037                         XmNspacing, 1,
1038                         XmNradioAlwaysOne, TRUE,
1039                         XmNradioBehavior, TRUE,
1040                         NULL);
1041
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,
1051                         NULL);
1052
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,
1062                         NULL);
1063
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,
1073                         NULL);
1074
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,
1084                         NULL);
1085
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,
1095                         NULL);
1096
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,
1106                         NULL);
1107
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,
1117                         NULL);
1118
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,
1128                         NULL);
1129
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,
1139                         NULL);
1140
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,
1150                         NULL);
1151
1152         tmpXmStr = GETXMSTR(12,6, "Fill Solids");
1153         fillToggle = XtVaCreateManagedWidget( "fillToggle",
1154                         xmToggleButtonGadgetClass, cmdButtonForm,
1155                         XmNmarginHeight, 0,
1156                         XmNmarginTop, 0,
1157                         XmNmarginBottom, 0,
1158                         XmNtopWidget, cmdButtonMgr,
1159                         XmNtopAttachment, XmATTACH_WIDGET,
1160                         XmNrightAttachment, XmATTACH_FORM,
1161                         XmNleftAttachment, XmATTACH_FORM,
1162                         XmNshadowThickness, 0,
1163                         XmNlabelString, tmpXmStr,
1164                         NULL);
1165         XmStringFree(tmpXmStr);
1166
1167
1168         cmdForm = XtVaCreateManagedWidget( "cmdForm",
1169                         xmFormWidgetClass, mainForm,
1170                         XmNrightOffset, 5,
1171                         XmNrightAttachment, XmATTACH_FORM,
1172                         XmNbottomOffset, 5,
1173                         XmNbottomAttachment, XmATTACH_FORM,
1174                         XmNleftOffset, 5,
1175                         XmNleftAttachment, XmATTACH_FORM,
1176                         XmNshadowThickness, 0,
1177                         NULL);
1178
1179         tmpXmStr = GETXMSTR(12,8, "Static Colors");
1180         staticColorsBox = XtVaCreateManagedWidget( "staticColorsBox",
1181                         dtTitleBoxWidgetClass, cmdForm,
1182                         XmNmarginWidth, 5,
1183                         XmNmarginHeight, 5,
1184                         XmNtitleString, tmpXmStr,
1185                         XmNleftAttachment, XmATTACH_FORM,
1186                         XmNshadowType, XmSHADOW_ETCHED_OUT,
1187                         NULL);
1188         XmStringFree(tmpXmStr);
1189
1190         stdColorPens = XtVaCreateManagedWidget( "stdColorPens",
1191                         xmFormWidgetClass, staticColorsBox,
1192                         NULL);
1193
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,
1205                         NULL);
1206
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,
1220                         NULL);
1221
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,
1234                         NULL);
1235
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,
1250                         NULL);
1251
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,
1264                         NULL);
1265
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,
1280                         NULL);
1281
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,
1294                         NULL);
1295
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,
1310                         NULL);
1311
1312
1313         tmpXmStr = GETXMSTR(12,12, "Static Grays");
1314         staticGreysBox = XtVaCreateManagedWidget( "staticGreysBox",
1315                         dtTitleBoxWidgetClass, cmdForm,
1316                         XmNmarginWidth, 5,
1317                         XmNmarginHeight, 5,
1318                         XmNtitleString, tmpXmStr,
1319                         XmNleftWidget, staticColorsBox,
1320                         XmNleftOffset, 5,
1321                         XmNleftAttachment, XmATTACH_WIDGET,
1322                         XmNshadowType, XmSHADOW_ETCHED_OUT,
1323                         NULL);
1324         XmStringFree(tmpXmStr);
1325
1326         stdGreyPens = XtVaCreateManagedWidget( "stdGreyPens",
1327                         xmFormWidgetClass, staticGreysBox,
1328                         NULL);
1329
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,
1341                         NULL);
1342
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,
1356                         NULL);
1357
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,
1370                         NULL);
1371
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,
1386                         NULL);
1387
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,
1400                         NULL);
1401
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,
1416                         NULL);
1417
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,
1430                         NULL);
1431
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,
1446                         NULL);
1447
1448
1449         tmpXmStr = GETXMSTR(12,10, "Dynamic Colors");
1450         symbolicColorsBox = XtVaCreateManagedWidget( "symbolicColorsBox",
1451                         dtTitleBoxWidgetClass, cmdForm,
1452                         XmNmarginWidth, 5,
1453                         XmNmarginHeight, 5,
1454                         XmNtitleString, tmpXmStr,
1455                         XmNleftWidget, staticGreysBox,
1456                         XmNleftOffset, 5,
1457                         XmNleftAttachment, XmATTACH_WIDGET,
1458                         XmNshadowType, XmSHADOW_ETCHED_OUT,
1459                         NULL);
1460         XmStringFree(tmpXmStr);
1461
1462         symbolicColorPens = XtVaCreateManagedWidget( "symbolicColorPens",
1463                         xmRowColumnWidgetClass, symbolicColorsBox,
1464                         XmNpacking, XmPACK_COLUMN,
1465                         XmNradioAlwaysOne, FALSE,
1466                         XmNentryClass, xmToggleButtonWidgetClass,
1467                         XmNspacing, 0,
1468                         XmNmarginWidth, 0,
1469                         XmNmarginHeight, 0,
1470                         XmNradioBehavior, FALSE,
1471                         XmNorientation, XmHORIZONTAL,
1472                         XmNnumColumns, 3,
1473                         NULL);
1474
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,
1482                         NULL);
1483         XmStringFree(tmpXmStr);
1484
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,
1492                         NULL);
1493         XmStringFree(tmpXmStr);
1494
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,
1502                         NULL);
1503         XmStringFree(tmpXmStr);
1504
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,
1512                         NULL);
1513         XmStringFree(tmpXmStr);
1514
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,
1522                         NULL);
1523         XmStringFree(tmpXmStr);
1524
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,
1532                         NULL);
1533         XmStringFree(tmpXmStr);
1534
1535
1536         viewport = XtVaCreateManagedWidget( "viewport",
1537                         xmScrolledWindowWidgetClass, mainForm,
1538                         XmNheight, VIEWPORT_INITIAL_HEIGHT,
1539                         XmNtopWidget, instructionText,
1540                         XmNtopOffset, 5,
1541                         XmNtopAttachment, XmATTACH_WIDGET,
1542                         XmNrightWidget, iconForm,
1543                         XmNrightOffset, 5,
1544                         XmNrightAttachment, XmATTACH_WIDGET,
1545                         XmNbottomWidget, cmdForm,
1546                         XmNbottomOffset, 20,
1547                         XmNbottomAttachment, XmATTACH_WIDGET,
1548                         XmNleftWidget, cmdButtonForm,
1549                         XmNleftOffset, 5,
1550                         XmNleftAttachment, XmATTACH_WIDGET,
1551                         XmNscrollingPolicy, XmAUTOMATIC,
1552                         NULL);
1553
1554
1555         tabletBorder = XtVaCreateManagedWidget( "tabletBorder",
1556                         xmDrawingAreaWidgetClass, viewport,
1557                         XmNmarginWidth, 10,
1558                         XmNmarginHeight, 10,
1559                         XmNtraversalOn, False,
1560                         NULL);
1561
1562
1563         tabletFrame = XtVaCreateManagedWidget( "tabletFrame",
1564                         xmFrameWidgetClass, tabletBorder,
1565                         XmNshadowType, XmSHADOW_ETCHED_OUT,
1566                         XmNmarginWidth, 0,
1567                         XmNmarginHeight, 0,
1568                         NULL);
1569
1570
1571         tablet = XtVaCreateManagedWidget( "tablet",
1572                         xmDrawnButtonWidgetClass, tabletFrame,
1573                         RES_CONVERT( XmNtranslations, transTable1 ),
1574                         XmNshadowThickness, 0,
1575                         XmNmarginWidth, 0,
1576                         XmNmarginHeight, 0,
1577                         XmNhighlightThickness, 0,
1578                         NULL);
1579
1580
1581         menu1 = XtVaCreateManagedWidget( "menu1",
1582                         xmRowColumnWidgetClass, mainWindow,
1583                         XmNmenuAccelerator, "<KeyUp>F10",
1584                         XmNrowColumnType, XmMENU_BAR,
1585                         NULL);
1586
1587
1588         fileMenu_shell = XtVaCreatePopupShell ("fileMenu_shell",
1589                         xmMenuShellWidgetClass, menu1,
1590                         XmNwidth, 10,
1591                         XmNheight, 10,
1592                         NULL);
1593
1594         fileMenu = XtVaCreateWidget( "fileMenu",
1595                         xmRowColumnWidgetClass, fileMenu_shell,
1596                         XmNrowColumnType, XmMENU_PULLDOWN,
1597                         NULL);
1598
1599
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,
1607                         NULL);
1608         XmStringFree(tmpXmStr);
1609
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,
1617                         NULL);
1618         XmStringFree(tmpXmStr);
1619
1620         XtVaCreateManagedWidget( "fileMenu_separator1",
1621                         xmSeparatorGadgetClass, fileMenu, NULL);
1622
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,
1630                         NULL);
1631         XmStringFree(tmpXmStr);
1632
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,
1640                         NULL);
1641         XmStringFree(tmpXmStr);
1642
1643         XtVaCreateManagedWidget( "fileMenu_separator1",
1644                         xmSeparatorGadgetClass, fileMenu, NULL);
1645
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,
1653                         NULL);
1654         XmStringFree(tmpXmStr);
1655
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,
1664                         NULL);
1665         XmStringFree(tmpXmStr);
1666
1667
1668         editMenu_shell = XtVaCreatePopupShell ("editMenu_shell",
1669                         xmMenuShellWidgetClass, menu1,
1670                         XmNwidth, 10,
1671                         XmNheight, 10,
1672                         NULL);
1673
1674         editMenu = XtVaCreateWidget( "editMenu",
1675                         xmRowColumnWidgetClass, editMenu_shell,
1676                         XmNrowColumnType, XmMENU_PULLDOWN,
1677                         NULL);
1678
1679
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,
1687                         NULL);
1688         XmStringFree(tmpXmStr);
1689         XtSetSensitive( editMenu_undo_pb, False);
1690
1691
1692         XtVaCreateManagedWidget( "editMenu_separator",
1693                         xmSeparatorGadgetClass, editMenu, NULL);
1694
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,
1702                         NULL);
1703         XmStringFree(tmpXmStr);
1704         XtSetSensitive( editMenu_cut_pb, False);
1705
1706
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,
1714                         NULL);
1715         XmStringFree(tmpXmStr);
1716         XtSetSensitive( editMenu_copy_pb, False);
1717
1718
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,
1726                         NULL);
1727         XmStringFree(tmpXmStr);
1728         XtSetSensitive( editMenu_paste_pb, False);
1729
1730
1731         XtVaCreateManagedWidget( "editMenu_separator",
1732                         xmSeparatorGadgetClass, editMenu, NULL);
1733
1734
1735         rotateMenu_shell = XtVaCreatePopupShell ("rotateMenu_shell",
1736                         xmMenuShellWidgetClass, editMenu,
1737                         XmNwidth, 10,
1738                         XmNheight, 10,
1739                         NULL);
1740
1741         rotateMenu = XtVaCreateWidget( "rotateMenu",
1742                         xmRowColumnWidgetClass, rotateMenu_shell,
1743                         XmNrowColumnType, XmMENU_PULLDOWN,
1744                         NULL);
1745
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,
1753                         NULL);
1754         XmStringFree(tmpXmStr);
1755
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,
1763                         NULL);
1764         XmStringFree(tmpXmStr);
1765
1766
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,
1775                         NULL);
1776         XmStringFree(tmpXmStr);
1777         XtSetSensitive(editMenu_rotate_pb, False);
1778
1779
1780         flipMenu_shell = XtVaCreatePopupShell ("flipMenu_shell",
1781                         xmMenuShellWidgetClass, editMenu,
1782                         XmNwidth, 10,
1783                         XmNheight, 10,
1784                         NULL);
1785
1786         flipMenu = XtVaCreateWidget( "flipMenu",
1787                         xmRowColumnWidgetClass, flipMenu_shell,
1788                         XmNrowColumnType, XmMENU_PULLDOWN,
1789                         NULL);
1790
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,
1798                         NULL);
1799         XmStringFree(tmpXmStr);
1800
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,
1808                         NULL);
1809         XmStringFree(tmpXmStr);
1810
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,
1819                         NULL);
1820         XmStringFree(tmpXmStr);
1821         XtSetSensitive(editMenu_flip_pb, False);
1822
1823
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,
1831                         NULL);
1832         XmStringFree(tmpXmStr);
1833         XtSetSensitive(editMenu_scale_pb, False);
1834
1835
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,
1843                         NULL);
1844         XmStringFree(tmpXmStr);
1845
1846
1847         XtVaCreateManagedWidget( "editMenu_separator",
1848                         xmSeparatorGadgetClass, editMenu, NULL);
1849
1850
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,
1858                         NULL);
1859         XmStringFree(tmpXmStr);
1860
1861
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,
1870                         NULL);
1871         XmStringFree(tmpXmStr);
1872
1873
1874         XtVaCreateManagedWidget( "editMenu_separator",
1875                         xmSeparatorGadgetClass, editMenu, NULL);
1876
1877
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,
1885                         NULL);
1886          XmStringFree(tmpXmStr);
1887
1888
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,
1896                         NULL);
1897         XmStringFree(tmpXmStr);
1898
1899
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,
1908                         NULL);
1909         XmStringFree(tmpXmStr);
1910
1911
1912         optionsMenu_shell = XtVaCreatePopupShell ("optionsMenu_shell",
1913                         xmMenuShellWidgetClass, menu1,
1914                         XmNwidth, 10,
1915                         XmNheight, 10,
1916                         NULL);
1917
1918         optionsMenu = XtVaCreateWidget( "optionsMenu",
1919                         xmRowColumnWidgetClass, optionsMenu_shell,
1920                         XmNrowColumnType, XmMENU_PULLDOWN,
1921                         NULL);
1922
1923
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,
1933                         NULL);
1934         XmStringFree(tmpXmStr);
1935
1936
1937         formatMenu_shell = XtVaCreatePopupShell ("formatMenu_shell",
1938                         xmMenuShellWidgetClass, optionsMenu,
1939                         XmNwidth, 10,
1940                         XmNheight, 10,
1941                         NULL);
1942
1943         formatMenu = XtVaCreateWidget( "formatMenu",
1944                         xmRowColumnWidgetClass, formatMenu_shell,
1945                         XmNradioBehavior, TRUE,
1946                         XmNrowColumnType, XmMENU_PULLDOWN,
1947                         NULL);
1948
1949
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,
1957                         NULL);
1958         XmStringFree(tmpXmStr);
1959
1960
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,
1968                         NULL);
1969         XmStringFree(tmpXmStr);
1970
1971
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,
1980                         NULL);
1981         XmStringFree(tmpXmStr);
1982
1983
1984         magnificationMenu_shell =XtVaCreatePopupShell("magnificationMenu_shell",
1985                         xmMenuShellWidgetClass, optionsMenu,
1986                         XmNwidth, 10,
1987                         XmNheight, 10,
1988                         NULL);
1989
1990         magnificationMenu = XtVaCreateWidget( "magnificationMenu",
1991                         xmRowColumnWidgetClass, magnificationMenu_shell,
1992                         XmNradioBehavior, TRUE,
1993                         XmNrowColumnType, XmMENU_PULLDOWN,
1994                         NULL);
1995
1996
1997         tmpXmStr = GETXMSTR(12,144, "2x");
1998         magMenu_2x_tb = XtVaCreateManagedWidget( "magMenu_2x_tb",
1999                         xmToggleButtonGadgetClass, magnificationMenu,
2000                         XmNvisibleWhenOff, FALSE,
2001                         XmNlabelString,tmpXmStr,
2002                         NULL);
2003         XmStringFree(tmpXmStr);
2004
2005
2006         tmpXmStr = GETXMSTR(12,146, "3x");
2007         magMenu_3x_tb = XtVaCreateManagedWidget( "magMenu_3x_tb",
2008                         xmToggleButtonGadgetClass, magnificationMenu,
2009                         XmNvisibleWhenOff, FALSE,
2010                         XmNlabelString,tmpXmStr,
2011                         NULL);
2012         XmStringFree(tmpXmStr);
2013
2014
2015         tmpXmStr = GETXMSTR(12,148, "4x");
2016         magMenu_4x_tb = XtVaCreateManagedWidget( "magMenu_4x_tb",
2017                         xmToggleButtonGadgetClass, magnificationMenu,
2018                         XmNvisibleWhenOff, FALSE,
2019                         XmNlabelString,tmpXmStr,
2020                         NULL);
2021         XmStringFree(tmpXmStr);
2022
2023
2024         tmpXmStr = GETXMSTR(12,150, "5x");
2025         magMenu_5x_tb = XtVaCreateManagedWidget( "magMenu_5x_tb",
2026                         xmToggleButtonGadgetClass, magnificationMenu,
2027                         XmNvisibleWhenOff, FALSE,
2028                         XmNlabelString,tmpXmStr,
2029                         NULL);
2030         XmStringFree(tmpXmStr);
2031
2032
2033         tmpXmStr = GETXMSTR(12,152, "6x");
2034         magMenu_6x_tb = XtVaCreateManagedWidget( "magMenu_6x_tb",
2035                         xmToggleButtonGadgetClass, magnificationMenu,
2036                         XmNvisibleWhenOff, FALSE,
2037                         XmNlabelString,tmpXmStr,
2038                         NULL);
2039         XmStringFree(tmpXmStr);
2040
2041
2042         tmpXmStr = GETXMSTR(12,154, "8x");
2043         magMenu_8x_tb = XtVaCreateManagedWidget( "magMenu_8x_tb",
2044                         xmToggleButtonGadgetClass, magnificationMenu,
2045                         XmNvisibleWhenOff, FALSE,
2046                         XmNlabelString,tmpXmStr,
2047                         NULL);
2048         XmStringFree(tmpXmStr);
2049
2050
2051         tmpXmStr = GETXMSTR(12,156, "10x");
2052         magMenu_10x_tb = XtVaCreateManagedWidget( "magMenu_10x_tb",
2053                         xmToggleButtonGadgetClass, magnificationMenu,
2054                         XmNvisibleWhenOff, FALSE,
2055                         XmNlabelString,tmpXmStr,
2056                         NULL);
2057         XmStringFree(tmpXmStr);
2058
2059
2060         tmpXmStr = GETXMSTR(12,158, "12x");
2061         magMenu_12x_tb = XtVaCreateManagedWidget( "magMenu_12x_tb",
2062                         xmToggleButtonGadgetClass, magnificationMenu,
2063                         XmNvisibleWhenOff, FALSE,
2064                         XmNlabelString,tmpXmStr,
2065                         NULL);
2066         XmStringFree(tmpXmStr);
2067
2068
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,
2077                         NULL);
2078         XmStringFree(tmpXmStr);
2079
2080
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,
2089                         NULL);
2090         XmStringFree(tmpXmStr);
2091
2092
2093         helpMenu_shell = XtVaCreatePopupShell ("helpMenu_shell",
2094                         xmMenuShellWidgetClass, menu1,
2095                         XmNwidth, 10,
2096                         XmNheight, 10,
2097                         NULL);
2098
2099         helpMenu = XtVaCreateWidget( "helpMenu",
2100                         xmRowColumnWidgetClass, helpMenu_shell,
2101                         XmNrowColumnType, XmMENU_PULLDOWN,
2102                         NULL);
2103
2104
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,
2112                         NULL);
2113         XmStringFree(tmpXmStr);
2114
2115         XtVaCreateManagedWidget( "helpMenu_separator1",
2116                         xmSeparatorGadgetClass, helpMenu, NULL);
2117
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,
2125                         NULL);
2126         XmStringFree(tmpXmStr);
2127
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,
2135                         NULL);
2136         XmStringFree(tmpXmStr);
2137
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,
2145                         NULL);
2146         XmStringFree(tmpXmStr);
2147
2148         XtVaCreateManagedWidget( "helpMenu_separator2",
2149                         xmSeparatorGadgetClass, helpMenu, NULL);
2150
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,
2158                         NULL);
2159         XmStringFree(tmpXmStr);
2160
2161         XtVaCreateManagedWidget( "helpMenu_separator3",
2162                         xmSeparatorGadgetClass, helpMenu, NULL);
2163
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,
2171                         NULL);
2172         XmStringFree(tmpXmStr);
2173
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,
2182                         NULL);
2183         XmStringFree(tmpXmStr);
2184
2185
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 */
2193
2194         /* set up initial focus  */
2195         XmAddTabGroup(mainWindow);              /* main window     */
2196         XtVaSetValues(mainWindow, XmNinitialFocus, viewport, NULL);
2197
2198
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);
2219
2220         XtAddCallback(fillToggle, XmNvalueChangedCallback,
2221                         valueChangedCB_fillToggle, NULL);
2222
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);
2239
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);
2256
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);
2269
2270
2271         XtVaSetValues(menu1, XmNmenuHelpWidget, helpMenu_top_pb, NULL);
2272
2273
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);
2284
2285
2286         XtAddCallback(editMenu_undo_pb, XmNactivateCallback,
2287                         activateCB_editMenu_undo_pb, NULL);
2288
2289         XtAddCallback(editMenu_cut_pb, XmNactivateCallback,
2290                         activateCB_editMenu_cut_pb, NULL);
2291
2292         XtAddCallback(editMenu_copy_pb, XmNactivateCallback,
2293                         activateCB_editMenu_copy_pb, NULL);
2294
2295         XtAddCallback(editMenu_paste_pb, XmNactivateCallback,
2296                         activateCB_editMenu_paste_pb, NULL);
2297
2298         XtAddCallback(rotateMenu_pb1, XmNactivateCallback,
2299                         activateCB_rotateMenu_pb1, NULL);
2300         XtAddCallback(rotateMenu_pb2, XmNactivateCallback,
2301                         activateCB_rotateMenu_pb2, NULL);
2302
2303         XtAddCallback(flipMenu_pb1, XmNactivateCallback,
2304                         activateCB_flipMenu_pb1, NULL);
2305         XtAddCallback(flipMenu_pb2, XmNactivateCallback,
2306                         activateCB_flipMenu_pb2, NULL);
2307
2308         XtAddCallback(editMenu_scale_pb, XmNactivateCallback,
2309                         activateCB_editMenu_scale_pb, NULL);
2310
2311         XtAddCallback(editMenu_resize_pb, XmNactivateCallback,
2312                         activateCB_editMenu_resize_pb, NULL);
2313
2314         XtAddCallback(editMenu_addHS_pb, XmNactivateCallback,
2315                         activateCB_editMenu_addHS_pb, NULL);
2316
2317         XtAddCallback(editMenu_deleteHS_pb, XmNactivateCallback,
2318                         activateCB_editMenu_deleteHS_pb, NULL);
2319
2320         XtAddCallback(editMenu_grabImage_pb, XmNactivateCallback,
2321                         activateCB_editMenu_grabImage_pb, NULL);
2322
2323         XtAddCallback(editMenu_clear_pb, XmNactivateCallback,
2324                         activateCB_editMenu_clear_pb, NULL);
2325
2326
2327         XtAddCallback(optionsMenu_grid, XmNvalueChangedCallback,
2328                         valueChangedCB_optionsMenu_grid, NULL);
2329
2330         XtAddCallback(formatMenu_xbm_tb, XmNvalueChangedCallback,
2331                         valueChangedCB_formatMenu_xbm_tb, NULL);
2332         XtAddCallback(formatMenu_xpm_tb, XmNvalueChangedCallback,
2333                         valueChangedCB_formatMenu_xpm_tb, NULL);
2334
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);
2351
2352
2353         XmMainWindowSetAreas( mainWindow, menu1, (Widget) NULL,
2354                         (Widget) NULL, (Widget) NULL, mainForm );
2355
2356         return ( dtIconShell );
2357 }
2358
2359
2360 /*******************************************************************************
2361     NewGraphicsOp - sets the text in the instruction line
2362 *******************************************************************************/
2363 static void NewGraphicsOp()
2364 {
2365     static char *fillOnStr = NULL;
2366     int fillOp = False;
2367     char *graphicsOpStr = NULL;
2368     char *tmpStr = NULL;
2369     XmString tmpXmStr = NULL;
2370     Arg args[10];
2371     int n;
2372
2373
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);
2379     XSync(dpy, 0);
2380     /* set the instruction text line to current drawing mode */
2381     switch (GraphicsOp) {
2382
2383         case POINT:
2384                tmpStr = GETSTR(12, 204, "Pencil");
2385              break;
2386         case FLOOD:
2387                tmpStr = GETSTR(12, 206, "Flood");
2388              break;
2389         case LINE:
2390                tmpStr = GETSTR(12, 208, "Line");
2391              break;
2392         case POLYLINE:
2393                tmpStr = GETSTR(12, 210, "Polyline");
2394              break;
2395         case RECTANGLE:
2396                tmpStr = GETSTR(12, 212, "Rectangle");
2397                fillOp = True;
2398              break;
2399         case POLYGON:
2400                tmpStr = GETSTR(12, 214, "Polygon");
2401                fillOp = True;
2402              break;
2403         case CIRCLE:
2404                tmpStr = GETSTR(12, 216, "Circle");
2405                fillOp = True;
2406              break;
2407         case ELLIPSE:
2408                tmpStr = GETSTR(12, 218, "Ellipse");
2409                fillOp = True;
2410              break;
2411         case ERASER:
2412                tmpStr = GETSTR(12, 220, "Erase");
2413              break;
2414         case SELECT:
2415                tmpStr = GETSTR(12, 222, "Select");
2416              break;
2417         default :
2418                tmpStr = GETSTR(12, 224, "Invalid");
2419              break;
2420
2421     } /* switch GraphicsOp */
2422
2423     graphicsOpStr = XtNewString (tmpStr);
2424
2425     /* create full help string */
2426     if ( fillOp && FillSolids)
2427     {
2428         /* if fill mode is on append fillOnStr to end of string */
2429         if (!fillOnStr)
2430         {
2431             tmpStr = GETSTR(12, 202, "(Filled)");
2432             fillOnStr = XtNewString (tmpStr);
2433         }
2434
2435         tmpStr = (char *)XtMalloc(strlen(graphicsOpStr) + strlen(fillOnStr) +2);
2436         tmpStr = strcpy (tmpStr, graphicsOpStr);
2437         tmpStr = strcat (tmpStr, " ");
2438         tmpStr = strcat (tmpStr, fillOnStr);
2439
2440         tmpXmStr = XMSTR(tmpStr);
2441         XtFree (tmpStr);
2442         XtFree (graphicsOpStr);
2443     }
2444     else
2445     {
2446         tmpXmStr = XMSTR(graphicsOpStr);
2447         XtFree (graphicsOpStr);
2448     }
2449
2450     n = 0;
2451     XtSetArg (args[n], XmNlabelString, tmpXmStr);                          n++;
2452     XtSetValues (instructionText, args, n);
2453
2454     XmStringFree(tmpXmStr);
2455 }
2456
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 *******************************************************************************/
2463
2464 Widget
2465 create_dtIconShell( void )
2466 {
2467         Widget                w;
2468         static int        init = 0;
2469
2470         if ( !init )
2471         {
2472                 static XtActionsRec        actions[] = {
2473                                 { "tablet_event", action_tablet_event }
2474                                 };
2475
2476                 XtAppAddActions( AppContext,
2477                                 actions,
2478                                 XtNumber(actions) );
2479
2480                 init = 1;
2481         }
2482
2483         w = build_dtIconShell();
2484
2485         Init_Editor(w);
2486
2487         return (w);
2488 }
2489
2490 /*******************************************************************************
2491         END OF FILE
2492 *******************************************************************************/
2493