1 /*------------------------------------------------------------\
2 |                                                             |
3 | This file is part of the Alliance CAD System Copyright      |
4 | (C) Laboratoire LIP6 - D�partement ASIM Universite P&M Curie|
5 |                                                             |
6 | Home page      : http://www-asim.lip6.fr/alliance/          |
7 | E-mail         : mailto:alliance-users@asim.lip6.fr       |
8 |                                                             |
9 | This progam is  free software; you can redistribute it      |
10 | and/or modify it under the  terms of the GNU General Public |
11 | License as  published by the Free Software Foundation;      |
12 | either version 2 of the License, or (at your option) any    |
13 | later version.                                              |
14 |                                                             |
15 | Alliance VLSI  CAD System  is distributed  in the hope that |
16 | it  will be useful, but WITHOUT  ANY WARRANTY;              |
17 | without even the  implied warranty of MERCHANTABILITY or    |
18 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General       |
19 | Public License for more details.                            |
20 |                                                             |
21 | You should have received a copy  of the GNU General Public  |
22 | License along with the GNU C Library; see the file COPYING. |
23 | If not, write to the Free Software Foundation, Inc.,        |
24 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.                     |
25 |                                                             |
26 \------------------------------------------------------------*/
27 
28 /*------------------------------------------------------------\
29 |                                                             |
30 | Tool    :                   GRAAL                           |
31 |                                                             |
32 | File    :                   Panel.c                         |
33 |                                                             |
34 | Author  :                Jacomme Ludovic                    |
35 |                                                             |
36 | Date    :                  28.03.95                         |
37 |                                                             |
38 \------------------------------------------------------------*/
39 /*------------------------------------------------------------\
40 |                                                             |
41 |                         Include Files                       |
42 |                                                             |
43 \------------------------------------------------------------*/
44 
45 # include <stdio.h>
46 # include <Xm/Xm.h>
47 # include <Xm/PushBG.h>
48 # include <Xm/CascadeBG.h>
49 
50 # include "mph.h"
51 # include "rds.h"
52 # include "rpr.h"
53 # include "GSB.h"
54 # include "GTB.h"
55 # include "GMX.h"
56 # include "GMV.h"
57 
58 # include "GMV_panel.h"
59 # include "GMV_dialog.h"
60 # include "GMV_view.h"
61 # include "GMV_message.h"
62 # include "GMX_color.h"
63 
64 /*------------------------------------------------------------\
65 |                                                             |
66 |                           Constants                         |
67 |                                                             |
68 \------------------------------------------------------------*/
69 /*------------------------------------------------------------\
70 |                                                             |
71 |                            Types                            |
72 |                                                             |
73 \------------------------------------------------------------*/
74 /*------------------------------------------------------------\
75 |                                                             |
76 |                          Variables                          |
77 |                                                             |
78 \------------------------------------------------------------*/
79 /*------------------------------------------------------------\
80 |                                                             |
81 |                        Panel Pixmap                         |
82 |                                                             |
83 \------------------------------------------------------------*/
84 
85   static char GraalPixmapDownArrow[] =
86 
87   {
88     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
89     0x00, 0xfe, 0xff, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00,
90     0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00,
91     0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00,
92     0xf0, 0x03, 0x80, 0x1f, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10,
93     0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x08,
94     0x40, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01,
95     0x00, 0x02, 0x80, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x08, 0x20, 0x00,
96     0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x40, 0x04, 0x00,
97     0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
98     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
99   };
100 
101   static char GraalPixmapLeftArrow[] =
102 
103   {
104     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
105     0x00, 0x80, 0x0f, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x20, 0x08, 0x00,
106     0x00, 0x10, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x04, 0xf8, 0x1f,
107     0x00, 0x02, 0x00, 0x10, 0x00, 0x01, 0x00, 0x10, 0x80, 0x00, 0x00, 0x10,
108     0x40, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10,
109     0x08, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x10,
110     0x40, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x10,
111     0x00, 0x02, 0x00, 0x10, 0x00, 0x04, 0xf8, 0x1f, 0x00, 0x08, 0x08, 0x00,
112     0x00, 0x10, 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x40, 0x08, 0x00,
113     0x00, 0x80, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
114     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
115   };
116 
117   static char GraalPixmapRightArrow[] =
118 
119   {
120     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121     0x00, 0xf0, 0x01, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x10, 0x04, 0x00,
122     0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x10, 0x00, 0xf8, 0x1f, 0x20, 0x00,
123     0x08, 0x00, 0x40, 0x00, 0x08, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x01,
124     0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x08,
125     0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x04,
126     0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x01, 0x08, 0x00, 0x80, 0x00,
127     0x08, 0x00, 0x40, 0x00, 0xf8, 0x1f, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00,
128     0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10, 0x02, 0x00,
129     0x00, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
130     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
131   };
132 
133   static char GraalPixmapUpArrow[] =
134 
135   {
136     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137     0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x20, 0x02, 0x00,
138     0x00, 0x10, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x04, 0x10, 0x00,
139     0x00, 0x02, 0x20, 0x00, 0x00, 0x01, 0x40, 0x00, 0x80, 0x00, 0x80, 0x00,
140     0x40, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x04,
141     0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08,
142     0x08, 0x00, 0x00, 0x08, 0xf8, 0x01, 0xc0, 0x0f, 0x00, 0x01, 0x40, 0x00,
143     0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x40, 0x00,
144     0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x40, 0x00,
145     0x00, 0x01, 0x40, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
146     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
147   };
148 
149 /*------------------------------------------------------------\
150 |                                                             |
151 |                        Panel Arrows                         |
152 |                                                             |
153 \------------------------------------------------------------*/
154 
155    static GraalPanelButtonItem GraalViewArrowsButton[] =
156 
157          {
158            {
159              "Left",
160              NULL, GraalPixmapLeftArrow, 32, 32,
161              NULL,
162              NULL,
163              0, 0,
164              1, 2,
165              CallbackLeftArrow,
166              (XtPointer)NULL,
167              (Widget)NULL
168            }
169            ,
170            {
171              "Up",
172              NULL, GraalPixmapUpArrow, 32, 32,
173              NULL,
174              NULL,
175              1, 0,
176              1, 2,
177              CallbackUpArrow,
178              (XtPointer)NULL,
179              (Widget)NULL
180            }
181            ,
182            {
183              "Down",
184              NULL, GraalPixmapDownArrow, 32, 32,
185              NULL,
186              NULL,
187              0, 2,
188              1, 2,
189              CallbackDownArrow,
190              (XtPointer)NULL,
191              (Widget)NULL
192            }
193            ,
194            {
195              "Right",
196              NULL, GraalPixmapRightArrow, 32, 32,
197              NULL,
198              NULL,
199              1, 2,
200              1, 2,
201              CallbackRightArrow,
202              (XtPointer)NULL,
203              (Widget)NULL
204            }
205            ,
206            {
207              "Move Set",
208              NULL, NULL, 0, 0,
209              NULL,
210              NULL,
211              0, 4,
212              2, 1,
213              CallbackMoveSet,
214              (XtPointer)NULL,
215              (Widget)NULL
216            }
217            ,
218            {
219              "Close",
220              NULL, NULL, 0, 0,
221              NULL,
222              NULL,
223              0, 5,
224              2, 1,
225              CallbackCloseArrows,
226              (XtPointer)NULL,
227              (Widget)NULL
228            }
229          };
230 
231    GraalPanelItem GraalViewArrowsPanel =
232 
233          {
234            "Arrows",
235            1,
236            0,
237            GRAAL_VIEW_ARROWS_X,
238            GRAAL_VIEW_ARROWS_Y,
239            100,
240            125,
241            2,
242            6,
243            (Widget)NULL,
244            (Widget)NULL,
245            (Widget)NULL,
246            (Widget)NULL,
247            6,
248            GraalViewArrowsButton
249          };
250 
251    int GraalViewArrowsDefaultValues[ 5 ] =
252 
253          {
254            GRAAL_VIEW_ARROWS_X,
255            GRAAL_VIEW_ARROWS_Y,
256            100, 125 , 1
257          };
258 
259 /*------------------------------------------------------------\
260 |                                                             |
261 |                        Panel Zoom                           |
262 |                                                             |
263 \------------------------------------------------------------*/
264 
265  GraalPanelButtonItem GraalViewZoomButton[] =
266 
267          {
268            {
269              "Refresh",
270              NULL, NULL, 0, 0,
271              NULL,
272              NULL,
273              0, 0,
274              1, 1,
275              CallbackZoomRefresh,
276              (XtPointer)NULL,
277              (Widget)NULL
278            }
279            ,
280            {
281              "UnZoom",
282              NULL, NULL, 0, 0,
283              NULL,
284              NULL,
285              0, 1,
286              1, 1,
287              CallbackZoomPrevious,
288              (XtPointer)NULL,
289              (Widget)NULL
290            }
291            ,
292            {
293              "Zoom",
294              NULL, NULL, 0, 0,
295              NULL,
296              NULL,
297              0, 2,
298              1, 1,
299              CallbackZoomMore,
300              (XtPointer)NULL,
301              (Widget)NULL
302            }
303            ,
304            {
305              "Mooz",
306              NULL, NULL, 0, 0,
307              NULL,
308              NULL,
309              0, 3,
310              1, 1,
311              CallbackZoomLess,
312              (XtPointer)NULL,
313              (Widget)NULL
314            }
315            ,
316            {
317              "Zoom Set",
318              NULL, NULL, 0, 0,
319              NULL,
320              NULL,
321              0, 4,
322              1, 1,
323              CallbackZoomSet,
324              (XtPointer)NULL,
325              (Widget)NULL
326            }
327            ,
328            {
329              "Zoom In",
330              NULL, NULL, 0, 0,
331              NULL,
332              NULL,
333              0, 5,
334              1, 1,
335              CallbackZoomIn,
336              (XtPointer)NULL,
337              (Widget)NULL
338            }
339            ,
340            {
341              "Center",
342              NULL, NULL, 0, 0,
343              NULL,
344              NULL,
345              0, 6,
346              1, 1,
347              CallbackZoomCenter,
348              (XtPointer)NULL,
349              (Widget)NULL
350            }
351            ,
352            {
353              "Goto",
354              NULL, NULL, 0, 0,
355              NULL,
356              NULL,
357              0, 7,
358              1, 1,
359              CallbackZoomGoto,
360              (XtPointer)NULL,
361              (Widget)NULL
362            }
363            ,
364            {
365              "Pan",
366              NULL, NULL, 0, 0,
367              NULL,
368              NULL,
369              0, 8,
370              1, 1,
371              CallbackZoomPan,
372              (XtPointer)NULL,
373              (Widget)NULL
374            }
375            ,
376            {
377              "Fit",
378              NULL, NULL, 0, 0,
379              NULL,
380              NULL,
381              0, 9,
382              1, 1,
383              CallbackZoomFit,
384              (XtPointer)NULL,
385              (Widget)NULL
386            }
387            ,
388            {
389              "Close",
390              NULL, NULL, 0, 0,
391              NULL,
392              NULL,
393              0, 10,
394              1, 1,
395              CallbackCloseZoom,
396              (XtPointer)NULL,
397              (Widget)NULL
398            }
399          };
400 
401    GraalPanelItem GraalViewZoomPanel =
402 
403          {
404            "Zoom",
405            1,
406            0,
407            GRAAL_VIEW_ZOOM_X,
408            GRAAL_VIEW_ZOOM_Y,
409            100,
410            275,
411            1,
412            11,
413            (Widget)NULL,
414            (Widget)NULL,
415            (Widget)NULL,
416            (Widget)NULL,
417            11,
418            GraalViewZoomButton
419          };
420 
421    int GraalViewZoomDefaultValues[ 5 ] =
422 
423          {
424            GRAAL_VIEW_ZOOM_X,
425            GRAAL_VIEW_ZOOM_Y,
426            100, 275, 1
427          };
428 
429 /*------------------------------------------------------------\
430 |                                                             |
431 |                        Panel Layer                          |
432 |                                                             |
433 \------------------------------------------------------------*/
434 
435   static char *GraalViewLayerFillModeName[] =
436 
437   {
438     "Outline",
439     "Fill",
440     "Pattern"
441   };
442 
443   static char *GraalViewLayerInterfaceName[] =
444 
445   {
446     "No interface",
447     "Interface"
448   };
449 
450   static char *GraalViewLayerConnectorIndex[] =
451 
452   {
453     "No index",
454     "Index"
455   };
456 
457   static char *GraalViewLayerCursorType[] =
458 
459   {
460     "Invert",
461     "Xor"
462   };
463 
464   static char *GraalViewLayerForceDisplay[] =
465 
466   {
467     "Quick display",
468     "Force display"
469   };
470 
471   static char *GraalViewLayerBlackBoxString[] =
472 
473   {
474     "No string box",
475     "String box"
476   };
477 
478      GraalPanelButtonItem GraalViewLayerButton[ 28 + (RDS_ALL_LAYER * 2) ] =
479 
480          {
481            {
482              "All visible",
483              NULL, NULL, 0, 0,
484              NULL,
485              NULL,
486              0, 0,
487              2, 1,
488              CallbackLayerAllVisible,
489              (XtPointer)NULL,
490              (Widget)NULL
491            }
492            ,
493            {
494              "All invisible",
495              NULL, NULL, 0, 0,
496              NULL,
497              NULL,
498              2, 0,
499              2, 1,
500              CallbackLayerAllInvisible,
501              (XtPointer)NULL,
502              (Widget)NULL
503            }
504            ,
505            {
506              NULL,
507              NULL, NULL, 0, 0,
508              NULL,
509              NULL,
510              0, 0,
511              1, 1,
512              CallbackLayerVisible,
513              (XtPointer)NULL,
514              (Widget)NULL
515            }
516            ,
517            {
518              NULL,
519              NULL, NULL, 0, 0,
520              NULL,
521              NULL,
522              0, 0,
523              1, 1,
524              CallbackLayerInvisible,
525              (XtPointer)NULL,
526              (Widget)NULL
527            }
528            ,
529            {
530              NULL,
531              NULL, NULL, 0, 0,
532              NULL,
533              NULL,
534              0, 0,
535              1, 1,
536              CallbackLayerVisible,
537              (XtPointer)NULL,
538              (Widget)NULL
539            }
540            ,
541            {
542              NULL,
543              NULL, NULL, 0, 0,
544              NULL,
545              NULL,
546              0, 0,
547              1, 1,
548              CallbackLayerInvisible,
549              (XtPointer)NULL,
550              (Widget)NULL
551            }
552            ,
553            {
554              NULL,
555              NULL, NULL, 0, 0,
556              NULL,
557              NULL,
558              0, 0,
559              1, 1,
560              CallbackLayerVisible,
561              (XtPointer)NULL,
562              (Widget)NULL
563            }
564            ,
565            {
566              NULL,
567              NULL, NULL, 0, 0,
568              NULL,
569              NULL,
570              0, 0,
571              1, 1,
572              CallbackLayerInvisible,
573              (XtPointer)NULL,
574              (Widget)NULL
575            }
576            ,
577            {
578              NULL,
579              NULL, NULL, 0, 0,
580              NULL,
581              NULL,
582              0, 0,
583              1, 1,
584              CallbackLayerVisible,
585              (XtPointer)NULL,
586              (Widget)NULL
587            }
588            ,
589            {
590              NULL,
591              NULL, NULL, 0, 0,
592              NULL,
593              NULL,
594              0, 0,
595              1, 1,
596              CallbackLayerInvisible,
597              (XtPointer)NULL,
598              (Widget)NULL
599            }
600            ,
601            {
602              NULL,
603              NULL, NULL, 0, 0,
604              NULL,
605              NULL,
606              0, 0,
607              1, 1,
608              CallbackLayerVisible,
609              (XtPointer)NULL,
610              (Widget)NULL
611            }
612            ,
613            {
614              NULL,
615              NULL, NULL, 0, 0,
616              NULL,
617              NULL,
618              0, 0,
619              1, 1,
620              CallbackLayerInvisible,
621              (XtPointer)NULL,
622              (Widget)NULL
623            }
624            ,
625            {
626              NULL,
627              NULL, NULL, 0, 0,
628              NULL,
629              NULL,
630              0, 0,
631              1, 1,
632              CallbackLayerVisible,
633              (XtPointer)NULL,
634              (Widget)NULL
635            }
636            ,
637            {
638              NULL,
639              NULL, NULL, 0, 0,
640              NULL,
641              NULL,
642              0, 0,
643              1, 1,
644              CallbackLayerInvisible,
645              (XtPointer)NULL,
646              (Widget)NULL
647            }
648            ,
649            {
650              NULL,
651              NULL, NULL, 0, 0,
652              NULL,
653              NULL,
654              0, 0,
655              1, 1,
656              CallbackLayerVisible,
657              (XtPointer)NULL,
658              (Widget)NULL
659            }
660            ,
661            {
662              NULL,
663              NULL, NULL, 0, 0,
664              NULL,
665              NULL,
666              0, 0,
667              1, 1,
668              CallbackLayerInvisible,
669              (XtPointer)NULL,
670              (Widget)NULL
671            }
672            ,
673            {
674              NULL,
675              NULL, NULL, 0, 0,
676              NULL,
677              NULL,
678              0, 0,
679              1, 1,
680              CallbackLayerVisible,
681              (XtPointer)NULL,
682              (Widget)NULL
683            }
684            ,
685            {
686              NULL,
687              NULL, NULL, 0, 0,
688              NULL,
689              NULL,
690              0, 0,
691              1, 1,
692              CallbackLayerInvisible,
693              (XtPointer)NULL,
694              (Widget)NULL
695            }
696            ,
697            {
698              NULL,
699              NULL, NULL, 0, 0,
700              NULL,
701              NULL,
702              0, 0,
703              1, 1,
704              CallbackLayerVisible,
705              (XtPointer)NULL,
706              (Widget)NULL
707            }
708            ,
709            {
710              NULL,
711              NULL, NULL, 0, 0,
712              NULL,
713              NULL,
714              0, 0,
715              1, 1,
716              CallbackLayerInvisible,
717              (XtPointer)NULL,
718              (Widget)NULL
719            }
720            ,
721            {
722              NULL,
723              NULL, NULL, 0, 0,
724              NULL,
725              NULL,
726              0, 0,
727              1, 1,
728              CallbackLayerVisible,
729              (XtPointer)NULL,
730              (Widget)NULL
731            }
732            ,
733            {
734              NULL,
735              NULL, NULL, 0, 0,
736              NULL,
737              NULL,
738              0, 0,
739              1, 1,
740              CallbackLayerInvisible,
741              (XtPointer)NULL,
742              (Widget)NULL
743            }
744            ,
745            {
746              NULL,
747              NULL, NULL, 0, 0,
748              NULL,
749              NULL,
750              0, 0,
751              1, 1,
752              CallbackLayerVisible,
753              (XtPointer)NULL,
754              (Widget)NULL
755            }
756            ,
757            {
758              NULL,
759              NULL, NULL, 0, 0,
760              NULL,
761              NULL,
762              0, 0,
763              1, 1,
764              CallbackLayerInvisible,
765              (XtPointer)NULL,
766              (Widget)NULL
767            }
768            ,
769            {
770              NULL,
771              NULL, NULL, 0, 0,
772              NULL,
773              NULL,
774              0, 0,
775              1, 1,
776              CallbackLayerVisible,
777              (XtPointer)NULL,
778              (Widget)NULL
779            }
780            ,
781            {
782              NULL,
783              NULL, NULL, 0, 0,
784              NULL,
785              NULL,
786              0, 0,
787              1, 1,
788              CallbackLayerInvisible,
789              (XtPointer)NULL,
790              (Widget)NULL
791            }
792            ,
793            {
794              NULL,
795              NULL, NULL, 0, 0,
796              NULL,
797              NULL,
798              0, 0,
799              1, 1,
800              CallbackLayerVisible,
801              (XtPointer)NULL,
802              (Widget)NULL
803            }
804            ,
805            {
806              NULL,
807              NULL, NULL, 0, 0,
808              NULL,
809              NULL,
810              0, 0,
811              1, 1,
812              CallbackLayerInvisible,
813              (XtPointer)NULL,
814              (Widget)NULL
815            }
816            ,
817            {
818              NULL,
819              NULL, NULL, 0, 0,
820              NULL,
821              NULL,
822              0, 0,
823              1, 1,
824              CallbackLayerVisible,
825              (XtPointer)NULL,
826              (Widget)NULL
827            }
828            ,
829            {
830              NULL,
831              NULL, NULL, 0, 0,
832              NULL,
833              NULL,
834              0, 0,
835              1, 1,
836              CallbackLayerInvisible,
837              (XtPointer)NULL,
838              (Widget)NULL
839            }
840            ,
841            {
842              NULL,
843              NULL, NULL, 0, 0,
844              NULL,
845              NULL,
846              0, 0,
847              1, 1,
848              CallbackLayerVisible,
849              (XtPointer)NULL,
850              (Widget)NULL
851            }
852            ,
853            {
854              NULL,
855              NULL, NULL, 0, 0,
856              NULL,
857              NULL,
858              0, 0,
859              1, 1,
860              CallbackLayerInvisible,
861              (XtPointer)NULL,
862              (Widget)NULL
863            }
864            ,
865            {
866              NULL,
867              NULL, NULL, 0, 0,
868              NULL,
869              NULL,
870              0, 0,
871              1, 1,
872              CallbackLayerVisible,
873              (XtPointer)NULL,
874              (Widget)NULL
875            }
876            ,
877            {
878              NULL,
879              NULL, NULL, 0, 0,
880              NULL,
881              NULL,
882              0, 0,
883              1, 1,
884              CallbackLayerInvisible,
885              (XtPointer)NULL,
886              (Widget)NULL
887            }
888            ,
889            {
890              NULL,
891              NULL, NULL, 0, 0,
892              NULL,
893              NULL,
894              0, 0,
895              1, 1,
896              CallbackLayerVisible,
897              (XtPointer)NULL,
898              (Widget)NULL
899            }
900            ,
901            {
902              NULL,
903              NULL, NULL, 0, 0,
904              NULL,
905              NULL,
906              0, 0,
907              1, 1,
908              CallbackLayerInvisible,
909              (XtPointer)NULL,
910              (Widget)NULL
911            }
912            ,
913            {
914              NULL,
915              NULL, NULL, 0, 0,
916              NULL,
917              NULL,
918              0, 0,
919              1, 1,
920              CallbackLayerVisible,
921              (XtPointer)NULL,
922              (Widget)NULL
923            }
924            ,
925            {
926              NULL,
927              NULL, NULL, 0, 0,
928              NULL,
929              NULL,
930              0, 0,
931              1, 1,
932              CallbackLayerInvisible,
933              (XtPointer)NULL,
934              (Widget)NULL
935            }
936            ,
937            {
938              NULL,
939              NULL, NULL, 0, 0,
940              NULL,
941              NULL,
942              0, 0,
943              1, 1,
944              CallbackLayerVisible,
945              (XtPointer)NULL,
946              (Widget)NULL
947            }
948            ,
949            {
950              NULL,
951              NULL, NULL, 0, 0,
952              NULL,
953              NULL,
954              0, 0,
955              1, 1,
956              CallbackLayerInvisible,
957              (XtPointer)NULL,
958              (Widget)NULL
959            }
960            ,
961            {
962              NULL,
963              NULL, NULL, 0, 0,
964              NULL,
965              NULL,
966              0, 0,
967              1, 1,
968              CallbackLayerVisible,
969              (XtPointer)NULL,
970              (Widget)NULL
971            }
972            ,
973            {
974              NULL,
975              NULL, NULL, 0, 0,
976              NULL,
977              NULL,
978              0, 0,
979              1, 1,
980              CallbackLayerInvisible,
981              (XtPointer)NULL,
982              (Widget)NULL
983            }
984            ,
985            {
986              NULL,
987              NULL, NULL, 0, 0,
988              NULL,
989              NULL,
990              0, 0,
991              1, 1,
992              CallbackLayerVisible,
993              (XtPointer)NULL,
994              (Widget)NULL
995            }
996            ,
997            {
998              NULL,
999              NULL, NULL, 0, 0,
1000              NULL,
1001              NULL,
1002              0, 0,
1003              1, 1,
1004              CallbackLayerInvisible,
1005              (XtPointer)NULL,
1006              (Widget)NULL
1007            }
1008            ,
1009            {
1010              NULL,
1011              NULL, NULL, 0, 0,
1012              NULL,
1013              NULL,
1014              0, 0,
1015              1, 1,
1016              CallbackLayerVisible,
1017              (XtPointer)NULL,
1018              (Widget)NULL
1019            }
1020            ,
1021            {
1022              NULL,
1023              NULL, NULL, 0, 0,
1024              NULL,
1025              NULL,
1026              0, 0,
1027              1, 1,
1028              CallbackLayerInvisible,
1029              (XtPointer)NULL,
1030              (Widget)NULL
1031            }
1032            ,
1033            {
1034              NULL,
1035              NULL, NULL, 0, 0,
1036              NULL,
1037              NULL,
1038              0, 0,
1039              1, 1,
1040              CallbackLayerVisible,
1041              (XtPointer)NULL,
1042              (Widget)NULL
1043            }
1044            ,
1045            {
1046              NULL,
1047              NULL, NULL, 0, 0,
1048              NULL,
1049              NULL,
1050              0, 0,
1051              1, 1,
1052              CallbackLayerInvisible,
1053              (XtPointer)NULL,
1054              (Widget)NULL
1055            }
1056            ,
1057            {
1058              NULL,
1059              NULL, NULL, 0, 0,
1060              NULL,
1061              NULL,
1062              0, 0,
1063              1, 1,
1064              CallbackLayerVisible,
1065              (XtPointer)NULL,
1066              (Widget)NULL
1067            }
1068            ,
1069            {
1070              NULL,
1071              NULL, NULL, 0, 0,
1072              NULL,
1073              NULL,
1074              0, 0,
1075              1, 1,
1076              CallbackLayerInvisible,
1077              (XtPointer)NULL,
1078              (Widget)NULL
1079            }
1080            ,
1081            {
1082              NULL,
1083              NULL, NULL, 0, 0,
1084              NULL,
1085              NULL,
1086              0, 0,
1087              1, 1,
1088              CallbackLayerVisible,
1089              (XtPointer)NULL,
1090              (Widget)NULL
1091            }
1092            ,
1093            {
1094              NULL,
1095              NULL, NULL, 0, 0,
1096              NULL,
1097              NULL,
1098              0, 0,
1099              1, 1,
1100              CallbackLayerInvisible,
1101              (XtPointer)NULL,
1102              (Widget)NULL
1103            }
1104            ,
1105            {
1106              NULL,
1107              NULL, NULL, 0, 0,
1108              NULL,
1109              NULL,
1110              0, 0,
1111              1, 1,
1112              CallbackLayerVisible,
1113              (XtPointer)NULL,
1114              (Widget)NULL
1115            }
1116            ,
1117            {
1118              NULL,
1119              NULL, NULL, 0, 0,
1120              NULL,
1121              NULL,
1122              0, 0,
1123              1, 1,
1124              CallbackLayerInvisible,
1125              (XtPointer)NULL,
1126              (Widget)NULL
1127            }
1128            ,
1129            {
1130              NULL,
1131              NULL, NULL, 0, 0,
1132              NULL,
1133              NULL,
1134              0, 0,
1135              1, 1,
1136              CallbackLayerVisible,
1137              (XtPointer)NULL,
1138              (Widget)NULL
1139            }
1140            ,
1141            {
1142              NULL,
1143              NULL, NULL, 0, 0,
1144              NULL,
1145              NULL,
1146              0, 0,
1147              1, 1,
1148              CallbackLayerInvisible,
1149              (XtPointer)NULL,
1150              (Widget)NULL
1151            }
1152            ,
1153            {
1154              NULL,
1155              NULL, NULL, 0, 0,
1156              NULL,
1157              NULL,
1158              0, 0,
1159              1, 1,
1160              CallbackLayerVisible,
1161              (XtPointer)NULL,
1162              (Widget)NULL
1163            }
1164            ,
1165            {
1166              NULL,
1167              NULL, NULL, 0, 0,
1168              NULL,
1169              NULL,
1170              0, 0,
1171              1, 1,
1172              CallbackLayerInvisible,
1173              (XtPointer)NULL,
1174              (Widget)NULL
1175            }
1176            ,
1177            {
1178              NULL,
1179              NULL, NULL, 0, 0,
1180              NULL,
1181              NULL,
1182              0, 0,
1183              1, 1,
1184              CallbackLayerVisible,
1185              (XtPointer)NULL,
1186              (Widget)NULL
1187            }
1188            ,
1189            {
1190              NULL,
1191              NULL, NULL, 0, 0,
1192              NULL,
1193              NULL,
1194              0, 0,
1195              1, 1,
1196              CallbackLayerInvisible,
1197              (XtPointer)NULL,
1198              (Widget)NULL
1199            }
1200            ,
1201            {
1202              NULL,
1203              NULL, NULL, 0, 0,
1204              NULL,
1205              NULL,
1206              0, 0,
1207              1, 1,
1208              CallbackLayerVisible,
1209              (XtPointer)NULL,
1210              (Widget)NULL
1211            }
1212            ,
1213            {
1214              NULL,
1215              NULL, NULL, 0, 0,
1216              NULL,
1217              NULL,
1218              0, 0,
1219              1, 1,
1220              CallbackLayerInvisible,
1221              (XtPointer)NULL,
1222              (Widget)NULL
1223            }
1224            ,
1225            {
1226              NULL,
1227              NULL, NULL, 0, 0,
1228              NULL,
1229              NULL,
1230              0, 0,
1231              1, 1,
1232              CallbackLayerVisible,
1233              (XtPointer)NULL,
1234              (Widget)NULL
1235            }
1236            ,
1237            {
1238              NULL,
1239              NULL, NULL, 0, 0,
1240              NULL,
1241              NULL,
1242              0, 0,
1243              1, 1,
1244              CallbackLayerInvisible,
1245              (XtPointer)NULL,
1246              (Widget)NULL
1247            }
1248            ,
1249            {
1250              NULL,
1251              NULL, NULL, 0, 0,
1252              NULL,
1253              NULL,
1254              0, 0,
1255              1, 1,
1256              CallbackLayerVisible,
1257              (XtPointer)NULL,
1258              (Widget)NULL
1259            }
1260            ,
1261            {
1262              NULL,
1263              NULL, NULL, 0, 0,
1264              NULL,
1265              NULL,
1266              0, 0,
1267              1, 1,
1268              CallbackLayerInvisible,
1269              (XtPointer)NULL,
1270              (Widget)NULL
1271            }
1272            ,
1273            {
1274              NULL,
1275              NULL, NULL, 0, 0,
1276              NULL,
1277              NULL,
1278              0, 0,
1279              1, 1,
1280              CallbackLayerVisible,
1281              (XtPointer)NULL,
1282              (Widget)NULL
1283            }
1284            ,
1285            {
1286              NULL,
1287              NULL, NULL, 0, 0,
1288              NULL,
1289              NULL,
1290              0, 0,
1291              1, 1,
1292              CallbackLayerInvisible,
1293              (XtPointer)NULL,
1294              (Widget)NULL
1295            }
1296            ,
1297            {
1298              NULL,
1299              NULL, NULL, 0, 0,
1300              NULL,
1301              NULL,
1302              0, 0,
1303              1, 1,
1304              CallbackLayerVisible,
1305              (XtPointer)NULL,
1306              (Widget)NULL
1307            }
1308            ,
1309            {
1310              NULL,
1311              NULL, NULL, 0, 0,
1312              NULL,
1313              NULL,
1314              0, 0,
1315              1, 1,
1316              CallbackLayerInvisible,
1317              (XtPointer)NULL,
1318              (Widget)NULL
1319            }
1320            ,
1321            {
1322              NULL,
1323              NULL, NULL, 0, 0,
1324              NULL,
1325              NULL,
1326              0, 0,
1327              1, 1,
1328              CallbackLayerVisible,
1329              (XtPointer)NULL,
1330              (Widget)NULL
1331            }
1332            ,
1333            {
1334              NULL,
1335              NULL, NULL, 0, 0,
1336              NULL,
1337              NULL,
1338              0, 0,
1339              1, 1,
1340              CallbackLayerInvisible,
1341              (XtPointer)NULL,
1342              (Widget)NULL
1343            }
1344            ,
1345            {
1346              NULL,
1347              NULL, NULL, 0, 0,
1348              NULL,
1349              NULL,
1350              0, 0,
1351              1, 1,
1352              CallbackLayerVisible,
1353              (XtPointer)NULL,
1354              (Widget)NULL
1355            }
1356            ,
1357            {
1358              NULL,
1359              NULL, NULL, 0, 0,
1360              NULL,
1361              NULL,
1362              0, 0,
1363              1, 1,
1364              CallbackLayerInvisible,
1365              (XtPointer)NULL,
1366              (Widget)NULL
1367            }
1368            ,
1369            {
1370              NULL,
1371              NULL, NULL, 0, 0,
1372              NULL,
1373              NULL,
1374              0, 0,
1375              1, 1,
1376              CallbackLayerVisible,
1377              (XtPointer)NULL,
1378              (Widget)NULL
1379            }
1380            ,
1381            {
1382              NULL,
1383              NULL, NULL, 0, 0,
1384              NULL,
1385              NULL,
1386              0, 0,
1387              1, 1,
1388              CallbackLayerInvisible,
1389              (XtPointer)NULL,
1390              (Widget)NULL
1391            }
1392            ,
1393            {
1394              NULL,
1395              NULL, NULL, 0, 0,
1396              NULL,
1397              NULL,
1398              0, 0,
1399              1, 1,
1400              CallbackLayerVisible,
1401              (XtPointer)NULL,
1402              (Widget)NULL
1403            }
1404            ,
1405            {
1406              NULL,
1407              NULL, NULL, 0, 0,
1408              NULL,
1409              NULL,
1410              0, 0,
1411              1, 1,
1412              CallbackLayerInvisible,
1413              (XtPointer)NULL,
1414              (Widget)NULL
1415            }
1416            ,
1417            {
1418              NULL,
1419              NULL, NULL, 0, 0,
1420              NULL,
1421              NULL,
1422              0, 0,
1423              1, 1,
1424              CallbackLayerVisible,
1425              (XtPointer)NULL,
1426              (Widget)NULL
1427            }
1428            ,
1429            {
1430              NULL,
1431              NULL, NULL, 0, 0,
1432              NULL,
1433              NULL,
1434              0, 0,
1435              1, 1,
1436              CallbackLayerInvisible,
1437              (XtPointer)NULL,
1438              (Widget)NULL
1439            }
1440            ,
1441            {
1442              NULL,
1443              NULL, NULL, 0, 0,
1444              NULL,
1445              NULL,
1446              0, 0,
1447              1, 1,
1448              CallbackLayerVisible,
1449              (XtPointer)NULL,
1450              (Widget)NULL
1451            }
1452            ,
1453            {
1454              NULL,
1455              NULL, NULL, 0, 0,
1456              NULL,
1457              NULL,
1458              0, 0,
1459              1, 1,
1460              CallbackLayerInvisible,
1461              (XtPointer)NULL,
1462              (Widget)NULL
1463            }
1464            ,
1465            {
1466              NULL,
1467              NULL, NULL, 0, 0,
1468              NULL,
1469              NULL,
1470              0, 0,
1471              1, 1,
1472              CallbackLayerVisible,
1473              (XtPointer)NULL,
1474              (Widget)NULL
1475            }
1476            ,
1477            {
1478              NULL,
1479              NULL, NULL, 0, 0,
1480              NULL,
1481              NULL,
1482              0, 0,
1483              1, 1,
1484              CallbackLayerInvisible,
1485              (XtPointer)NULL,
1486              (Widget)NULL
1487            }
1488            ,
1489            {
1490              NULL,
1491              NULL, NULL, 0, 0,
1492              NULL,
1493              NULL,
1494              0, 0,
1495              1, 1,
1496              CallbackLayerVisible,
1497              (XtPointer)NULL,
1498              (Widget)NULL
1499            }
1500            ,
1501            {
1502              NULL,
1503              NULL, NULL, 0, 0,
1504              NULL,
1505              NULL,
1506              0, 0,
1507              1, 1,
1508              CallbackLayerInvisible,
1509              (XtPointer)NULL,
1510              (Widget)NULL
1511            }
1512            ,
1513            {
1514              NULL,
1515              NULL, NULL, 0, 0,
1516              NULL,
1517              NULL,
1518              0, 0,
1519              1, 1,
1520              CallbackLayerVisible,
1521              (XtPointer)NULL,
1522              (Widget)NULL
1523            }
1524            ,
1525            {
1526              NULL,
1527              NULL, NULL, 0, 0,
1528              NULL,
1529              NULL,
1530              0, 0,
1531              1, 1,
1532              CallbackLayerInvisible,
1533              (XtPointer)NULL,
1534              (Widget)NULL
1535            }
1536            ,
1537            {
1538              NULL,
1539              NULL, NULL, 0, 0,
1540              NULL,
1541              NULL,
1542              0, 0,
1543              1, 1,
1544              CallbackLayerVisible,
1545              (XtPointer)NULL,
1546              (Widget)NULL
1547            }
1548            ,
1549            {
1550              NULL,
1551              NULL, NULL, 0, 0,
1552              NULL,
1553              NULL,
1554              0, 0,
1555              1, 1,
1556              CallbackLayerInvisible,
1557              (XtPointer)NULL,
1558              (Widget)NULL
1559            }
1560            ,
1561            {
1562              NULL,
1563              NULL, NULL, 0, 0,
1564              NULL,
1565              NULL,
1566              0, 0,
1567              1, 1,
1568              CallbackLayerVisible,
1569              (XtPointer)NULL,
1570              (Widget)NULL
1571            }
1572            ,
1573            {
1574              NULL,
1575              NULL, NULL, 0, 0,
1576              NULL,
1577              NULL,
1578              0, 0,
1579              1, 1,
1580              CallbackLayerInvisible,
1581              (XtPointer)NULL,
1582              (Widget)NULL
1583            }
1584            ,
1585            {
1586              NULL,
1587              NULL, NULL, 0, 0,
1588              NULL,
1589              NULL,
1590              0, 0,
1591              1, 1,
1592              CallbackLayerVisible,
1593              (XtPointer)NULL,
1594              (Widget)NULL
1595            }
1596            ,
1597            {
1598              NULL,
1599              NULL, NULL, 0, 0,
1600              NULL,
1601              NULL,
1602              0, 0,
1603              1, 1,
1604              CallbackLayerInvisible,
1605              (XtPointer)NULL,
1606              (Widget)NULL
1607            }
1608            ,
1609            {
1610              NULL,
1611              NULL, NULL, 0, 0,
1612              NULL,
1613              NULL,
1614              0, 0,
1615              1, 1,
1616              CallbackLayerVisible,
1617              (XtPointer)NULL,
1618              (Widget)NULL
1619            }
1620            ,
1621            {
1622              NULL,
1623              NULL, NULL, 0, 0,
1624              NULL,
1625              NULL,
1626              0, 0,
1627              1, 1,
1628              CallbackLayerInvisible,
1629              (XtPointer)NULL,
1630              (Widget)NULL
1631            }
1632            ,
1633            {
1634              NULL,
1635              NULL, NULL, 0, 0,
1636              NULL,
1637              NULL,
1638              0, 0,
1639              1, 1,
1640              CallbackLayerVisible,
1641              (XtPointer)NULL,
1642              (Widget)NULL
1643            }
1644            ,
1645            {
1646              NULL,
1647              NULL, NULL, 0, 0,
1648              NULL,
1649              NULL,
1650              0, 0,
1651              1, 1,
1652              CallbackLayerInvisible,
1653              (XtPointer)NULL,
1654              (Widget)NULL
1655            }
1656            ,
1657            {
1658              NULL,
1659              NULL, NULL, 0, 0,
1660              NULL,
1661              NULL,
1662              0, 0,
1663              1, 1,
1664              CallbackLayerVisible,
1665              (XtPointer)NULL,
1666              (Widget)NULL
1667            }
1668            ,
1669            {
1670              NULL,
1671              NULL, NULL, 0, 0,
1672              NULL,
1673              NULL,
1674              0, 0,
1675              1, 1,
1676              CallbackLayerInvisible,
1677              (XtPointer)NULL,
1678              (Widget)NULL
1679            }
1680            ,
1681            {
1682              NULL,
1683              NULL, NULL, 0, 0,
1684              NULL,
1685              NULL,
1686              0, 0,
1687              1, 1,
1688              CallbackLayerVisible,
1689              (XtPointer)NULL,
1690              (Widget)NULL
1691            }
1692            ,
1693            {
1694              NULL,
1695              NULL, NULL, 0, 0,
1696              NULL,
1697              NULL,
1698              0, 0,
1699              1, 1,
1700              CallbackLayerInvisible,
1701              (XtPointer)NULL,
1702              (Widget)NULL
1703            }
1704            ,
1705            {
1706              NULL,
1707              NULL, NULL, 0, 0,
1708              NULL,
1709              NULL,
1710              0, 0,
1711              1, 1,
1712              CallbackLayerVisible,
1713              (XtPointer)NULL,
1714              (Widget)NULL
1715            }
1716            ,
1717            {
1718              NULL,
1719              NULL, NULL, 0, 0,
1720              NULL,
1721              NULL,
1722              0, 0,
1723              1, 1,
1724              CallbackLayerInvisible,
1725              (XtPointer)NULL,
1726              (Widget)NULL
1727            }
1728            ,
1729            {
1730              NULL,
1731              NULL, NULL, 0, 0,
1732              NULL,
1733              NULL,
1734              0, 0,
1735              1, 1,
1736              CallbackLayerVisible,
1737              (XtPointer)NULL,
1738              (Widget)NULL
1739            }
1740            ,
1741            {
1742              NULL,
1743              NULL, NULL, 0, 0,
1744              NULL,
1745              NULL,
1746              0, 0,
1747              1, 1,
1748              CallbackLayerInvisible,
1749              (XtPointer)NULL,
1750              (Widget)NULL
1751            }
1752            ,
1753            {
1754              NULL,
1755              NULL, NULL, 0, 0,
1756              NULL,
1757              NULL,
1758              0, 0,
1759              1, 1,
1760              CallbackLayerVisible,
1761              (XtPointer)NULL,
1762              (Widget)NULL
1763            }
1764            ,
1765            {
1766              NULL,
1767              NULL, NULL, 0, 0,
1768              NULL,
1769              NULL,
1770              0, 0,
1771              1, 1,
1772              CallbackLayerInvisible,
1773              (XtPointer)NULL,
1774              (Widget)NULL
1775            }
1776            ,
1777            {
1778              NULL,
1779              NULL, NULL, 0, 0,
1780              NULL,
1781              NULL,
1782              0, 0,
1783              1, 1,
1784              CallbackLayerVisible,
1785              (XtPointer)NULL,
1786              (Widget)NULL
1787            }
1788            ,
1789            {
1790              NULL,
1791              NULL, NULL, 0, 0,
1792              NULL,
1793              NULL,
1794              0, 0,
1795              1, 1,
1796              CallbackLayerInvisible,
1797              (XtPointer)NULL,
1798              (Widget)NULL
1799            }
1800            ,
1801            {
1802              NULL,
1803              NULL, NULL, 0, 0,
1804              NULL,
1805              NULL,
1806              0, 0,
1807              1, 1,
1808              CallbackLayerVisible,
1809              (XtPointer)NULL,
1810              (Widget)NULL
1811            }
1812            ,
1813            {
1814              NULL,
1815              NULL, NULL, 0, 0,
1816              NULL,
1817              NULL,
1818              0, 0,
1819              1, 1,
1820              CallbackLayerInvisible,
1821              (XtPointer)NULL,
1822              (Widget)NULL
1823            }
1824            ,
1825            {
1826              NULL,
1827              NULL, NULL, 0, 0,
1828              NULL,
1829              NULL,
1830              0, 0,
1831              1, 1,
1832              CallbackLayerVisible,
1833              (XtPointer)NULL,
1834              (Widget)NULL
1835            }
1836            ,
1837            {
1838              NULL,
1839              NULL, NULL, 0, 0,
1840              NULL,
1841              NULL,
1842              0, 0,
1843              1, 1,
1844              CallbackLayerInvisible,
1845              (XtPointer)NULL,
1846              (Widget)NULL
1847            }
1848            ,
1849            {
1850              NULL,
1851              NULL, NULL, 0, 0,
1852              NULL,
1853              NULL,
1854              0, 0,
1855              1, 1,
1856              CallbackLayerVisible,
1857              (XtPointer)NULL,
1858              (Widget)NULL
1859            }
1860            ,
1861            {
1862              NULL,
1863              NULL, NULL, 0, 0,
1864              NULL,
1865              NULL,
1866              0, 0,
1867              1, 1,
1868              CallbackLayerInvisible,
1869              (XtPointer)NULL,
1870              (Widget)NULL
1871            }
1872            ,
1873            {
1874              NULL,
1875              NULL, NULL, 0, 0,
1876              NULL,
1877              NULL,
1878              0, 0,
1879              1, 1,
1880              CallbackLayerVisible,
1881              (XtPointer)NULL,
1882              (Widget)NULL
1883            }
1884            ,
1885            {
1886              NULL,
1887              NULL, NULL, 0, 0,
1888              NULL,
1889              NULL,
1890              0, 0,
1891              1, 1,
1892              CallbackLayerInvisible,
1893              (XtPointer)NULL,
1894              (Widget)NULL
1895            }
1896            ,
1897            {
1898              NULL,
1899              NULL, NULL, 0, 0,
1900              NULL,
1901              NULL,
1902              0, 0,
1903              1, 1,
1904              CallbackLayerVisible,
1905              (XtPointer)NULL,
1906              (Widget)NULL
1907            }
1908            ,
1909            {
1910              NULL,
1911              NULL, NULL, 0, 0,
1912              NULL,
1913              NULL,
1914              0, 0,
1915              1, 1,
1916              CallbackLayerInvisible,
1917              (XtPointer)NULL,
1918              (Widget)NULL
1919            }
1920            ,
1921            {
1922              NULL,
1923              NULL, NULL, 0, 0,
1924              NULL,
1925              NULL,
1926              0, 0,
1927              1, 1,
1928              CallbackLayerVisible,
1929              (XtPointer)NULL,
1930              (Widget)NULL
1931            }
1932            ,
1933            {
1934              NULL,
1935              NULL, NULL, 0, 0,
1936              NULL,
1937              NULL,
1938              0, 0,
1939              1, 1,
1940              CallbackLayerInvisible,
1941              (XtPointer)NULL,
1942              (Widget)NULL
1943            }
1944            ,
1945            {
1946              NULL,
1947              NULL, NULL, 0, 0,
1948              NULL,
1949              NULL,
1950              0, 0,
1951              1, 1,
1952              CallbackLayerVisible,
1953              (XtPointer)NULL,
1954              (Widget)NULL
1955            }
1956            ,
1957            {
1958              NULL,
1959              NULL, NULL, 0, 0,
1960              NULL,
1961              NULL,
1962              0, 0,
1963              1, 1,
1964              CallbackLayerInvisible,
1965              (XtPointer)NULL,
1966              (Widget)NULL
1967            }
1968            ,
1969            {
1970              NULL,
1971              NULL, NULL, 0, 0,
1972              NULL,
1973              NULL,
1974              0, 0,
1975              1, 1,
1976              CallbackLayerVisible,
1977              (XtPointer)NULL,
1978              (Widget)NULL
1979            }
1980            ,
1981            {
1982              NULL,
1983              NULL, NULL, 0, 0,
1984              NULL,
1985              NULL,
1986              0, 0,
1987              1, 1,
1988              CallbackLayerInvisible,
1989              (XtPointer)NULL,
1990              (Widget)NULL
1991            }
1992            ,
1993            {
1994              NULL,
1995              NULL, NULL, 0, 0,
1996              NULL,
1997              NULL,
1998              0, 0,
1999              1, 1,
2000              CallbackLayerVisible,
2001              (XtPointer)NULL,
2002              (Widget)NULL
2003            }
2004            ,
2005            {
2006              NULL,
2007              NULL, NULL, 0, 0,
2008              NULL,
2009              NULL,
2010              0, 0,
2011              1, 1,
2012              CallbackLayerInvisible,
2013              (XtPointer)NULL,
2014              (Widget)NULL
2015            }
2016            ,
2017            {
2018              NULL,
2019              NULL, NULL, 0, 0,
2020              NULL,
2021              NULL,
2022              0, 0,
2023              1, 1,
2024              CallbackLayerVisible,
2025              (XtPointer)NULL,
2026              (Widget)NULL
2027            }
2028            ,
2029            {
2030              NULL,
2031              NULL, NULL, 0, 0,
2032              NULL,
2033              NULL,
2034              0, 0,
2035              1, 1,
2036              CallbackLayerInvisible,
2037              (XtPointer)NULL,
2038              (Widget)NULL
2039            }
2040            ,
2041            {
2042              NULL,
2043              NULL, NULL, 0, 0,
2044              NULL,
2045              NULL,
2046              0, 0,
2047              1, 1,
2048              CallbackLayerVisible,
2049              (XtPointer)NULL,
2050              (Widget)NULL
2051            }
2052            ,
2053            {
2054              NULL,
2055              NULL, NULL, 0, 0,
2056              NULL,
2057              NULL,
2058              0, 0,
2059              1, 1,
2060              CallbackLayerInvisible,
2061              (XtPointer)NULL,
2062              (Widget)NULL
2063            }
2064            ,
2065            {
2066              NULL,
2067              NULL, NULL, 0, 0,
2068              NULL,
2069              NULL,
2070              0, 0,
2071              1, 1,
2072              CallbackLayerVisible,
2073              (XtPointer)NULL,
2074              (Widget)NULL
2075            }
2076            ,
2077            {
2078              NULL,
2079              NULL, NULL, 0, 0,
2080              NULL,
2081              NULL,
2082              0, 0,
2083              1, 1,
2084              CallbackLayerInvisible,
2085              (XtPointer)NULL,
2086              (Widget)NULL
2087            }
2088            ,
2089            {
2090              NULL,
2091              NULL, NULL, 0, 0,
2092              NULL,
2093              NULL,
2094              0, 0,
2095              1, 1,
2096              CallbackLayerVisible,
2097              (XtPointer)NULL,
2098              (Widget)NULL
2099            }
2100            ,
2101            {
2102              NULL,
2103              NULL, NULL, 0, 0,
2104              NULL,
2105              NULL,
2106              0, 0,
2107              1, 1,
2108              CallbackLayerInvisible,
2109              (XtPointer)NULL,
2110              (Widget)NULL
2111            }
2112            ,
2113            {
2114              NULL,
2115              NULL, NULL, 0, 0,
2116              NULL,
2117              NULL,
2118              0, 0,
2119              1, 1,
2120              CallbackLayerVisible,
2121              (XtPointer)NULL,
2122              (Widget)NULL
2123            }
2124            ,
2125            {
2126              NULL,
2127              NULL, NULL, 0, 0,
2128              NULL,
2129              NULL,
2130              0, 0,
2131              1, 1,
2132              CallbackLayerInvisible,
2133              (XtPointer)NULL,
2134              (Widget)NULL
2135            }
2136            ,
2137            {
2138              NULL,
2139              NULL, NULL, 0, 0,
2140              NULL,
2141              NULL,
2142              0, 0,
2143              1, 1,
2144              CallbackLayerVisible,
2145              (XtPointer)NULL,
2146              (Widget)NULL
2147            }
2148            ,
2149            {
2150              NULL,
2151              NULL, NULL, 0, 0,
2152              NULL,
2153              NULL,
2154              0, 0,
2155              1, 1,
2156              CallbackLayerInvisible,
2157              (XtPointer)NULL,
2158              (Widget)NULL
2159            }
2160            ,
2161            {
2162              NULL,
2163              NULL, NULL, 0, 0,
2164              NULL,
2165              NULL,
2166              0, 0,
2167              1, 1,
2168              CallbackLayerVisible,
2169              (XtPointer)NULL,
2170              (Widget)NULL
2171            }
2172            ,
2173            {
2174              NULL,
2175              NULL, NULL, 0, 0,
2176              NULL,
2177              NULL,
2178              0, 0,
2179              1, 1,
2180              CallbackLayerInvisible,
2181              (XtPointer)NULL,
2182              (Widget)NULL
2183            }
2184            ,
2185            {
2186              NULL,
2187              NULL, NULL, 0, 0,
2188              NULL,
2189              NULL,
2190              0, 0,
2191              1, 1,
2192              CallbackLayerVisible,
2193              (XtPointer)NULL,
2194              (Widget)NULL
2195            }
2196            ,
2197            {
2198              NULL,
2199              NULL, NULL, 0, 0,
2200              NULL,
2201              NULL,
2202              0, 0,
2203              1, 1,
2204              CallbackLayerInvisible,
2205              (XtPointer)NULL,
2206              (Widget)NULL
2207            }
2208            ,
2209            {
2210              NULL,
2211              NULL, NULL, 0, 0,
2212              NULL,
2213              NULL,
2214              0, 0,
2215              1, 1,
2216              CallbackLayerVisible,
2217              (XtPointer)NULL,
2218              (Widget)NULL
2219            }
2220            ,
2221            {
2222              NULL,
2223              NULL, NULL, 0, 0,
2224              NULL,
2225              NULL,
2226              0, 0,
2227              1, 1,
2228              CallbackLayerInvisible,
2229              (XtPointer)NULL,
2230              (Widget)NULL
2231            }
2232            ,
2233            {
2234              "Fig",
2235              NULL, NULL, 0, 0,
2236              NULL,
2237              NULL,
2238              0, 0,
2239              1, 1,
2240              CallbackNameVisible,
2241              (XtPointer)GRAAL_FIGURE_NAME,
2242              (Widget)NULL
2243            }
2244            ,
2245            {
2246              "Fig",
2247              NULL, NULL, 0, 0,
2248              NULL,
2249              NULL,
2250              0, 0,
2251              1, 1,
2252              CallbackNameInvisible,
2253              (XtPointer)GRAAL_FIGURE_NAME,
2254              (Widget)NULL
2255            }
2256            ,
2257            {
2258              "Inst",
2259              NULL, NULL, 0, 0,
2260              NULL,
2261              NULL,
2262              0, 0,
2263              1, 1,
2264              CallbackNameVisible,
2265              (XtPointer)GRAAL_INSTANCE_NAME,
2266              (Widget)NULL
2267            }
2268            ,
2269            {
2270              "Inst",
2271              NULL, NULL, 0, 0,
2272              NULL,
2273              NULL,
2274              0, 0,
2275              1, 1,
2276              CallbackNameInvisible,
2277              (XtPointer)GRAAL_INSTANCE_NAME,
2278              (Widget)NULL
2279            }
2280            ,
2281            {
2282              "FCon",
2283              NULL, NULL, 0, 0,
2284              NULL,
2285              NULL,
2286              0, 0,
2287              1, 1,
2288              CallbackNameVisible,
2289              (XtPointer)GRAAL_FIGURE_CONNECTOR_NAME,
2290              (Widget)NULL
2291            }
2292            ,
2293            {
2294              "FCon",
2295              NULL, NULL, 0, 0,
2296              NULL,
2297              NULL,
2298              0, 0,
2299              1, 1,
2300              CallbackNameInvisible,
2301              (XtPointer)GRAAL_FIGURE_CONNECTOR_NAME,
2302              (Widget)NULL
2303            }
2304            ,
2305            {
2306              "ICon",
2307              NULL, NULL, 0, 0,
2308              NULL,
2309              NULL,
2310              0, 0,
2311              1, 1,
2312              CallbackNameVisible,
2313              (XtPointer)GRAAL_INSTANCE_CONNECTOR_NAME,
2314              (Widget)NULL
2315            }
2316            ,
2317            {
2318              "ICon",
2319              NULL, NULL, 0, 0,
2320              NULL,
2321              NULL,
2322              0, 0,
2323              1, 1,
2324              CallbackNameInvisible,
2325              (XtPointer)GRAAL_INSTANCE_CONNECTOR_NAME,
2326              (Widget)NULL
2327            }
2328            ,
2329            {
2330              "FSeg",
2331              NULL, NULL, 0, 0,
2332              NULL,
2333              NULL,
2334              0, 0,
2335              1, 1,
2336              CallbackNameVisible,
2337              (XtPointer)GRAAL_FIGURE_SEGMENT_NAME,
2338              (Widget)NULL
2339            }
2340            ,
2341            {
2342              "FSeg",
2343              NULL, NULL, 0, 0,
2344              NULL,
2345              NULL,
2346              0, 0,
2347              1, 1,
2348              CallbackNameInvisible,
2349              (XtPointer)GRAAL_FIGURE_SEGMENT_NAME,
2350              (Widget)NULL
2351            }
2352            ,
2353            {
2354              "ISeg",
2355              NULL, NULL, 0, 0,
2356              NULL,
2357              NULL,
2358              0, 0,
2359              1, 1,
2360              CallbackNameVisible,
2361              (XtPointer)GRAAL_INSTANCE_SEGMENT_NAME,
2362              (Widget)NULL
2363            }
2364            ,
2365            {
2366              "ISeg",
2367              NULL, NULL, 0, 0,
2368              NULL,
2369              NULL,
2370              0, 0,
2371              1, 1,
2372              CallbackNameInvisible,
2373              (XtPointer)GRAAL_INSTANCE_SEGMENT_NAME,
2374              (Widget)NULL
2375            }
2376            ,
2377            {
2378              "FRef",
2379              NULL, NULL, 0, 0,
2380              NULL,
2381              NULL,
2382              0, 0,
2383              1, 1,
2384              CallbackNameVisible,
2385              (XtPointer)GRAAL_FIGURE_REFERENCE_NAME,
2386              (Widget)NULL
2387            }
2388            ,
2389            {
2390              "FRef",
2391              NULL, NULL, 0, 0,
2392              NULL,
2393              NULL,
2394              0, 0,
2395              1, 1,
2396              CallbackNameInvisible,
2397              (XtPointer)GRAAL_FIGURE_REFERENCE_NAME,
2398              (Widget)NULL
2399            }
2400            ,
2401            {
2402              "IRef",
2403              NULL, NULL, 0, 0,
2404              NULL,
2405              NULL,
2406              0, 0,
2407              1, 1,
2408              CallbackNameVisible,
2409              (XtPointer)GRAAL_INSTANCE_REFERENCE_NAME,
2410              (Widget)NULL
2411            }
2412            ,
2413            {
2414              "IRef",
2415              NULL, NULL, 0, 0,
2416              NULL,
2417              NULL,
2418              0, 0,
2419              1, 1,
2420              CallbackNameInvisible,
2421              (XtPointer)GRAAL_INSTANCE_REFERENCE_NAME,
2422              (Widget)NULL
2423            }
2424            ,
2425            {
2426              "Pattern",
2427              NULL, NULL, 0, 0,
2428              NULL,
2429              NULL,
2430              0, 0,
2431              2, 1,
2432              CallbackLayerFillMode,
2433              (XtPointer)NULL,
2434              (Widget)NULL
2435            }
2436            ,
2437            {
2438              "Interface",
2439              NULL, NULL, 0, 0,
2440              NULL,
2441              NULL,
2442              2, 0,
2443              2, 1,
2444              CallbackLayerInterface,
2445              (XtPointer)NULL,
2446              (Widget)NULL
2447            }
2448            ,
2449            {
2450              "No index",
2451              NULL, NULL, 0, 0,
2452              NULL,
2453              NULL,
2454              0, 0,
2455              2, 1,
2456              CallbackLayerIndex,
2457              (XtPointer)NULL,
2458              (Widget)NULL
2459            }
2460            ,
2461            {
2462              "Invert",
2463              NULL, NULL, 0, 0,
2464              NULL,
2465              NULL,
2466              2, 0,
2467              2, 1,
2468              CallbackLayerCursor,
2469              (XtPointer)NULL,
2470              (Widget)NULL
2471            }
2472            ,
2473            {
2474              "Quick display",
2475              NULL, NULL, 0, 0,
2476              NULL,
2477              NULL,
2478              0, 0,
2479              2, 1,
2480              CallbackLayerForceDisplay,
2481              (XtPointer)NULL,
2482              (Widget)NULL
2483            }
2484            ,
2485            {
2486              "Scale",
2487              NULL, NULL, 0, 0,
2488              NULL,
2489              NULL,
2490              2, 0,
2491              2, 1,
2492              CallbackLayerScale,
2493              (XtPointer)NULL,
2494              (Widget)NULL
2495            }
2496            ,
2497            {
2498              "No string box",
2499              NULL, NULL, 0, 0,
2500              NULL,
2501              NULL,
2502              0, 0,
2503              2, 1,
2504              CallbackLayerBlackBoxString,
2505              (XtPointer)NULL,
2506              (Widget)NULL
2507            }
2508            ,
2509            {
2510              NULL,
2511              NULL, NULL, 0, 0,
2512              NULL,
2513              NULL,
2514              2, 0,
2515              2, 1,
2516              NULL,
2517              (XtPointer)NULL,
2518              (Widget)NULL
2519            }
2520            ,
2521            {
2522              "Apply",
2523              NULL, NULL, 0, 0,
2524              NULL,
2525              NULL,
2526              0, 0,
2527              2, 1,
2528              CallbackLayerApply,
2529              (XtPointer)NULL,
2530              (Widget)NULL
2531            }
2532            ,
2533            {
2534              "Close",
2535              NULL, NULL, 0, 0,
2536              NULL,
2537              NULL,
2538              2, 0,
2539              2, 1,
2540              CallbackCloseLayer,
2541              (XtPointer)NULL,
2542              (Widget)NULL
2543            }
2544          };
2545 
2546 
2547      GraalPanelItem GraalViewLayerPanel =
2548 
2549          {
2550            "Layer",
2551            1,
2552            0,
2553            GRAAL_VIEW_LAYER_X,
2554            GRAAL_VIEW_LAYER_Y,
2555            180,
2556            575,
2557            4,
2558            24,
2559            (Widget)NULL,
2560            (Widget)NULL,
2561            (Widget)NULL,
2562            (Widget)NULL,
2563            ( RDS_ALL_LAYER         << 1 ) +
2564            ( GRAAL_MAX_ACTIVE_NAME << 1 ) + 12,
2565            GraalViewLayerButton
2566          };
2567 
2568   int GraalViewLayerDefaultValues[ 5 ] =
2569 
2570          {
2571            GRAAL_VIEW_LAYER_X,
2572            GRAAL_VIEW_LAYER_Y,
2573            180, 575, 0
2574          };
2575 
2576 /*------------------------------------------------------------\
2577 |                                                             |
2578 |                        Panel Grid                           |
2579 |                                                             |
2580 \------------------------------------------------------------*/
2581 
2582  GraalPanelButtonItem GraalViewGridButton[] =
2583 
2584          {
2585            {
2586              "Grid X",
2587              NULL, NULL, 0, 0,
2588              NULL,
2589              NULL,
2590              0, 0,
2591              1, 1,
2592              CallbackSetGridX,
2593              (XtPointer)NULL,
2594              (Widget)NULL
2595            }
2596            ,
2597            {
2598              "Grid Y",
2599              NULL, NULL, 0, 0,
2600              NULL,
2601              NULL,
2602              0, 1,
2603              1, 1,
2604              CallbackSetGridY,
2605              (XtPointer)NULL,
2606              (Widget)NULL
2607            }
2608            ,
2609            {
2610              "Grid Off",
2611              NULL, NULL, 0, 0,
2612              NULL,
2613              NULL,
2614              0, 2,
2615              1, 1,
2616              CallbackGridOnOff,
2617              (XtPointer)NULL,
2618              (Widget)NULL
2619            }
2620            ,
2621            {
2622              "Close",
2623              NULL, NULL, 0, 0,
2624              NULL,
2625              NULL,
2626              0, 3,
2627              1, 1,
2628              CallbackCloseGrid,
2629              (XtPointer)NULL,
2630              (Widget)NULL
2631            }
2632          };
2633 
2634      GraalPanelItem GraalViewGridPanel =
2635 
2636          {
2637            "Grid",
2638            1,
2639            0,
2640            GRAAL_VIEW_GRID_X,
2641            GRAAL_VIEW_GRID_Y,
2642            90,
2643            100,
2644            1,
2645            4,
2646            (Widget)NULL,
2647            (Widget)NULL,
2648            (Widget)NULL,
2649            (Widget)NULL,
2650            4,
2651            GraalViewGridButton
2652          };
2653 
2654   int GraalViewGridDefaultValues[ 5 ] =
2655 
2656          {
2657            GRAAL_VIEW_GRID_X,
2658            GRAAL_VIEW_GRID_Y,
2659            90, 100, 0
2660          };
2661 
2662 /*------------------------------------------------------------\
2663 |                                                             |
2664 |                          Functions                          |
2665 |                                                             |
2666 \------------------------------------------------------------*/
2667 /*------------------------------------------------------------\
2668 |                                                             |
2669 |                      GraalBuildPanelLayer                   |
2670 |                                                             |
2671 \------------------------------------------------------------*/
2672 
GraalBuildPanelLayer()2673 void GraalBuildPanelLayer()
2674 {
2675   GraalPanelButtonItem *Button;
2676   unsigned char         Visible;
2677   long                  Layer;
2678   unsigned char         Index;
2679   unsigned char         X1;
2680   unsigned char         Y1;
2681 
2682   X1    = 0;
2683   Y1    = 1;
2684   Index = 2;
2685 
2686   for ( Layer = 0; Layer < RDS_ALL_LAYER; Layer++ )
2687   {
2688     if ( ( GRAAL_RDS_LAYER_NAME_TABLE[ Layer ][ 0 ] != NULL ) &&
2689          ( RDS_DYNAMIC_LAYER[ Layer ] != RDS_LAYER_UNUSED   ) )
2690     {
2691       for ( Visible = 0; Visible < 2; Visible++ )
2692       {
2693         Button = &GraalViewLayerButton[ Index + Visible ];
2694 
2695         Button->LABEL      = GRAAL_RDS_LAYER_NAME_TABLE[ Layer ][ 0 ];
2696         Button->FOREGROUND = GRAAL_RDS_LAYER_NAME_TABLE[ Layer ][ 1 ];
2697         Button->BACKGROUND = GRAAL_RDS_LAYER_NAME_TABLE[ Layer ][ 2 ];
2698 
2699         Button->X        = X1;
2700         Button->Y        = Y1;
2701         Button->CALLDATA = (XtPointer)Layer;
2702 
2703         if ( X1 == 3 )
2704         {
2705           X1 = 0; Y1 = Y1 + 1;
2706         }
2707         else
2708         {
2709           X1 = X1 + 1;
2710         }
2711       }
2712     }
2713 
2714     Index = Index + 2;
2715   }
2716 
2717   if ( X1 > 0 )
2718   {
2719     X1 = 0;
2720     Y1 = Y1 + 1;
2721   }
2722 
2723   for ( Layer = 0; Layer < GRAAL_MAX_ACTIVE_NAME; Layer++ )
2724   {
2725     for ( Visible = 0; Visible < 2; Visible++ )
2726     {
2727       Button = &GraalViewLayerButton[ Index + Visible ];
2728 
2729       Button->X = X1;
2730       Button->Y = Y1;
2731 
2732       Button->FOREGROUND = "White";
2733       Button->BACKGROUND = "Black";
2734 
2735 
2736       if ( X1 == 3 )
2737       {
2738         X1 = 0; Y1 = Y1 + 1;
2739       }
2740       else
2741       {
2742         X1 = X1 + 1;
2743       }
2744     }
2745 
2746     Index = Index + 2;
2747   }
2748 
2749   if ( X1 > 0 ) Y1 = Y1 + 1;
2750 
2751   for ( Layer = 0; Layer < 5; Layer++ )
2752   {
2753     GraalViewLayerButton[ Index     ].Y = Y1;;
2754     GraalViewLayerButton[ Index + 1 ].Y = Y1;;
2755 
2756     Index = Index + 2;
2757     Y1    = Y1    + 1;
2758   }
2759 
2760   GraalViewLayerPanel.ROW = Y1;
2761   GraalViewLayerDefaultValues[ 3 ] = Y1 * 25;
2762 }
2763 
2764 /*------------------------------------------------------------\
2765 |                                                             |
2766 |                      Callback For Arrows                    |
2767 |                                                             |
2768 \------------------------------------------------------------*/
2769 /*------------------------------------------------------------\
2770 |                                                             |
2771 |                      CallbackLeftArrow                      |
2772 |                                                             |
2773 \------------------------------------------------------------*/
2774 
CallbackLeftArrow(MyWidget,ClientData,CallData)2775 void CallbackLeftArrow( MyWidget, ClientData, CallData )
2776 
2777      Widget  MyWidget;
2778      caddr_t ClientData;
2779      caddr_t CallData;
2780 {
2781   rdsbegin();
2782 
2783   GraalZoomLeft();
2784 
2785   rdsend();
2786 }
2787 
2788 /*------------------------------------------------------------\
2789 |                                                             |
2790 |                     CallbackRightArrow                      |
2791 |                                                             |
2792 \------------------------------------------------------------*/
2793 
CallbackRightArrow(MyWidget,ClientData,CallData)2794 void CallbackRightArrow( MyWidget, ClientData, CallData )
2795 
2796      Widget  MyWidget;
2797      caddr_t ClientData;
2798      caddr_t CallData;
2799 {
2800   rdsbegin();
2801 
2802   GraalZoomRight();
2803 
2804   rdsend();
2805 }
2806 
2807 /*------------------------------------------------------------\
2808 |                                                             |
2809 |                        CallbackUpArrow                      |
2810 |                                                             |
2811 \------------------------------------------------------------*/
2812 
CallbackUpArrow(MyWidget,ClientData,CallData)2813 void CallbackUpArrow( MyWidget, ClientData, CallData )
2814 
2815      Widget  MyWidget;
2816      caddr_t ClientData;
2817      caddr_t CallData;
2818 {
2819   rdsbegin();
2820 
2821   GraalZoomUp();
2822 
2823   rdsend();
2824 }
2825 
2826 /*------------------------------------------------------------\
2827 |                                                             |
2828 |                      CallbackDownArrow                      |
2829 |                                                             |
2830 \------------------------------------------------------------*/
2831 
CallbackDownArrow(MyWidget,ClientData,CallData)2832 void CallbackDownArrow( MyWidget, ClientData, CallData )
2833 
2834      Widget  MyWidget;
2835      caddr_t ClientData;
2836      caddr_t CallData;
2837 {
2838   rdsbegin();
2839 
2840   GraalZoomDown();
2841 
2842   rdsend();
2843 }
2844 
2845 
2846 /*------------------------------------------------------------\
2847 |                                                             |
2848 |                       CallbackMoveSet                       |
2849 |                                                             |
2850 \------------------------------------------------------------*/
2851 
CallbackMoveSet(MyWidget,ClientData,CallData)2852 void CallbackMoveSet( MyWidget, ClientData, CallData )
2853 
2854      Widget  MyWidget;
2855      caddr_t ClientData;
2856      caddr_t CallData;
2857 {
2858   rdsbegin();
2859 
2860   GraalEnterDialog( &GraalViewMoveSetDialog );
2861 
2862   rdsend();
2863 }
2864 
2865 /*------------------------------------------------------------\
2866 |                                                             |
2867 |                      CallbackCloseArrows                    |
2868 |                                                             |
2869 \------------------------------------------------------------*/
2870 
CallbackCloseArrows(MyWidget,ClientData,CallData)2871 void CallbackCloseArrows( MyWidget, ClientData, CallData )
2872 
2873      Widget  MyWidget;
2874      caddr_t ClientData;
2875      caddr_t CallData;
2876 {
2877   rdsbegin();
2878 
2879   GraalExitPanel( &GraalViewArrowsPanel );
2880 
2881   rdsend();
2882 }
2883 
2884 /*------------------------------------------------------------\
2885 |                                                             |
2886 |                         Zoom Callback                       |
2887 |                                                             |
2888 \------------------------------------------------------------*/
2889 /*------------------------------------------------------------\
2890 |                                                             |
2891 |                       CallbackZoomRefresh                   |
2892 |                                                             |
2893 \------------------------------------------------------------*/
2894 
CallbackZoomRefresh(MyWidget,ClientData,CallData)2895 void CallbackZoomRefresh( MyWidget, ClientData, CallData )
2896 
2897      Widget  MyWidget;
2898      caddr_t ClientData;
2899      caddr_t CallData;
2900 {
2901   rdsbegin();
2902 
2903   GraalZoomRefresh();
2904 
2905   rdsend();
2906 }
2907 
2908 /*------------------------------------------------------------\
2909 |                                                             |
2910 |                     CallbackZoomPrevious                    |
2911 |                                                             |
2912 \------------------------------------------------------------*/
2913 
CallbackZoomPrevious(MyWidget,ClientData,CallData)2914 void CallbackZoomPrevious( MyWidget, ClientData, CallData )
2915 
2916      Widget  MyWidget;
2917      caddr_t ClientData;
2918      caddr_t CallData;
2919 {
2920   rdsbegin();
2921 
2922   GraalZoomUndo();
2923 
2924   rdsend();
2925 }
2926 
2927 /*------------------------------------------------------------\
2928 |                                                             |
2929 |                       CallbackZoomLess                      |
2930 |                                                             |
2931 \------------------------------------------------------------*/
2932 
CallbackZoomLess(MyWidget,ClientData,CallData)2933 void CallbackZoomLess( MyWidget, ClientData, CallData )
2934 
2935      Widget  MyWidget;
2936      caddr_t ClientData;
2937      caddr_t CallData;
2938 {
2939   rdsbegin();
2940 
2941   GraalZoomLess();
2942 
2943   rdsend();
2944 }
2945 
2946 /*------------------------------------------------------------\
2947 |                                                             |
2948 |                        CallbackZoomMore                     |
2949 |                                                             |
2950 \------------------------------------------------------------*/
2951 
CallbackZoomMore(MyWidget,ClientData,CallData)2952 void CallbackZoomMore( MyWidget, ClientData, CallData )
2953 
2954      Widget  MyWidget;
2955      caddr_t ClientData;
2956      caddr_t CallData;
2957 {
2958   rdsbegin();
2959 
2960   GraalZoomMore();
2961 
2962   rdsend();
2963 }
2964 
2965 /*------------------------------------------------------------\
2966 |                                                             |
2967 |                       CallbackZoomSet                       |
2968 |                                                             |
2969 \------------------------------------------------------------*/
2970 
CallbackZoomSet(MyWidget,ClientData,CallData)2971 void CallbackZoomSet( MyWidget, ClientData, CallData )
2972 
2973      Widget  MyWidget;
2974      caddr_t ClientData;
2975      caddr_t CallData;
2976 {
2977   rdsbegin();
2978 
2979   GraalEnterDialog( &GraalViewZoomSetDialog );
2980 
2981   rdsend();
2982 }
2983 
2984 /*------------------------------------------------------------\
2985 |                                                             |
2986 |                      CallbackCloseZoom                      |
2987 |                                                             |
2988 \------------------------------------------------------------*/
2989 
CallbackCloseZoom(MyWidget,ClientData,CallData)2990 void CallbackCloseZoom( MyWidget, ClientData, CallData )
2991 
2992      Widget  MyWidget;
2993      caddr_t ClientData;
2994      caddr_t CallData;
2995 {
2996   rdsbegin();
2997 
2998   GraalExitPanel( &GraalViewZoomPanel );
2999 
3000   rdsend();
3001 }
3002 
3003 /*------------------------------------------------------------\
3004 |                                                             |
3005 |                        CallbackZoomIn                       |
3006 |                                                             |
3007 \------------------------------------------------------------*/
3008 
CallbackZoomIn(MyWidget,ClientData,CallData)3009 void CallbackZoomIn( MyWidget, ClientData, CallData )
3010 
3011      Widget  MyWidget;
3012      caddr_t ClientData;
3013      caddr_t CallData;
3014 {
3015   rdsbegin();
3016 
3017   GraalChangeEditMode( GRAAL_ZOOM_IN,
3018                        GraalPromptZoomIn );
3019 
3020   rdsend();
3021 }
3022 
3023 /*------------------------------------------------------------\
3024 |                                                             |
3025 |                        CallbackZoomCenter                   |
3026 |                                                             |
3027 \------------------------------------------------------------*/
3028 
CallbackZoomCenter(MyWidget,ClientData,CallData)3029 void CallbackZoomCenter( MyWidget, ClientData, CallData )
3030 
3031      Widget  MyWidget;
3032      caddr_t ClientData;
3033      caddr_t CallData;
3034 {
3035   rdsbegin();
3036 
3037   GraalChangeEditMode( GRAAL_ZOOM_CENTER,
3038                        GraalPromptZoomCenter );
3039 
3040   rdsend();
3041 }
3042 
3043 /*------------------------------------------------------------\
3044 |                                                             |
3045 |                        CallbackZoomGoto                     |
3046 |                                                             |
3047 \------------------------------------------------------------*/
3048 
CallbackZoomGoto(MyWidget,ClientData,CallData)3049 void CallbackZoomGoto( MyWidget, ClientData, CallData )
3050 
3051      Widget  MyWidget;
3052      caddr_t ClientData;
3053      caddr_t CallData;
3054 {
3055   rdsbegin();
3056 
3057   GraalEnterDialog( &GraalViewZoomGotoDialog );
3058 
3059   rdsend();
3060 }
3061 
3062 /*------------------------------------------------------------\
3063 |                                                             |
3064 |                        CallbackZoomPan                      |
3065 |                                                             |
3066 \------------------------------------------------------------*/
3067 
CallbackZoomPan(MyWidget,ClientData,CallData)3068 void CallbackZoomPan( MyWidget, ClientData, CallData )
3069 
3070      Widget  MyWidget;
3071      caddr_t ClientData;
3072      caddr_t CallData;
3073 {
3074   rdsbegin();
3075 
3076   GraalChangeEditMode( GRAAL_ZOOM_PAN,
3077                        GraalPromptZoomPan );
3078 
3079   rdsend();
3080 }
3081 
3082 /*------------------------------------------------------------\
3083 |                                                             |
3084 |                        CallbackZoomFit                      |
3085 |                                                             |
3086 \------------------------------------------------------------*/
3087 
CallbackZoomFit(MyWidget,ClientData,CallData)3088 void CallbackZoomFit( MyWidget, ClientData, CallData )
3089 
3090      Widget  MyWidget;
3091      caddr_t ClientData;
3092      caddr_t CallData;
3093 {
3094   rdsbegin();
3095 
3096   GraalZoomFit();
3097 
3098   rdsend();
3099 }
3100 
3101 /*------------------------------------------------------------\
3102 |                                                             |
3103 |                      Callback For Layer                     |
3104 |                                                             |
3105 \------------------------------------------------------------*/
3106 /*------------------------------------------------------------\
3107 |                                                             |
3108 |                    CallbackLayerAllVisible                  |
3109 |                                                             |
3110 \------------------------------------------------------------*/
3111 
CallbackLayerAllVisible(MyWidget,ClientData,CallData)3112 void CallbackLayerAllVisible( MyWidget, ClientData, CallData )
3113 
3114      Widget  MyWidget;
3115      caddr_t ClientData;
3116      caddr_t CallData;
3117 {
3118   rdsbegin();
3119 
3120   GraalLayerAllVisible();
3121 
3122   rdsend();
3123 }
3124 
3125 /*------------------------------------------------------------\
3126 |                                                             |
3127 |                  CallbackLayerAllInvisible                  |
3128 |                                                             |
3129 \------------------------------------------------------------*/
3130 
CallbackLayerAllInvisible(MyWidget,ClientData,CallData)3131 void CallbackLayerAllInvisible( MyWidget, ClientData, CallData )
3132 
3133      Widget  MyWidget;
3134      caddr_t ClientData;
3135      caddr_t CallData;
3136 {
3137   rdsbegin();
3138 
3139   GraalLayerAllInvisible();
3140 
3141   rdsend();
3142 }
3143 
3144 /*------------------------------------------------------------\
3145 |                                                             |
3146 |                      CallbackLayerVisible                   |
3147 |                                                             |
3148 \------------------------------------------------------------*/
3149 
CallbackLayerVisible(MyWidget,ClientData,CallData)3150 void CallbackLayerVisible( MyWidget, ClientData, CallData )
3151 
3152      Widget  MyWidget;
3153      caddr_t ClientData;
3154      caddr_t CallData;
3155 {
3156   rdsbegin();
3157 
3158   if ( GRAAL_RDS_ACTIVE_LAYER_TABLE[ (long)ClientData ] == 0 )
3159   {
3160     GraalSetLayerVisible( ClientData );
3161   }
3162 
3163   rdsend();
3164 }
3165 
3166 /*------------------------------------------------------------\
3167 |                                                             |
3168 |                       CallbackNameVisible                   |
3169 |                                                             |
3170 \------------------------------------------------------------*/
3171 
CallbackNameVisible(MyWidget,ClientData,CallData)3172 void CallbackNameVisible( MyWidget, ClientData, CallData )
3173 
3174      Widget  MyWidget;
3175      caddr_t ClientData;
3176      caddr_t CallData;
3177 {
3178   rdsbegin();
3179 
3180   if ( GRAAL_RDS_ACTIVE_NAME_TABLE[ (long)ClientData ] == 0 )
3181   {
3182     GraalSetNameVisible( ClientData );
3183   }
3184 
3185   rdsend();
3186 }
3187 
3188 /*------------------------------------------------------------\
3189 |                                                             |
3190 |                     CallbackLayerInvisible                  |
3191 |                                                             |
3192 \------------------------------------------------------------*/
3193 
CallbackLayerInvisible(MyWidget,ClientData,CallData)3194 void CallbackLayerInvisible( MyWidget, ClientData, CallData )
3195 
3196      Widget  MyWidget;
3197      caddr_t ClientData;
3198      caddr_t CallData;
3199 {
3200   rdsbegin();
3201 
3202   if ( GRAAL_RDS_ACTIVE_LAYER_TABLE[ (long)ClientData ] == 1 )
3203   {
3204     GraalSetLayerInvisible( ClientData );
3205   }
3206 
3207   rdsend();
3208 }
3209 
3210 /*------------------------------------------------------------\
3211 |                                                             |
3212 |                      CallbackNameInvisible                  |
3213 |                                                             |
3214 \------------------------------------------------------------*/
3215 
CallbackNameInvisible(MyWidget,ClientData,CallData)3216 void CallbackNameInvisible( MyWidget, ClientData, CallData )
3217 
3218      Widget  MyWidget;
3219      caddr_t ClientData;
3220      caddr_t CallData;
3221 {
3222   rdsbegin();
3223 
3224   if ( GRAAL_RDS_ACTIVE_NAME_TABLE[ (long)ClientData ] == 1 )
3225   {
3226     GraalSetNameInvisible( ClientData );
3227   }
3228 
3229   rdsend();
3230 }
3231 
3232 /*------------------------------------------------------------\
3233 |                                                             |
3234 |                       CallbackLayerFillMode                 |
3235 |                                                             |
3236 \------------------------------------------------------------*/
3237 
CallbackLayerFillMode(MyWidget,ClientData,CallData)3238 void CallbackLayerFillMode( MyWidget, ClientData, CallData )
3239 
3240      Widget  MyWidget;
3241      caddr_t ClientData;
3242      caddr_t CallData;
3243 {
3244   rdsbegin();
3245 
3246   GRAAL_FILL_MODE = ( GRAAL_FILL_MODE + 1 ) % 3;
3247 
3248   GraalChangeFillMode( GRAAL_FILL_MODE );
3249 
3250   rdsend();
3251 }
3252 
3253 /*------------------------------------------------------------\
3254 |                                                             |
3255 |                       CallbackLayerInterface                |
3256 |                                                             |
3257 \------------------------------------------------------------*/
3258 
CallbackLayerInterface(MyWidget,ClientData,CallData)3259 void CallbackLayerInterface( MyWidget, ClientData, CallData )
3260 
3261      Widget  MyWidget;
3262      caddr_t ClientData;
3263      caddr_t CallData;
3264 {
3265   rdsbegin();
3266 
3267   GRAAL_INSTANCE_INTERFACE = ! GRAAL_INSTANCE_INTERFACE;
3268   GraalChangeInterface( GRAAL_INSTANCE_INTERFACE );
3269 
3270   rdsend();
3271 }
3272 
3273 /*------------------------------------------------------------\
3274 |                                                             |
3275 |                       CallbackLayerIndex                    |
3276 |                                                             |
3277 \------------------------------------------------------------*/
3278 
CallbackLayerIndex(MyWidget,ClientData,CallData)3279 void CallbackLayerIndex( MyWidget, ClientData, CallData )
3280 
3281      Widget  MyWidget;
3282      caddr_t ClientData;
3283      caddr_t CallData;
3284 {
3285   rdsbegin();
3286 
3287   GRAAL_CONNECTOR_INDEX = ! GRAAL_CONNECTOR_INDEX;
3288   GraalChangeIndex( GRAAL_CONNECTOR_INDEX );
3289 
3290   rdsend();
3291 }
3292 
3293 /*------------------------------------------------------------\
3294 |                                                             |
3295 |                       CallbackLayerCursor                   |
3296 |                                                             |
3297 \------------------------------------------------------------*/
3298 
CallbackLayerCursor(MyWidget,ClientData,CallData)3299 void CallbackLayerCursor( MyWidget, ClientData, CallData )
3300 
3301      Widget  MyWidget;
3302      caddr_t ClientData;
3303      caddr_t CallData;
3304 {
3305   rdsbegin();
3306 
3307   GRAAL_XOR_CURSOR = ! GRAAL_XOR_CURSOR;
3308   GraalChangeCursor( GRAAL_XOR_CURSOR );
3309 
3310   GraalChangeCursorContext();
3311 
3312   rdsend();
3313 }
3314 
3315 /*------------------------------------------------------------\
3316 |                                                             |
3317 |                       CallbackLayerForceDisplay             |
3318 |                                                             |
3319 \------------------------------------------------------------*/
3320 
CallbackLayerForceDisplay(MyWidget,ClientData,CallData)3321 void CallbackLayerForceDisplay( MyWidget, ClientData, CallData )
3322 
3323      Widget  MyWidget;
3324      caddr_t ClientData;
3325      caddr_t CallData;
3326 {
3327   rdsbegin();
3328 
3329   GRAAL_FORCE_DISPLAY = ! GRAAL_FORCE_DISPLAY;
3330   GraalChangeForceDisplay( GRAAL_FORCE_DISPLAY );
3331 
3332   rdsend();
3333 }
3334 
3335 /*------------------------------------------------------------\
3336 |                                                             |
3337 |                       CallbackLayerScale                    |
3338 |                                                             |
3339 \------------------------------------------------------------*/
3340 
CallbackLayerScale(MyWidget,ClientData,CallData)3341 void CallbackLayerScale( MyWidget, ClientData, CallData )
3342 
3343      Widget  MyWidget;
3344      caddr_t ClientData;
3345      caddr_t CallData;
3346 {
3347   long NewScale;
3348   long Factor;
3349 
3350   rdsbegin();
3351 
3352   Factor   = RDS_LAMBDA / RDS_PHYSICAL_GRID;
3353   NewScale = GRAAL_SCALE + 1;
3354 
3355   while ( ( Factor % NewScale ) != 0 )
3356   {
3357     NewScale = NewScale + 1;
3358 
3359     if ( NewScale > Factor )
3360     {
3361       NewScale = 1; break;
3362     }
3363   }
3364 
3365   GraalLambdaGridX  = ( (float)GraalLambdaGridX  / (float)GRAAL_SCALE ) * (float)NewScale;
3366   GraalLambdaGridY  = ( (float)GraalLambdaGridY  / (float)GRAAL_SCALE ) * (float)NewScale;
3367   GraalLambdaGridDx = ( (float)GraalLambdaGridDx / (float)GRAAL_SCALE ) * (float)NewScale;
3368   GraalLambdaGridDy = ( (float)GraalLambdaGridDy / (float)GRAAL_SCALE ) * (float)NewScale;
3369 
3370   GRAAL_SCALE = NewScale;
3371   GraalChangeScale( GRAAL_SCALE );
3372 
3373   GraalLoadParameters();
3374   GraalComputeLambdaGrid();
3375   GraalComputeAndDisplayMap();
3376   GraalZoomRefresh();
3377 
3378   rdsend();
3379 }
3380 
3381 /*------------------------------------------------------------\
3382 |                                                             |
3383 |                   CallbackLayerBlackBoxString               |
3384 |                                                             |
3385 \------------------------------------------------------------*/
3386 
CallbackLayerBlackBoxString(MyWidget,ClientData,CallData)3387 void CallbackLayerBlackBoxString( MyWidget, ClientData, CallData )
3388 
3389      Widget  MyWidget;
3390      caddr_t ClientData;
3391      caddr_t CallData;
3392 {
3393   rdsbegin();
3394 
3395   GRAAL_BLACK_BOX_STRING = ! GRAAL_BLACK_BOX_STRING;
3396   GraalChangeBlackBoxString( GRAAL_BLACK_BOX_STRING );
3397 
3398   rdsend();
3399 }
3400 
3401 /*------------------------------------------------------------\
3402 |                                                             |
3403 |                       CallbackLayerApply                    |
3404 |                                                             |
3405 \------------------------------------------------------------*/
3406 
CallbackLayerApply(MyWidget,ClientData,CallData)3407 void CallbackLayerApply( MyWidget, ClientData, CallData )
3408 
3409      Widget  MyWidget;
3410      caddr_t ClientData;
3411      caddr_t CallData;
3412 {
3413   rdsbegin();
3414 
3415   GraalZoomRefresh();
3416 
3417   rdsend();
3418 }
3419 
3420 /*------------------------------------------------------------\
3421 |                                                             |
3422 |                       CallbackCloseLayer                    |
3423 |                                                             |
3424 \------------------------------------------------------------*/
3425 
CallbackCloseLayer(MyWidget,ClientData,CallData)3426 void CallbackCloseLayer( MyWidget, ClientData, CallData )
3427 
3428      Widget  MyWidget;
3429      caddr_t ClientData;
3430      caddr_t CallData;
3431 {
3432   rdsbegin();
3433 
3434   GraalExitPanel( &GraalViewLayerPanel );
3435 
3436   rdsend();
3437 }
3438 
3439 /*------------------------------------------------------------\
3440 |                                                             |
3441 |                      GraalChangeFillMode                    |
3442 |                                                             |
3443 \------------------------------------------------------------*/
3444 
GraalChangeFillMode(FillMode)3445 void GraalChangeFillMode( FillMode )
3446 
3447   char FillMode;
3448 {
3449   int      Index;
3450   XmString Label;
3451 
3452   rdsbegin();
3453 
3454   Index = 2 + ( ( RDS_ALL_LAYER + GRAAL_MAX_ACTIVE_NAME ) << 1 );
3455   Label = XmStringCreateSimple( GraalViewLayerFillModeName[ (int)FillMode ] );
3456 
3457   XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON,
3458                  XmNlabelString, Label,
3459                  XmNresizable  , False,
3460                  NULL );
3461 
3462   XmStringFree( Label );
3463 
3464   rdsend();
3465 }
3466 
3467 /*------------------------------------------------------------\
3468 |                                                             |
3469 |                      GraalChangeInterface                   |
3470 |                                                             |
3471 \------------------------------------------------------------*/
3472 
GraalChangeInterface(Interface)3473 void GraalChangeInterface( Interface )
3474 
3475   char Interface;
3476 {
3477   int      Index;
3478   XmString Label;
3479 
3480   rdsbegin();
3481 
3482   Index = 3 + ( ( RDS_ALL_LAYER + GRAAL_MAX_ACTIVE_NAME ) << 1 );
3483   Label = XmStringCreateSimple( GraalViewLayerInterfaceName[ (int)Interface ] );
3484 
3485   XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON,
3486                  XmNlabelString, Label,
3487                  XmNresizable  , False,
3488                  NULL );
3489 
3490   XmStringFree( Label );
3491 
3492   rdsend();
3493 }
3494 
3495 /*------------------------------------------------------------\
3496 |                                                             |
3497 |                      GraalChangeIndex                       |
3498 |                                                             |
3499 \------------------------------------------------------------*/
3500 
GraalChangeIndex(Index)3501 void GraalChangeIndex( Index )
3502 
3503   char Index;
3504 {
3505   int      Pos;
3506   XmString Label;
3507 
3508   rdsbegin();
3509 
3510   Pos   = 4 + ( ( RDS_ALL_LAYER + GRAAL_MAX_ACTIVE_NAME ) << 1 );
3511   Label = XmStringCreateSimple( GraalViewLayerConnectorIndex[ (int)Index ] );
3512 
3513   XtVaSetValues( GraalViewLayerButton[ Pos ].BUTTON,
3514                  XmNlabelString, Label,
3515                  XmNresizable  , False,
3516                  NULL );
3517 
3518   XmStringFree( Label );
3519 
3520   rdsend();
3521 }
3522 
3523 /*------------------------------------------------------------\
3524 |                                                             |
3525 |                      GraalChangeCursor                      |
3526 |                                                             |
3527 \------------------------------------------------------------*/
3528 
GraalChangeCursor(Type)3529 void GraalChangeCursor( Type )
3530 
3531   char Type;
3532 {
3533   int      Pos;
3534   XmString Label;
3535 
3536   rdsbegin();
3537 
3538   Pos   = 5 + ( ( RDS_ALL_LAYER + GRAAL_MAX_ACTIVE_NAME ) << 1 );
3539   Label = XmStringCreateSimple( GraalViewLayerCursorType[ (int)Type ] );
3540 
3541   XtVaSetValues( GraalViewLayerButton[ Pos ].BUTTON,
3542                  XmNlabelString, Label,
3543                  XmNresizable  , False,
3544                  NULL );
3545 
3546   XmStringFree( Label );
3547 
3548   rdsend();
3549 }
3550 
3551 /*------------------------------------------------------------\
3552 |                                                             |
3553 |                      GraalChangeForceDisplay                |
3554 |                                                             |
3555 \------------------------------------------------------------*/
3556 
GraalChangeForceDisplay(Index)3557 void GraalChangeForceDisplay( Index )
3558 
3559   char Index;
3560 {
3561   int      Pos;
3562   XmString Label;
3563 
3564   rdsbegin();
3565 
3566   Pos   = 6 + ( ( RDS_ALL_LAYER + GRAAL_MAX_ACTIVE_NAME ) << 1 );
3567   Label = XmStringCreateSimple( GraalViewLayerForceDisplay[ (int)Index ] );
3568 
3569   XtVaSetValues( GraalViewLayerButton[ Pos ].BUTTON,
3570                  XmNlabelString, Label,
3571                  XmNresizable  , False,
3572                  NULL );
3573 
3574   XmStringFree( Label );
3575 
3576   rdsend();
3577 }
3578 
3579 /*------------------------------------------------------------\
3580 |                                                             |
3581 |                      GraalChangeScale                       |
3582 |                                                             |
3583 \------------------------------------------------------------*/
3584 
GraalChangeScale(Scale)3585 void GraalChangeScale( Scale )
3586 
3587   long Scale;
3588 {
3589   int      Pos;
3590   XmString Label;
3591   char     Buffer[ 64 ];
3592 
3593   rdsbegin();
3594 
3595   Pos   = 7 + ( ( RDS_ALL_LAYER + GRAAL_MAX_ACTIVE_NAME ) << 1 );
3596 
3597   sprintf( Buffer, "Scale %ld", Scale );
3598   Label = XmStringCreateSimple( Buffer );
3599 
3600   XtVaSetValues( GraalViewLayerButton[ Pos ].BUTTON,
3601                  XmNlabelString, Label,
3602                  XmNresizable  , False,
3603                  NULL );
3604 
3605   XmStringFree( Label );
3606 
3607   rdsend();
3608 }
3609 
3610 /*------------------------------------------------------------\
3611 |                                                             |
3612 |                  GraalChangeBlackBoxString                  |
3613 |                                                             |
3614 \------------------------------------------------------------*/
3615 
GraalChangeBlackBoxString(Index)3616 void GraalChangeBlackBoxString( Index )
3617 
3618   char Index;
3619 {
3620   int      Pos;
3621   XmString Label;
3622 
3623   rdsbegin();
3624 
3625   Pos   = 8 + ( ( RDS_ALL_LAYER + GRAAL_MAX_ACTIVE_NAME ) << 1 );
3626   Label = XmStringCreateSimple( GraalViewLayerBlackBoxString[ (int)Index ] );
3627 
3628   XtVaSetValues( GraalViewLayerButton[ Pos ].BUTTON,
3629                  XmNlabelString, Label,
3630                  XmNresizable  , False,
3631                  NULL );
3632 
3633   XmStringFree( Label );
3634 
3635   rdsend();
3636 }
3637 
3638 /*------------------------------------------------------------\
3639 |                                                             |
3640 |                      GraalSetLayerVisible                   |
3641 |                                                             |
3642 \------------------------------------------------------------*/
3643 
GraalSetLayerVisible(Layer)3644 void GraalSetLayerVisible( Layer )
3645 
3646   int Layer;
3647 {
3648   int   Index;
3649   char *Background;
3650   char *Foreground;
3651 
3652   rdsbegin();
3653 
3654   Index = 2 + ( Layer << 1 );
3655 
3656   if ( GRAAL_RDS_ACTIVE_LAYER_TABLE[ Layer ] != -1 )
3657   {
3658     GRAAL_RDS_ACTIVE_LAYER_TABLE[ Layer ] = 1;
3659 
3660     XtVaSetValues( GraalViewLayerButton[ Index + 1 ].BUTTON,
3661                    XtVaTypedArg                            ,
3662                    XmNbackground                           ,
3663                    XmRString                               ,
3664                    GRAAL_BLACK_COLOR                       ,
3665                    strlen( GRAAL_BLACK_COLOR ) + 1         ,
3666                    NULL
3667                  );
3668 
3669     XtVaSetValues( GraalViewLayerButton[ Index + 1 ].BUTTON,
3670                    XtVaTypedArg                            ,
3671                    XmNforeground                           ,
3672                    XmRString                               ,
3673                    GRAAL_BLACK_COLOR                       ,
3674                    strlen( GRAAL_BLACK_COLOR ) + 1         ,
3675                    NULL
3676                  );
3677 
3678     Background = GraalViewLayerButton[ Index ].BACKGROUND;
3679     Foreground = GraalViewLayerButton[ Index ].FOREGROUND;
3680 
3681     XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON  ,
3682                    XtVaTypedArg            ,
3683                    XmNbackground           ,
3684                    XmRString               ,
3685                    Background              ,
3686                    strlen( Background ) + 1,
3687                    NULL
3688                  );
3689 
3690     XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON  ,
3691                    XtVaTypedArg            ,
3692                    XmNforeground           ,
3693                    XmRString               ,
3694                    Foreground              ,
3695                    strlen( Foreground ) + 1,
3696                    NULL
3697                  );
3698 
3699   }
3700 
3701   rdsend();
3702 }
3703 
3704 /*------------------------------------------------------------\
3705 |                                                             |
3706 |                       GraalSetNameVisible                   |
3707 |                                                             |
3708 \------------------------------------------------------------*/
3709 
GraalSetNameVisible(Name)3710 void GraalSetNameVisible( Name )
3711 
3712   int Name;
3713 {
3714   int   Index;
3715   char *Background;
3716   char *Foreground;
3717 
3718   rdsbegin();
3719 
3720   Index = 2 + ( ( RDS_ALL_LAYER + Name ) << 1 );
3721 
3722   GRAAL_RDS_ACTIVE_NAME_TABLE[ Name ] = 1;
3723 
3724   XtVaSetValues( GraalViewLayerButton[ Index + 1 ].BUTTON,
3725                  XtVaTypedArg                            ,
3726                  XmNbackground                           ,
3727                  XmRString                               ,
3728                  GRAAL_BLACK_COLOR                       ,
3729                  strlen( GRAAL_BLACK_COLOR ) + 1         ,
3730                  NULL
3731                );
3732 
3733   XtVaSetValues( GraalViewLayerButton[ Index + 1 ].BUTTON,
3734                  XtVaTypedArg                            ,
3735                  XmNforeground                           ,
3736                  XmRString                               ,
3737                  GRAAL_BLACK_COLOR                       ,
3738                  strlen( GRAAL_BLACK_COLOR ) + 1         ,
3739                  NULL
3740                );
3741 
3742   Background = GraalViewLayerButton[ Index ].BACKGROUND;
3743   Foreground = GraalViewLayerButton[ Index ].FOREGROUND;
3744 
3745   XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON  ,
3746                  XtVaTypedArg            ,
3747                  XmNbackground           ,
3748                  XmRString               ,
3749                  Background              ,
3750                  strlen( Background ) + 1,
3751                  NULL
3752                );
3753 
3754   XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON  ,
3755                  XtVaTypedArg            ,
3756                  XmNforeground           ,
3757                  XmRString               ,
3758                  Foreground              ,
3759                  strlen( Foreground ) + 1,
3760                  NULL
3761                );
3762 
3763   rdsend();
3764 }
3765 
3766 /*------------------------------------------------------------\
3767 |                                                             |
3768 |                    GraalSetLayerInvisible                   |
3769 |                                                             |
3770 \------------------------------------------------------------*/
3771 
GraalSetLayerInvisible(Layer)3772 void GraalSetLayerInvisible( Layer )
3773 
3774   int Layer;
3775 {
3776   int   Index;
3777   char *Background;
3778   char *Foreground;
3779 
3780   rdsbegin();
3781 
3782   Index = 3 + ( Layer << 1 );
3783 
3784   if ( GRAAL_RDS_ACTIVE_LAYER_TABLE[ Layer ] != -1 )
3785   {
3786     GRAAL_RDS_ACTIVE_LAYER_TABLE[ Layer ] = 0;
3787 
3788     XtVaSetValues( GraalViewLayerButton[ Index - 1 ].BUTTON,
3789                    XtVaTypedArg                            ,
3790                    XmNbackground                           ,
3791                    XmRString                               ,
3792                    GRAAL_BLACK_COLOR                       ,
3793                    strlen( GRAAL_BLACK_COLOR ) + 1         ,
3794                    NULL
3795                  );
3796 
3797     XtVaSetValues( GraalViewLayerButton[ Index - 1 ].BUTTON,
3798                    XtVaTypedArg                            ,
3799                    XmNforeground                           ,
3800                    XmRString                               ,
3801                    GRAAL_BLACK_COLOR                       ,
3802                    strlen( GRAAL_BLACK_COLOR ) + 1         ,
3803                    NULL
3804                  );
3805 
3806     Background = GraalViewLayerButton[ Index ].BACKGROUND;
3807     Foreground = GraalViewLayerButton[ Index ].FOREGROUND;
3808 
3809     XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON  ,
3810                    XtVaTypedArg                          ,
3811                    XmNbackground                         ,
3812                    XmRString                             ,
3813                    Background                            ,
3814                    strlen( Background ) + 1              ,
3815                    NULL
3816                  );
3817 
3818     XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON  ,
3819                    XtVaTypedArg                          ,
3820                    XmNforeground                         ,
3821                    XmRString                             ,
3822                    Foreground                            ,
3823                    strlen( Foreground ) + 1              ,
3824                    NULL
3825                  );
3826   }
3827 
3828   rdsend();
3829 }
3830 
3831 /*------------------------------------------------------------\
3832 |                                                             |
3833 |                     GraalSetNameInvisible                   |
3834 |                                                             |
3835 \------------------------------------------------------------*/
3836 
GraalSetNameInvisible(Name)3837 void GraalSetNameInvisible( Name )
3838 
3839   int Name;
3840 {
3841   int   Index;
3842   char *Background;
3843   char *Foreground;
3844 
3845   rdsbegin();
3846 
3847   Index = 3 + ( ( RDS_ALL_LAYER + Name ) << 1 );
3848 
3849   GRAAL_RDS_ACTIVE_NAME_TABLE[ Name ] = 0;
3850 
3851   XtVaSetValues( GraalViewLayerButton[ Index - 1 ].BUTTON,
3852                  XtVaTypedArg                            ,
3853                  XmNbackground                           ,
3854                  XmRString                               ,
3855                  GRAAL_BLACK_COLOR                       ,
3856                  strlen( GRAAL_BLACK_COLOR ) + 1         ,
3857                  NULL
3858                );
3859 
3860   XtVaSetValues( GraalViewLayerButton[ Index - 1 ].BUTTON,
3861                  XtVaTypedArg                            ,
3862                  XmNforeground                           ,
3863                  XmRString                               ,
3864                  GRAAL_BLACK_COLOR                       ,
3865                  strlen( GRAAL_BLACK_COLOR ) + 1         ,
3866                  NULL
3867                );
3868 
3869   Background = GraalViewLayerButton[ Index ].BACKGROUND;
3870   Foreground = GraalViewLayerButton[ Index ].FOREGROUND;
3871 
3872   XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON  ,
3873                  XtVaTypedArg                          ,
3874                  XmNbackground                         ,
3875                  XmRString                             ,
3876                  Background                            ,
3877                  strlen( Background ) + 1              ,
3878                  NULL
3879                );
3880 
3881   XtVaSetValues( GraalViewLayerButton[ Index ].BUTTON  ,
3882                  XtVaTypedArg                          ,
3883                  XmNforeground                         ,
3884                  XmRString                             ,
3885                  Foreground                            ,
3886                  strlen( Foreground ) + 1              ,
3887                  NULL
3888                );
3889 
3890   rdsend();
3891 }
3892 
3893 /*------------------------------------------------------------\
3894 |                                                             |
3895 |                      GraalLayerAllVisible                   |
3896 |                                                             |
3897 \------------------------------------------------------------*/
3898 
GraalLayerAllVisible()3899 void GraalLayerAllVisible()
3900 
3901 {
3902   int   Layer;
3903 
3904   rdsbegin();
3905 
3906   for ( Layer = 0; Layer < RDS_ALL_LAYER; Layer++ )
3907   {
3908     GraalSetLayerVisible( Layer );
3909   }
3910 
3911   for ( Layer = 0; Layer < GRAAL_MAX_ACTIVE_NAME; Layer++ )
3912   {
3913     GraalSetNameVisible( Layer );
3914   }
3915 
3916   rdsend();
3917 }
3918 
3919 /*------------------------------------------------------------\
3920 |                                                             |
3921 |                    GraalInitializeLayer                     |
3922 |                                                             |
3923 \------------------------------------------------------------*/
3924 
GraalInitializeLayer()3925 void GraalInitializeLayer()
3926 
3927 {
3928   int   Index;
3929 
3930   rdsbegin();
3931 
3932   for ( Index = 0; Index < RDS_ALL_LAYER; Index++ )
3933   {
3934     if ( GRAAL_RDS_ACTIVE_LAYER_TABLE[ Index ] == 0 )
3935     {
3936       GraalSetLayerInvisible( Index );
3937     }
3938     else
3939     if ( GRAAL_RDS_ACTIVE_LAYER_TABLE[ Index ] == 1 )
3940     {
3941       GraalSetLayerVisible( Index );
3942     }
3943   }
3944 
3945   for ( Index = 0; Index < GRAAL_MAX_ACTIVE_NAME; Index++ )
3946   {
3947     if ( GRAAL_RDS_ACTIVE_NAME_TABLE[ Index ] == 0 )
3948     {
3949       GraalSetNameInvisible( Index );
3950     }
3951     else
3952     {
3953       GraalSetNameVisible( Index );
3954     }
3955   }
3956 
3957   GraalChangeFillMode( GRAAL_FILL_MODE           );
3958   GraalChangeInterface( GRAAL_INSTANCE_INTERFACE );
3959 
3960   rdsend();
3961 }
3962 
3963 /*------------------------------------------------------------\
3964 |                                                             |
3965 |                    GraalLayerAllInvisible                   |
3966 |                                                             |
3967 \------------------------------------------------------------*/
3968 
GraalLayerAllInvisible()3969 void GraalLayerAllInvisible()
3970 
3971 {
3972   int   Layer;
3973 
3974   rdsbegin();
3975 
3976   for ( Layer = 0; Layer < RDS_ALL_LAYER; Layer++ )
3977   {
3978     GraalSetLayerInvisible( Layer );
3979   }
3980 
3981   for ( Layer = 0; Layer < GRAAL_MAX_ACTIVE_NAME; Layer++ )
3982   {
3983     GraalSetNameInvisible( Layer );
3984   }
3985 
3986   rdsend();
3987 }
3988 
3989 /*------------------------------------------------------------\
3990 |                                                             |
3991 |                      Callback For Grid                      |
3992 |                                                             |
3993 \------------------------------------------------------------*/
3994 /*------------------------------------------------------------\
3995 |                                                             |
3996 |                      CallbackSetGridX                       |
3997 |                                                             |
3998 \------------------------------------------------------------*/
3999 
CallbackSetGridX(MyWidget,ClientData,CallData)4000 void CallbackSetGridX( MyWidget, ClientData, CallData )
4001 
4002      Widget  MyWidget;
4003      caddr_t ClientData;
4004      caddr_t CallData;
4005 {
4006   rdsbegin();
4007 
4008   GraalEnterDialog( &GraalViewGridXDialog );
4009 
4010   rdsend();
4011 }
4012 
4013 /*------------------------------------------------------------\
4014 |                                                             |
4015 |                      CallbackSetGridY                       |
4016 |                                                             |
4017 \------------------------------------------------------------*/
4018 
CallbackSetGridY(MyWidget,ClientData,CallData)4019 void CallbackSetGridY( MyWidget, ClientData, CallData )
4020 
4021      Widget  MyWidget;
4022      caddr_t ClientData;
4023      caddr_t CallData;
4024 {
4025   rdsbegin();
4026 
4027   GraalEnterDialog( &GraalViewGridYDialog );
4028 
4029   rdsend();
4030 }
4031 
4032 /*------------------------------------------------------------\
4033 |                                                             |
4034 |                      CallbackGridOnOff                      |
4035 |                                                             |
4036 \------------------------------------------------------------*/
4037 
CallbackGridOnOff(MyWidget,ClientData,CallData)4038 void CallbackGridOnOff( MyWidget, ClientData, CallData )
4039 
4040      Widget  MyWidget;
4041      caddr_t ClientData;
4042      caddr_t CallData;
4043 {
4044   XmString Label;
4045 
4046   rdsbegin();
4047 
4048   GraalLambdaUserGrid = ! GraalLambdaUserGrid;
4049 
4050   if ( GraalLambdaUserGrid == GRAAL_FALSE )
4051   {
4052     Label = XmStringCreateSimple( "Grid Off" );
4053   }
4054   else
4055   {
4056     Label = XmStringCreateSimple( "Grid On" );
4057   }
4058 
4059   XtVaSetValues( MyWidget, XmNlabelString, Label,
4060                            XmNresizable  , False,
4061                            NULL );
4062   XmStringFree( Label );
4063 
4064   GraalZoomRefresh();
4065 
4066   rdsend();
4067 }
4068 
4069 /*------------------------------------------------------------\
4070 |                                                             |
4071 |                      CallbackCloseGrid                      |
4072 |                                                             |
4073 \------------------------------------------------------------*/
4074 
CallbackCloseGrid(MyWidget,ClientData,CallData)4075 void CallbackCloseGrid( MyWidget, ClientData, CallData )
4076 
4077      Widget  MyWidget;
4078      caddr_t ClientData;
4079      caddr_t CallData;
4080 {
4081   rdsbegin();
4082 
4083   GraalExitPanel( &GraalViewGridPanel );
4084 
4085   rdsend();
4086 }
4087