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 <string.h>
47 # include <Xm/Xm.h>
48 # include <Xm/Text.h>
49 # include <Xm/List.h>
50 # include <Xm/FileSB.h>
51 # include <Xm/SelectioB.h>
52 # include <Xm/PushBG.h>
53 
54 # include "mut.h"
55 # include "mph.h"
56 # include "rds.h"
57 # include "rpr.h"
58 # include "rfm.h"
59 # include "GRM.h"
60 # include "GMX.h"
61 # include "GTB.h"
62 # include "GSB.h"
63 # include "GME.h"
64 
65 # include "GME_panel.h"
66 # include "GME_message.h"
67 # include "GME_dialog.h"
68 # include "GME_modify.h"
69 # include "GME_search.h"
70 # include "GME_select.h"
71 
72 /*------------------------------------------------------------\
73 |                                                             |
74 |                           Constants                         |
75 |                                                             |
76 \------------------------------------------------------------*/
77 /*------------------------------------------------------------\
78 |                                                             |
79 |                            Types                            |
80 |                                                             |
81 \------------------------------------------------------------*/
82 /*------------------------------------------------------------\
83 |                                                             |
84 |                          Variables                          |
85 |                                                             |
86 \------------------------------------------------------------*/
87 /*------------------------------------------------------------\
88 |                                                             |
89 |                             Panel                           |
90 |                                                             |
91 \------------------------------------------------------------*/
92 /*------------------------------------------------------------\
93 |                                                             |
94 |                        Search View Panel                    |
95 |                                                             |
96 \------------------------------------------------------------*/
97 
98    static GraalPanelButtonItem GraalEditSearchViewButton[] =
99 
100          {
101            {
102              "Continue",
103              NULL, NULL, 0, 0,
104              NULL,
105              NULL,
106              0, 0,
107              1, 1,
108              CallbackEditSearchViewContinue,
109              (XtPointer)NULL,
110              (Widget)NULL
111            }
112            ,
113            {
114              "Abort",
115              NULL, NULL, 0, 0,
116              NULL,
117              NULL,
118              0, 1,
119              1, 1,
120              CallbackEditSearchViewAbort,
121              (XtPointer)NULL,
122              (Widget)NULL
123            }
124          };
125 
126    GraalPanelItem GraalEditSearchViewPanel  =
127 
128          {
129            "View search",
130            1,
131            0,
132            GRAAL_EDIT_VIEW_SEARCH_X,
133            GRAAL_EDIT_VIEW_SEARCH_Y,
134            100,
135            50,
136            1,
137            2,
138            (Widget)NULL,
139            (Widget)NULL,
140            (Widget)NULL,
141            (Widget)NULL,
142            2,
143            GraalEditSearchViewButton
144          };
145 
146   int GraalEditSearchViewDefaultValues[ 5 ] =
147 
148          {
149            GRAAL_EDIT_VIEW_SEARCH_X,
150            GRAAL_EDIT_VIEW_SEARCH_Y,
151            100, 50, 0
152          };
153 
154 /*------------------------------------------------------------\
155 |                                                             |
156 |                        Identify Edit Panel                  |
157 |                                                             |
158 \------------------------------------------------------------*/
159 
160 
161    GraalPanelButtonItem GraalEditIdentifyButton[] =
162 
163          {
164            {
165              "Text",
166              "Nothing", NULL, 0, 0,
167              NULL,
168              NULL,
169               0, 0,
170               8, 9,
171              NULL,
172              (XtPointer)NULL,
173              (Widget)NULL
174            }
175            ,
176            {
177              "Close",
178              NULL, NULL, 0, 0,
179              NULL,
180              NULL,
181              3, 9,
182              2, 1,
183              CallbackEditCloseIdentify,
184              (XtPointer)NULL,
185              (Widget)NULL
186            }
187          };
188 
189    GraalPanelItem GraalEditIdentifyPanel =
190 
191          {
192            "Identify",
193            1,
194            0,
195            GRAAL_EDIT_IDENTIFY_X,
196            GRAAL_EDIT_IDENTIFY_Y,
197            360,
198            250,
199            8,
200            10,
201            (Widget)NULL,
202            (Widget)NULL,
203            (Widget)NULL,
204            (Widget)NULL,
205            2,
206            GraalEditIdentifyButton
207          };
208 
209   int GraalEditIdentifyDefaultValues[ 5 ] =
210 
211          {
212            GRAAL_EDIT_IDENTIFY_X,
213            GRAAL_EDIT_IDENTIFY_Y,
214            360, 250, 0
215          };
216 
217 /*------------------------------------------------------------\
218 |                                                             |
219 |                        Select Panel                         |
220 |                                                             |
221 \------------------------------------------------------------*/
222 
223    GraalPanelButtonItem GraalEditSelectButton[] =
224 
225          {
226            {
227              "Select",
228              "List",
229              "List", 0, 0,
230              NULL,
231              NULL,
232              0, 0,
233              8, 9,
234              CallbackEditSelectList,
235              (XtPointer)1,
236              (Widget)NULL
237            }
238            ,
239            {
240              "Accept",
241              NULL, NULL, 0, 0,
242              NULL,
243              NULL,
244              1, 9,
245              2, 1,
246              CallbackEditSelectAccept,
247              (XtPointer)NULL,
248              (Widget)NULL
249            }
250            ,
251            {
252              "Cancel",
253              NULL, NULL, 0, 0,
254              NULL,
255              NULL,
256              5, 9,
257              2, 1,
258              CallbackEditSelectCancel,
259              (XtPointer)NULL,
260              (Widget)NULL
261            }
262          };
263 
264    GraalPanelItem GraalEditSelectPanel =
265 
266          {
267            "Select",
268            1,
269            0,
270            GRAAL_EDIT_SELECT_X,
271            GRAAL_EDIT_SELECT_Y,
272            360,
273            250,
274            8,
275            10,
276            (Widget)NULL,
277            (Widget)NULL,
278            (Widget)NULL,
279            (Widget)NULL,
280            3,
281            GraalEditSelectButton
282          };
283 
284   int GraalEditSelectDefaultValues[ 5 ] =
285 
286          {
287            GRAAL_EDIT_IDENTIFY_X,
288            GRAAL_EDIT_IDENTIFY_Y,
289            360, 250, 0
290          };
291 
292 /*------------------------------------------------------------\
293 |                                                             |
294 |                      Search Element Panel                   |
295 |                                                             |
296 \------------------------------------------------------------*/
297 
298    static GraalPanelButtonItem GraalEditSearchButton[] =
299 
300          {
301            {
302              "Connector",
303              NULL, NULL, 0, 0,
304              NULL,
305              NULL,
306              0, 0,
307              1, 1,
308              CallbackEditSearchConnector,
309              (XtPointer)NULL,
310              (Widget)NULL
311            }
312            ,
313            {
314              "Instance",
315              NULL, NULL, 0, 0,
316              NULL,
317              NULL,
318              0, 1,
319              1, 1,
320              CallbackEditSearchInstance,
321              (XtPointer)NULL,
322              (Widget)NULL
323            }
324            ,
325            {
326              "Reference",
327              NULL, NULL, 0, 0,
328              NULL,
329              NULL,
330              0, 2,
331              1, 1,
332              CallbackEditSearchReference,
333              (XtPointer)NULL,
334              (Widget)NULL
335            }
336            ,
337            {
338              "Segment",
339              NULL, NULL, 0, 0,
340              NULL,
341              NULL,
342              0, 3,
343              1, 1,
344              CallbackEditSearchSegment,
345              (XtPointer)NULL,
346              (Widget)NULL
347            }
348            ,
349            {
350              "Via",
351              NULL, NULL, 0, 0,
352              NULL,
353              NULL,
354              0, 4,
355              1, 1,
356              CallbackEditSearchVia,
357              (XtPointer)NULL,
358              (Widget)NULL
359            }
360            ,
361            {
362              "Close",
363              NULL, NULL, 0, 0,
364              NULL,
365              NULL,
366              0, 5,
367              1, 1,
368              CallbackEditCloseSearch,
369              (XtPointer)NULL,
370              (Widget)NULL
371            }
372          };
373 
374    GraalPanelItem GraalEditSearchPanel  =
375 
376          {
377            "Search",
378            1,
379            0,
380            GRAAL_EDIT_SEARCH_X,
381            GRAAL_EDIT_SEARCH_Y,
382            100,
383            150,
384            1,
385            6,
386            (Widget)NULL,
387            (Widget)NULL,
388            (Widget)NULL,
389            (Widget)NULL,
390            6,
391            GraalEditSearchButton
392          };
393 
394   int GraalEditSearchDefaultValues[ 5 ] =
395 
396          {
397            GRAAL_EDIT_SEARCH_X,
398            GRAAL_EDIT_SEARCH_Y,
399            100, 150, 0
400          };
401 
402 /*------------------------------------------------------------\
403 |                                                             |
404 |                   Modify Segment Panel                      |
405 |                                                             |
406 \------------------------------------------------------------*/
407 
408    static GraalPanelButtonItem GraalModifySegmentButton[MBK_MAX_LAYER+4] =
409 
410          {
411            {
412              NULL,
413              NULL, NULL, 0, 0,
414              NULL,
415              NULL,
416              0, 0,
417              1, 1,
418              CallbackModifySegmentLayer,
419              (XtPointer)NULL,
420              (Widget)NULL
421            }
422            ,
423            {
424              NULL,
425              NULL, NULL, 0, 0,
426              NULL,
427              NULL,
428              0, 0,
429              1, 1,
430              CallbackModifySegmentLayer,
431              (XtPointer)NULL,
432              (Widget)NULL
433            }
434            ,
435            {
436              NULL,
437              NULL, NULL, 0, 0,
438              NULL,
439              NULL,
440              0, 0,
441              1, 1,
442              CallbackModifySegmentLayer,
443              (XtPointer)NULL,
444              (Widget)NULL
445            }
446            ,
447            {
448              NULL,
449              NULL, NULL, 0, 0,
450              NULL,
451              NULL,
452              0, 0,
453              1, 1,
454              CallbackModifySegmentLayer,
455              (XtPointer)NULL,
456              (Widget)NULL
457            }
458            ,
459            {
460              NULL,
461              NULL, NULL, 0, 0,
462              NULL,
463              NULL,
464              0, 0,
465              1, 1,
466              CallbackModifySegmentLayer,
467              (XtPointer)NULL,
468              (Widget)NULL
469            }
470            ,
471            {
472              NULL,
473              NULL, NULL, 0, 0,
474              NULL,
475              NULL,
476              0, 0,
477              1, 1,
478              CallbackModifySegmentLayer,
479              (XtPointer)NULL,
480              (Widget)NULL
481            }
482            ,
483            {
484              NULL,
485              NULL, NULL, 0, 0,
486              NULL,
487              NULL,
488              0, 0,
489              1, 1,
490              CallbackModifySegmentLayer,
491              (XtPointer)NULL,
492              (Widget)NULL
493            }
494            ,
495            {
496              NULL,
497              NULL, NULL, 0, 0,
498              NULL,
499              NULL,
500              0, 0,
501              1, 1,
502              CallbackModifySegmentLayer,
503              (XtPointer)NULL,
504              (Widget)NULL
505            }
506            ,
507            {
508              NULL,
509              NULL, NULL, 0, 0,
510              NULL,
511              NULL,
512              0, 0,
513              1, 1,
514              CallbackModifySegmentLayer,
515              (XtPointer)NULL,
516              (Widget)NULL
517            }
518            ,
519            {
520              NULL,
521              NULL, NULL, 0, 0,
522              NULL,
523              NULL,
524              0, 0,
525              1, 1,
526              CallbackModifySegmentLayer,
527              (XtPointer)NULL,
528              (Widget)NULL
529            }
530            ,
531            {
532              NULL,
533              NULL, NULL, 0, 0,
534              NULL,
535              NULL,
536              0, 0,
537              1, 1,
538              CallbackModifySegmentLayer,
539              (XtPointer)NULL,
540              (Widget)NULL
541            }
542            ,
543            {
544              NULL,
545              NULL, NULL, 0, 0,
546              NULL,
547              NULL,
548              0, 0,
549              1, 1,
550              CallbackModifySegmentLayer,
551              (XtPointer)NULL,
552              (Widget)NULL
553            }
554            ,
555            {
556              NULL,
557              NULL, NULL, 0, 0,
558              NULL,
559              NULL,
560              0, 0,
561              1, 1,
562              CallbackModifySegmentLayer,
563              (XtPointer)NULL,
564              (Widget)NULL
565            }
566            ,
567            {
568              NULL,
569              NULL, NULL, 0, 0,
570              NULL,
571              NULL,
572              0, 0,
573              1, 1,
574              CallbackModifySegmentLayer,
575              (XtPointer)NULL,
576              (Widget)NULL
577            }
578            ,
579            {
580              NULL,
581              NULL, NULL, 0, 0,
582              NULL,
583              NULL,
584              0, 0,
585              1, 1,
586              CallbackModifySegmentLayer,
587              (XtPointer)NULL,
588              (Widget)NULL
589            }
590            ,
591            {
592              NULL,
593              NULL, NULL, 0, 0,
594              NULL,
595              NULL,
596              0, 0,
597              1, 1,
598              CallbackModifySegmentLayer,
599              (XtPointer)NULL,
600              (Widget)NULL
601            }
602            ,
603            {
604              NULL,
605              NULL, NULL, 0, 0,
606              NULL,
607              NULL,
608              0, 0,
609              1, 1,
610              CallbackModifySegmentLayer,
611              (XtPointer)NULL,
612              (Widget)NULL
613            }
614            ,
615            {
616              NULL,
617              NULL, NULL, 0, 0,
618              NULL,
619              NULL,
620              0, 0,
621              1, 1,
622              CallbackModifySegmentLayer,
623              (XtPointer)NULL,
624              (Widget)NULL
625            }
626            ,
627            {
628              NULL,
629              NULL, NULL, 0, 0,
630              NULL,
631              NULL,
632              0, 0,
633              1, 1,
634              CallbackModifySegmentLayer,
635              (XtPointer)NULL,
636              (Widget)NULL
637            }
638            ,
639            {
640              NULL,
641              NULL, NULL, 0, 0,
642              NULL,
643              NULL,
644              0, 0,
645              1, 1,
646              CallbackModifySegmentLayer,
647              (XtPointer)NULL,
648              (Widget)NULL
649            }
650            ,
651            {
652              NULL,
653              NULL, NULL, 0, 0,
654              NULL,
655              NULL,
656              0, 0,
657              1, 1,
658              CallbackModifySegmentLayer,
659              (XtPointer)NULL,
660              (Widget)NULL
661            }
662            ,
663            {
664              NULL,
665              NULL, NULL, 0, 0,
666              NULL,
667              NULL,
668              0, 0,
669              1, 1,
670              CallbackModifySegmentLayer,
671              (XtPointer)NULL,
672              (Widget)NULL
673            }
674            ,
675            {
676              NULL,
677              NULL, NULL, 0, 0,
678              NULL,
679              NULL,
680              0, 0,
681              1, 1,
682              CallbackModifySegmentLayer,
683              (XtPointer)NULL,
684              (Widget)NULL
685            }
686            ,
687            {
688              NULL,
689              NULL, NULL, 0, 0,
690              NULL,
691              NULL,
692              0, 0,
693              1, 1,
694              CallbackModifySegmentLayer,
695              (XtPointer)NULL,
696              (Widget)NULL
697            }
698            ,
699            {
700              NULL,
701              NULL, NULL, 0, 0,
702              NULL,
703              NULL,
704              0, 0,
705              1, 1,
706              CallbackModifySegmentLayer,
707              (XtPointer)NULL,
708              (Widget)NULL
709            }
710            ,
711            {
712              NULL,
713              NULL, NULL, 0, 0,
714              NULL,
715              NULL,
716              0, 0,
717              1, 1,
718              CallbackModifySegmentLayer,
719              (XtPointer)NULL,
720              (Widget)NULL
721            }
722            ,
723            {
724              NULL,
725              NULL, NULL, 0, 0,
726              NULL,
727              NULL,
728              0, 0,
729              1, 1,
730              CallbackModifySegmentLayer,
731              (XtPointer)NULL,
732              (Widget)NULL
733            }
734            ,
735            {
736              NULL,
737              NULL, NULL, 0, 0,
738              NULL,
739              NULL,
740              0, 0,
741              1, 1,
742              CallbackModifySegmentLayer,
743              (XtPointer)NULL,
744              (Widget)NULL
745            }
746            ,
747            {
748              NULL,
749              NULL, NULL, 0, 0,
750              NULL,
751              NULL,
752              0, 0,
753              1, 1,
754              CallbackModifySegmentLayer,
755              (XtPointer)NULL,
756              (Widget)NULL
757            }
758            ,
759            {
760              NULL,
761              NULL, NULL, 0, 0,
762              NULL,
763              NULL,
764              0, 0,
765              1, 1,
766              CallbackModifySegmentLayer,
767              (XtPointer)NULL,
768              (Widget)NULL
769            }
770            ,
771            {
772              NULL,
773              NULL, NULL, 0, 0,
774              NULL,
775              NULL,
776              0, 0,
777              1, 1,
778              CallbackModifySegmentLayer,
779              (XtPointer)NULL,
780              (Widget)NULL
781            }
782            ,
783            {
784              NULL,
785              NULL, NULL, 0, 0,
786              NULL,
787              NULL,
788              0, 0,
789              1, 1,
790              CallbackModifySegmentLayer,
791              (XtPointer)NULL,
792              (Widget)NULL
793            }
794            ,
795            {
796              NULL,
797              NULL, NULL, 0, 0,
798              NULL,
799              NULL,
800              0, 0,
801              1, 1,
802              CallbackModifySegmentLayer,
803              (XtPointer)NULL,
804              (Widget)NULL
805            }
806            ,
807            {
808              NULL,
809              NULL, NULL, 0, 0,
810              NULL,
811              NULL,
812              0, 0,
813              1, 1,
814              CallbackModifySegmentLayer,
815              (XtPointer)NULL,
816              (Widget)NULL
817            }
818            ,
819            {
820              NULL,
821              NULL, NULL, 0, 0,
822              NULL,
823              NULL,
824              0, 0,
825              1, 1,
826              CallbackModifySegmentLayer,
827              (XtPointer)NULL,
828              (Widget)NULL
829            }
830            ,
831            {
832              NULL,
833              NULL, NULL, 0, 0,
834              NULL,
835              NULL,
836              0, 0,
837              1, 1,
838              CallbackModifySegmentLayer,
839              (XtPointer)NULL,
840              (Widget)NULL
841            }
842            ,
843            {
844              NULL,
845              NULL, NULL, 0, 0,
846              NULL,
847              NULL,
848              0, 0,
849              1, 1,
850              CallbackModifySegmentLayer,
851              (XtPointer)NULL,
852              (Widget)NULL
853            }
854            ,
855            {
856              NULL,
857              NULL, NULL, 0, 0,
858              NULL,
859              NULL,
860              0, 0,
861              1, 1,
862              CallbackModifySegmentLayer,
863              (XtPointer)NULL,
864              (Widget)NULL
865            }
866            ,
867            {
868              NULL,
869              NULL, NULL, 0, 0,
870              NULL,
871              NULL,
872              0, 0,
873              1, 1,
874              CallbackModifySegmentLayer,
875              (XtPointer)NULL,
876              (Widget)NULL
877            }
878            ,
879            {
880              NULL,
881              NULL, NULL, 0, 0,
882              NULL,
883              NULL,
884              0, 0,
885              1, 1,
886              CallbackModifySegmentLayer,
887              (XtPointer)NULL,
888              (Widget)NULL
889            }
890            ,
891            {
892              NULL,
893              NULL, NULL, 0, 0,
894              NULL,
895              NULL,
896              0, 0,
897              1, 1,
898              CallbackModifySegmentLayer,
899              (XtPointer)NULL,
900              (Widget)NULL
901            }
902            ,
903            {
904              NULL,
905              NULL, NULL, 0, 0,
906              NULL,
907              NULL,
908              0, 0,
909              1, 1,
910              CallbackModifySegmentLayer,
911              (XtPointer)NULL,
912              (Widget)NULL
913            }
914            ,
915            {
916              NULL,
917              NULL, NULL, 0, 0,
918              NULL,
919              NULL,
920              0, 0,
921              1, 1,
922              CallbackModifySegmentLayer,
923              (XtPointer)NULL,
924              (Widget)NULL
925            }
926            ,
927            {
928              "Width",
929              NULL, NULL, 0, 0,
930              NULL,
931              NULL,
932              0, 0,
933              2, 1,
934              CallbackModifySegmentWidth,
935              (XtPointer)NULL,
936              (Widget)NULL
937            }
938            ,
939            {
940              "Name",
941              NULL, NULL, 0, 0,
942              NULL,
943              NULL,
944              0, 0,
945              2, 1,
946              CallbackModifySegmentName,
947              (XtPointer)NULL,
948              (Widget)NULL
949            }
950            ,
951            {
952              "Apply",
953              NULL, NULL, 0, 0,
954              NULL,
955              NULL,
956              0, 0,
957              2, 1,
958              CallbackModifySegmentApply,
959              (XtPointer)NULL,
960              (Widget)NULL
961            }
962            ,
963            {
964              "Cancel",
965              NULL, NULL, 0, 0,
966              NULL,
967              NULL,
968              0, 0,
969              2, 1,
970              CallbackModifySegmentCancel,
971              (XtPointer)NULL,
972              (Widget)NULL
973            }
974          };
975 
976    GraalPanelItem GraalModifySegmentPanel  =
977 
978          {
979            "Modify Segment",
980            1,
981            0,
982            GRAAL_MODIFY_SEGMENT_X,
983            GRAAL_MODIFY_SEGMENT_Y,
984            100,
985            500,
986            2,
987            (MBK_MAX_LAYER + 4) / 2,
988            (Widget)NULL,
989            (Widget)NULL,
990            (Widget)NULL,
991            (Widget)NULL,
992            MBK_MAX_LAYER + 4,
993            GraalModifySegmentButton
994          };
995 
996   int GraalModifySegmentDefaultValues[ 5 ] =
997 
998          {
999            GRAAL_MODIFY_SEGMENT_X,
1000            GRAAL_MODIFY_SEGMENT_Y,
1001            100, 500, 0
1002          };
1003 
1004 /*------------------------------------------------------------\
1005 |                                                             |
1006 |                          Via Panel                       |
1007 |                                                             |
1008 \------------------------------------------------------------*/
1009 
1010    static GraalPanelButtonItem GraalModifyViaButton[MBK_MAX_VIA + 3] =
1011 
1012          {
1013            {
1014              NULL,
1015              NULL, NULL, 0, 0,
1016              NULL,
1017              NULL,
1018              0, 0,
1019              1, 1,
1020              CallbackModifyViaType,
1021              (XtPointer)NULL,
1022              (Widget)NULL
1023            }
1024            ,
1025            {
1026              NULL,
1027              NULL, NULL, 0, 0,
1028              NULL,
1029              NULL,
1030              0, 0,
1031              1, 1,
1032              CallbackModifyViaType,
1033              (XtPointer)NULL,
1034              (Widget)NULL
1035            }
1036            ,
1037            {
1038              NULL,
1039              NULL, NULL, 0, 0,
1040              NULL,
1041              NULL,
1042              0, 0,
1043              1, 1,
1044              CallbackModifyViaType,
1045              (XtPointer)NULL,
1046              (Widget)NULL
1047            }
1048            ,
1049            {
1050              NULL,
1051              NULL, NULL, 0, 0,
1052              NULL,
1053              NULL,
1054              0, 0,
1055              1, 1,
1056              CallbackModifyViaType,
1057              (XtPointer)NULL,
1058              (Widget)NULL
1059            }
1060            ,
1061            {
1062              NULL,
1063              NULL, NULL, 0, 0,
1064              NULL,
1065              NULL,
1066              0, 0,
1067              1, 1,
1068              CallbackModifyViaType,
1069              (XtPointer)NULL,
1070              (Widget)NULL
1071            }
1072            ,
1073            {
1074              NULL,
1075              NULL, NULL, 0, 0,
1076              NULL,
1077              NULL,
1078              0, 0,
1079              1, 1,
1080              CallbackModifyViaType,
1081              (XtPointer)NULL,
1082              (Widget)NULL
1083            }
1084            ,
1085            {
1086              NULL,
1087              NULL, NULL, 0, 0,
1088              NULL,
1089              NULL,
1090              0, 0,
1091              1, 1,
1092              CallbackModifyViaType,
1093              (XtPointer)NULL,
1094              (Widget)NULL
1095            }
1096            ,
1097            {
1098              NULL,
1099              NULL, NULL, 0, 0,
1100              NULL,
1101              NULL,
1102              0, 0,
1103              1, 1,
1104              CallbackModifyViaType,
1105              (XtPointer)NULL,
1106              (Widget)NULL
1107            }
1108            ,
1109            {
1110              NULL,
1111              NULL, NULL, 0, 0,
1112              NULL,
1113              NULL,
1114              0, 0,
1115              1, 1,
1116              CallbackModifyViaType,
1117              (XtPointer)NULL,
1118              (Widget)NULL
1119            }
1120            ,
1121            {
1122              NULL,
1123              NULL, NULL, 0, 0,
1124              NULL,
1125              NULL,
1126              0, 0,
1127              1, 1,
1128              CallbackModifyViaType,
1129              (XtPointer)NULL,
1130              (Widget)NULL
1131            }
1132            ,
1133            {
1134              NULL,
1135              NULL, NULL, 0, 0,
1136              NULL,
1137              NULL,
1138              0, 0,
1139              1, 1,
1140              CallbackModifyViaType,
1141              (XtPointer)NULL,
1142              (Widget)NULL
1143            }
1144            ,
1145            {
1146              NULL,
1147              NULL, NULL, 0, 0,
1148              NULL,
1149              NULL,
1150              0, 0,
1151              1, 1,
1152              CallbackModifyViaType,
1153              (XtPointer)NULL,
1154              (Widget)NULL
1155            }
1156            ,
1157            {
1158              NULL,
1159              NULL, NULL, 0, 0,
1160              NULL,
1161              NULL,
1162              0, 0,
1163              1, 1,
1164              CallbackModifyViaType,
1165              (XtPointer)NULL,
1166              (Widget)NULL
1167            }
1168            ,
1169            {
1170              NULL,
1171              NULL, NULL, 0, 0,
1172              NULL,
1173              NULL,
1174              0, 0,
1175              1, 1,
1176              CallbackModifyViaType,
1177              (XtPointer)NULL,
1178              (Widget)NULL
1179            }
1180            ,
1181            {
1182              NULL,
1183              NULL, NULL, 0, 0,
1184              NULL,
1185              NULL,
1186              0, 0,
1187              1, 1,
1188              CallbackModifyViaType,
1189              (XtPointer)NULL,
1190              (Widget)NULL
1191            }
1192            ,
1193            {
1194              NULL,
1195              NULL, NULL, 0, 0,
1196              NULL,
1197              NULL,
1198              0, 0,
1199              1, 1,
1200              CallbackModifyViaType,
1201              (XtPointer)NULL,
1202              (Widget)NULL
1203            }
1204            ,
1205            {
1206              NULL,
1207              NULL, NULL, 0, 0,
1208              NULL,
1209              NULL,
1210              0, 0,
1211              1, 1,
1212              CallbackModifyViaType,
1213              (XtPointer)NULL,
1214              (Widget)NULL
1215            }
1216            ,
1217            {
1218              NULL,
1219              NULL, NULL, 0, 0,
1220              NULL,
1221              NULL,
1222              0, 0,
1223              1, 1,
1224              CallbackModifyViaType,
1225              (XtPointer)NULL,
1226              (Widget)NULL
1227            }
1228            ,
1229            {
1230              NULL,
1231              NULL, NULL, 0, 0,
1232              NULL,
1233              NULL,
1234              0, 0,
1235              1, 1,
1236              CallbackModifyViaType,
1237              (XtPointer)NULL,
1238              (Widget)NULL
1239            }
1240            ,
1241            {
1242              NULL,
1243              NULL, NULL, 0, 0,
1244              NULL,
1245              NULL,
1246              0, 0,
1247              1, 1,
1248              CallbackModifyViaType,
1249              (XtPointer)NULL,
1250              (Widget)NULL
1251            }
1252            ,
1253            {
1254              NULL,
1255              NULL, NULL, 0, 0,
1256              NULL,
1257              NULL,
1258              0, 0,
1259              1, 1,
1260              CallbackModifyViaType,
1261              (XtPointer)NULL,
1262              (Widget)NULL
1263            }
1264            ,
1265            {
1266              NULL,
1267              NULL, NULL, 0, 0,
1268              NULL,
1269              NULL,
1270              0, 0,
1271              1, 1,
1272              CallbackModifyViaType,
1273              (XtPointer)NULL,
1274              (Widget)NULL
1275            }
1276            ,
1277            {
1278              NULL,
1279              NULL, NULL, 0, 0,
1280              NULL,
1281              NULL,
1282              0, 0,
1283              1, 1,
1284              CallbackModifyViaType,
1285              (XtPointer)NULL,
1286              (Widget)NULL
1287            }
1288            ,
1289            {
1290              NULL,
1291              NULL, NULL, 0, 0,
1292              NULL,
1293              NULL,
1294              0, 0,
1295              1, 1,
1296              CallbackModifyViaType,
1297              (XtPointer)NULL,
1298              (Widget)NULL
1299            }
1300            ,
1301            {
1302              NULL,
1303              NULL, NULL, 0, 0,
1304              NULL,
1305              NULL,
1306              0, 0,
1307              1, 1,
1308              CallbackModifyViaType,
1309              (XtPointer)NULL,
1310              (Widget)NULL
1311            }
1312            ,
1313            {
1314              "Name",
1315              NULL, NULL, 0, 0,
1316              NULL,
1317              NULL,
1318              0, 0,
1319              1, 1,
1320              CallbackModifyViaName,
1321              (XtPointer)NULL,
1322              (Widget)NULL
1323            }
1324            ,
1325            {
1326              "Apply",
1327              NULL, NULL, 0, 0,
1328              NULL,
1329              NULL,
1330              0, 10,
1331              1, 1,
1332              CallbackModifyViaApply,
1333              (XtPointer)NULL,
1334              (Widget)NULL
1335            }
1336            ,
1337            {
1338              "Cancel",
1339              NULL, NULL, 0, 0,
1340              NULL,
1341              NULL,
1342              0, 11,
1343              1, 1,
1344              CallbackModifyViaCancel,
1345              (XtPointer)NULL,
1346              (Widget)NULL
1347            }
1348          };
1349 
1350    GraalPanelItem GraalModifyViaPanel  =
1351 
1352          {
1353            "Modify Via",
1354            1,
1355            0,
1356            GRAAL_MODIFY_VIA_X,
1357            GRAAL_MODIFY_VIA_Y,
1358            100,
1359            300,
1360            1,
1361            MBK_MAX_VIA + 3,
1362            (Widget)NULL,
1363            (Widget)NULL,
1364            (Widget)NULL,
1365            (Widget)NULL,
1366            MBK_MAX_VIA + 3,
1367            GraalModifyViaButton
1368          };
1369 
1370   int GraalModifyViaDefaultValues[ 5 ] =
1371 
1372          {
1373            GRAAL_MODIFY_VIA_X,
1374            GRAAL_MODIFY_VIA_Y,
1375            100, 300, 0
1376          };
1377 
1378 /*------------------------------------------------------------\
1379 |                                                             |
1380 |                          BigVia Panel                       |
1381 |                                                             |
1382 \------------------------------------------------------------*/
1383 
1384    static GraalPanelButtonItem GraalModifyBigViaButton[MBK_MAX_VIA + 3] =
1385 
1386          {
1387            {
1388              NULL,
1389              NULL, NULL, 0, 0,
1390              NULL,
1391              NULL,
1392              0, 0,
1393              1, 1,
1394              CallbackModifyBigViaType,
1395              (XtPointer)NULL,
1396              (Widget)NULL
1397            }
1398            ,
1399            {
1400              NULL,
1401              NULL, NULL, 0, 0,
1402              NULL,
1403              NULL,
1404              0, 0,
1405              1, 1,
1406              CallbackModifyBigViaType,
1407              (XtPointer)NULL,
1408              (Widget)NULL
1409            }
1410            ,
1411            {
1412              NULL,
1413              NULL, NULL, 0, 0,
1414              NULL,
1415              NULL,
1416              0, 0,
1417              1, 1,
1418              CallbackModifyBigViaType,
1419              (XtPointer)NULL,
1420              (Widget)NULL
1421            }
1422            ,
1423            {
1424              NULL,
1425              NULL, NULL, 0, 0,
1426              NULL,
1427              NULL,
1428              0, 0,
1429              1, 1,
1430              CallbackModifyBigViaType,
1431              (XtPointer)NULL,
1432              (Widget)NULL
1433            }
1434            ,
1435            {
1436              NULL,
1437              NULL, NULL, 0, 0,
1438              NULL,
1439              NULL,
1440              0, 0,
1441              1, 1,
1442              CallbackModifyBigViaType,
1443              (XtPointer)NULL,
1444              (Widget)NULL
1445            }
1446            ,
1447            {
1448              NULL,
1449              NULL, NULL, 0, 0,
1450              NULL,
1451              NULL,
1452              0, 0,
1453              1, 1,
1454              CallbackModifyBigViaType,
1455              (XtPointer)NULL,
1456              (Widget)NULL
1457            }
1458            ,
1459            {
1460              NULL,
1461              NULL, NULL, 0, 0,
1462              NULL,
1463              NULL,
1464              0, 0,
1465              1, 1,
1466              CallbackModifyBigViaType,
1467              (XtPointer)NULL,
1468              (Widget)NULL
1469            }
1470            ,
1471            {
1472              NULL,
1473              NULL, NULL, 0, 0,
1474              NULL,
1475              NULL,
1476              0, 0,
1477              1, 1,
1478              CallbackModifyBigViaType,
1479              (XtPointer)NULL,
1480              (Widget)NULL
1481            }
1482            ,
1483            {
1484              NULL,
1485              NULL, NULL, 0, 0,
1486              NULL,
1487              NULL,
1488              0, 0,
1489              1, 1,
1490              CallbackModifyBigViaType,
1491              (XtPointer)NULL,
1492              (Widget)NULL
1493            }
1494            ,
1495            {
1496              NULL,
1497              NULL, NULL, 0, 0,
1498              NULL,
1499              NULL,
1500              0, 0,
1501              1, 1,
1502              CallbackModifyBigViaType,
1503              (XtPointer)NULL,
1504              (Widget)NULL
1505            }
1506            ,
1507            {
1508              NULL,
1509              NULL, NULL, 0, 0,
1510              NULL,
1511              NULL,
1512              0, 0,
1513              1, 1,
1514              CallbackModifyBigViaType,
1515              (XtPointer)NULL,
1516              (Widget)NULL
1517            }
1518            ,
1519            {
1520              NULL,
1521              NULL, NULL, 0, 0,
1522              NULL,
1523              NULL,
1524              0, 0,
1525              1, 1,
1526              CallbackModifyBigViaType,
1527              (XtPointer)NULL,
1528              (Widget)NULL
1529            }
1530            ,
1531            {
1532              NULL,
1533              NULL, NULL, 0, 0,
1534              NULL,
1535              NULL,
1536              0, 0,
1537              1, 1,
1538              CallbackModifyBigViaType,
1539              (XtPointer)NULL,
1540              (Widget)NULL
1541            }
1542            ,
1543            {
1544              NULL,
1545              NULL, NULL, 0, 0,
1546              NULL,
1547              NULL,
1548              0, 0,
1549              1, 1,
1550              CallbackModifyBigViaType,
1551              (XtPointer)NULL,
1552              (Widget)NULL
1553            }
1554            ,
1555            {
1556              NULL,
1557              NULL, NULL, 0, 0,
1558              NULL,
1559              NULL,
1560              0, 0,
1561              1, 1,
1562              CallbackModifyBigViaType,
1563              (XtPointer)NULL,
1564              (Widget)NULL
1565            }
1566            ,
1567            {
1568              NULL,
1569              NULL, NULL, 0, 0,
1570              NULL,
1571              NULL,
1572              0, 0,
1573              1, 1,
1574              CallbackModifyBigViaType,
1575              (XtPointer)NULL,
1576              (Widget)NULL
1577            }
1578            ,
1579            {
1580              NULL,
1581              NULL, NULL, 0, 0,
1582              NULL,
1583              NULL,
1584              0, 0,
1585              1, 1,
1586              CallbackModifyBigViaType,
1587              (XtPointer)NULL,
1588              (Widget)NULL
1589            }
1590            ,
1591            {
1592              NULL,
1593              NULL, NULL, 0, 0,
1594              NULL,
1595              NULL,
1596              0, 0,
1597              1, 1,
1598              CallbackModifyBigViaType,
1599              (XtPointer)NULL,
1600              (Widget)NULL
1601            }
1602            ,
1603            {
1604              NULL,
1605              NULL, NULL, 0, 0,
1606              NULL,
1607              NULL,
1608              0, 0,
1609              1, 1,
1610              CallbackModifyBigViaType,
1611              (XtPointer)NULL,
1612              (Widget)NULL
1613            }
1614            ,
1615            {
1616              NULL,
1617              NULL, NULL, 0, 0,
1618              NULL,
1619              NULL,
1620              0, 0,
1621              1, 1,
1622              CallbackModifyBigViaType,
1623              (XtPointer)NULL,
1624              (Widget)NULL
1625            }
1626            ,
1627            {
1628              NULL,
1629              NULL, NULL, 0, 0,
1630              NULL,
1631              NULL,
1632              0, 0,
1633              1, 1,
1634              CallbackModifyBigViaType,
1635              (XtPointer)NULL,
1636              (Widget)NULL
1637            }
1638            ,
1639            {
1640              NULL,
1641              NULL, NULL, 0, 0,
1642              NULL,
1643              NULL,
1644              0, 0,
1645              1, 1,
1646              CallbackModifyBigViaType,
1647              (XtPointer)NULL,
1648              (Widget)NULL
1649            }
1650            ,
1651            {
1652              NULL,
1653              NULL, NULL, 0, 0,
1654              NULL,
1655              NULL,
1656              0, 0,
1657              1, 1,
1658              CallbackModifyBigViaType,
1659              (XtPointer)NULL,
1660              (Widget)NULL
1661            }
1662            ,
1663            {
1664              NULL,
1665              NULL, NULL, 0, 0,
1666              NULL,
1667              NULL,
1668              0, 0,
1669              1, 1,
1670              CallbackModifyBigViaType,
1671              (XtPointer)NULL,
1672              (Widget)NULL
1673            }
1674            ,
1675            {
1676              NULL,
1677              NULL, NULL, 0, 0,
1678              NULL,
1679              NULL,
1680              0, 0,
1681              1, 1,
1682              CallbackModifyBigViaType,
1683              (XtPointer)NULL,
1684              (Widget)NULL
1685            }
1686            ,
1687            {
1688              "Name",
1689              NULL, NULL, 0, 0,
1690              NULL,
1691              NULL,
1692              0, 0,
1693              1, 1,
1694              CallbackModifyBigViaName,
1695              (XtPointer)NULL,
1696              (Widget)NULL
1697            }
1698            ,
1699            {
1700              "Apply",
1701              NULL, NULL, 0, 0,
1702              NULL,
1703              NULL,
1704              0, 10,
1705              1, 1,
1706              CallbackModifyBigViaApply,
1707              (XtPointer)NULL,
1708              (Widget)NULL
1709            }
1710            ,
1711            {
1712              "Cancel",
1713              NULL, NULL, 0, 0,
1714              NULL,
1715              NULL,
1716              0, 11,
1717              1, 1,
1718              CallbackModifyBigViaCancel,
1719              (XtPointer)NULL,
1720              (Widget)NULL
1721            }
1722          };
1723 
1724    GraalPanelItem GraalModifyBigViaPanel  =
1725 
1726          {
1727            "Modify BigVia",
1728            1,
1729            0,
1730            GRAAL_MODIFY_BIGVIA_X,
1731            GRAAL_MODIFY_BIGVIA_Y,
1732            100,
1733            300,
1734            1,
1735            MBK_MAX_VIA + 3,
1736            (Widget)NULL,
1737            (Widget)NULL,
1738            (Widget)NULL,
1739            (Widget)NULL,
1740            MBK_MAX_VIA + 3,
1741            GraalModifyBigViaButton
1742          };
1743 
1744   int GraalModifyBigViaDefaultValues[ 5 ] =
1745 
1746          {
1747            GRAAL_MODIFY_BIGVIA_X,
1748            GRAAL_MODIFY_BIGVIA_Y,
1749            100, 300, 0
1750          };
1751 
1752 
1753 /*------------------------------------------------------------\
1754 |                                                             |
1755 |                        Transistor Panel                     |
1756 |                                                             |
1757 \------------------------------------------------------------*/
1758 
1759    static GraalPanelButtonItem GraalModifyTransistorButton[MBK_MAX_LAYER+4] =
1760 
1761          {
1762            {
1763              NULL,
1764              NULL, NULL, 0, 0,
1765              NULL,
1766              NULL,
1767              0, 0,
1768              1, 1,
1769              CallbackModifyTransistorType,
1770              (XtPointer)0,
1771              (Widget)NULL
1772            }
1773            ,
1774            {
1775              NULL,
1776              NULL, NULL, 0, 0,
1777              NULL,
1778              NULL,
1779              0, 0,
1780              1, 1,
1781              CallbackModifyTransistorType,
1782              (XtPointer)0,
1783              (Widget)NULL
1784            }
1785            ,
1786            {
1787              NULL,
1788              NULL, NULL, 0, 0,
1789              NULL,
1790              NULL,
1791              0, 0,
1792              1, 1,
1793              CallbackModifyTransistorType,
1794              (XtPointer)0,
1795              (Widget)NULL
1796            }
1797            ,
1798            {
1799              NULL,
1800              NULL, NULL, 0, 0,
1801              NULL,
1802              NULL,
1803              0, 0,
1804              1, 1,
1805              CallbackModifyTransistorType,
1806              (XtPointer)0,
1807              (Widget)NULL
1808            }
1809            ,
1810            {
1811              NULL,
1812              NULL, NULL, 0, 0,
1813              NULL,
1814              NULL,
1815              0, 0,
1816              1, 1,
1817              CallbackModifyTransistorType,
1818              (XtPointer)0,
1819              (Widget)NULL
1820            }
1821            ,
1822            {
1823              NULL,
1824              NULL, NULL, 0, 0,
1825              NULL,
1826              NULL,
1827              0, 0,
1828              1, 1,
1829              CallbackModifyTransistorType,
1830              (XtPointer)0,
1831              (Widget)NULL
1832            }
1833            ,
1834            {
1835              NULL,
1836              NULL, NULL, 0, 0,
1837              NULL,
1838              NULL,
1839              0, 0,
1840              1, 1,
1841              CallbackModifyTransistorType,
1842              (XtPointer)0,
1843              (Widget)NULL
1844            }
1845            ,
1846            {
1847              NULL,
1848              NULL, NULL, 0, 0,
1849              NULL,
1850              NULL,
1851              0, 0,
1852              1, 1,
1853              CallbackModifyTransistorType,
1854              (XtPointer)0,
1855              (Widget)NULL
1856            }
1857            ,
1858            {
1859              NULL,
1860              NULL, NULL, 0, 0,
1861              NULL,
1862              NULL,
1863              0, 0,
1864              1, 1,
1865              CallbackModifyTransistorType,
1866              (XtPointer)0,
1867              (Widget)NULL
1868            }
1869            ,
1870            {
1871              NULL,
1872              NULL, NULL, 0, 0,
1873              NULL,
1874              NULL,
1875              0, 0,
1876              1, 1,
1877              CallbackModifyTransistorType,
1878              (XtPointer)0,
1879              (Widget)NULL
1880            }
1881            ,
1882            {
1883              NULL,
1884              NULL, NULL, 0, 0,
1885              NULL,
1886              NULL,
1887              0, 0,
1888              1, 1,
1889              CallbackModifyTransistorType,
1890              (XtPointer)0,
1891              (Widget)NULL
1892            }
1893            ,
1894            {
1895              NULL,
1896              NULL, NULL, 0, 0,
1897              NULL,
1898              NULL,
1899              0, 0,
1900              1, 1,
1901              CallbackModifyTransistorType,
1902              (XtPointer)0,
1903              (Widget)NULL
1904            }
1905            ,
1906            {
1907              NULL,
1908              NULL, NULL, 0, 0,
1909              NULL,
1910              NULL,
1911              0, 0,
1912              1, 1,
1913              CallbackModifyTransistorType,
1914              (XtPointer)0,
1915              (Widget)NULL
1916            }
1917            ,
1918            {
1919              NULL,
1920              NULL, NULL, 0, 0,
1921              NULL,
1922              NULL,
1923              0, 0,
1924              1, 1,
1925              CallbackModifyTransistorType,
1926              (XtPointer)0,
1927              (Widget)NULL
1928            }
1929            ,
1930            {
1931              NULL,
1932              NULL, NULL, 0, 0,
1933              NULL,
1934              NULL,
1935              0, 0,
1936              1, 1,
1937              CallbackModifyTransistorType,
1938              (XtPointer)0,
1939              (Widget)NULL
1940            }
1941            ,
1942            {
1943              NULL,
1944              NULL, NULL, 0, 0,
1945              NULL,
1946              NULL,
1947              0, 0,
1948              1, 1,
1949              CallbackModifyTransistorType,
1950              (XtPointer)0,
1951              (Widget)NULL
1952            }
1953            ,
1954            {
1955              NULL,
1956              NULL, NULL, 0, 0,
1957              NULL,
1958              NULL,
1959              0, 0,
1960              1, 1,
1961              CallbackModifyTransistorType,
1962              (XtPointer)0,
1963              (Widget)NULL
1964            }
1965            ,
1966            {
1967              NULL,
1968              NULL, NULL, 0, 0,
1969              NULL,
1970              NULL,
1971              0, 0,
1972              1, 1,
1973              CallbackModifyTransistorType,
1974              (XtPointer)0,
1975              (Widget)NULL
1976            }
1977            ,
1978            {
1979              NULL,
1980              NULL, NULL, 0, 0,
1981              NULL,
1982              NULL,
1983              0, 0,
1984              1, 1,
1985              CallbackModifyTransistorType,
1986              (XtPointer)0,
1987              (Widget)NULL
1988            }
1989            ,
1990            {
1991              NULL,
1992              NULL, NULL, 0, 0,
1993              NULL,
1994              NULL,
1995              0, 0,
1996              1, 1,
1997              CallbackModifyTransistorType,
1998              (XtPointer)0,
1999              (Widget)NULL
2000            }
2001            ,
2002            {
2003              NULL,
2004              NULL, NULL, 0, 0,
2005              NULL,
2006              NULL,
2007              0, 0,
2008              1, 1,
2009              CallbackModifyTransistorType,
2010              (XtPointer)0,
2011              (Widget)NULL
2012            }
2013            ,
2014            {
2015              NULL,
2016              NULL, NULL, 0, 0,
2017              NULL,
2018              NULL,
2019              0, 0,
2020              1, 1,
2021              CallbackModifyTransistorType,
2022              (XtPointer)0,
2023              (Widget)NULL
2024            }
2025            ,
2026            {
2027              NULL,
2028              NULL, NULL, 0, 0,
2029              NULL,
2030              NULL,
2031              0, 0,
2032              1, 1,
2033              CallbackModifyTransistorType,
2034              (XtPointer)0,
2035              (Widget)NULL
2036            }
2037            ,
2038            {
2039              NULL,
2040              NULL, NULL, 0, 0,
2041              NULL,
2042              NULL,
2043              0, 0,
2044              1, 1,
2045              CallbackModifyTransistorType,
2046              (XtPointer)0,
2047              (Widget)NULL
2048            }
2049            ,
2050            {
2051              NULL,
2052              NULL, NULL, 0, 0,
2053              NULL,
2054              NULL,
2055              0, 0,
2056              1, 1,
2057              CallbackModifyTransistorType,
2058              (XtPointer)0,
2059              (Widget)NULL
2060            }
2061            ,
2062            {
2063              NULL,
2064              NULL, NULL, 0, 0,
2065              NULL,
2066              NULL,
2067              0, 0,
2068              1, 1,
2069              CallbackModifyTransistorType,
2070              (XtPointer)0,
2071              (Widget)NULL
2072            }
2073            ,
2074            {
2075              NULL,
2076              NULL, NULL, 0, 0,
2077              NULL,
2078              NULL,
2079              0, 0,
2080              1, 1,
2081              CallbackModifyTransistorType,
2082              (XtPointer)0,
2083              (Widget)NULL
2084            }
2085            ,
2086            {
2087              NULL,
2088              NULL, NULL, 0, 0,
2089              NULL,
2090              NULL,
2091              0, 0,
2092              1, 1,
2093              CallbackModifyTransistorType,
2094              (XtPointer)0,
2095              (Widget)NULL
2096            }
2097            ,
2098            {
2099              NULL,
2100              NULL, NULL, 0, 0,
2101              NULL,
2102              NULL,
2103              0, 0,
2104              1, 1,
2105              CallbackModifyTransistorType,
2106              (XtPointer)0,
2107              (Widget)NULL
2108            }
2109            ,
2110            {
2111              NULL,
2112              NULL, NULL, 0, 0,
2113              NULL,
2114              NULL,
2115              0, 0,
2116              1, 1,
2117              CallbackModifyTransistorType,
2118              (XtPointer)0,
2119              (Widget)NULL
2120            }
2121            ,
2122            {
2123              NULL,
2124              NULL, NULL, 0, 0,
2125              NULL,
2126              NULL,
2127              0, 0,
2128              1, 1,
2129              CallbackModifyTransistorType,
2130              (XtPointer)0,
2131              (Widget)NULL
2132            }
2133            ,
2134            {
2135              NULL,
2136              NULL, NULL, 0, 0,
2137              NULL,
2138              NULL,
2139              0, 0,
2140              1, 1,
2141              CallbackModifyTransistorType,
2142              (XtPointer)0,
2143              (Widget)NULL
2144            }
2145            ,
2146            {
2147              NULL,
2148              NULL, NULL, 0, 0,
2149              NULL,
2150              NULL,
2151              0, 0,
2152              1, 1,
2153              CallbackModifyTransistorType,
2154              (XtPointer)0,
2155              (Widget)NULL
2156            }
2157            ,
2158            {
2159              NULL,
2160              NULL, NULL, 0, 0,
2161              NULL,
2162              NULL,
2163              0, 0,
2164              1, 1,
2165              CallbackModifyTransistorType,
2166              (XtPointer)0,
2167              (Widget)NULL
2168            }
2169            ,
2170            {
2171              NULL,
2172              NULL, NULL, 0, 0,
2173              NULL,
2174              NULL,
2175              0, 0,
2176              1, 1,
2177              CallbackModifyTransistorType,
2178              (XtPointer)0,
2179              (Widget)NULL
2180            }
2181            ,
2182            {
2183              NULL,
2184              NULL, NULL, 0, 0,
2185              NULL,
2186              NULL,
2187              0, 0,
2188              1, 1,
2189              CallbackModifyTransistorType,
2190              (XtPointer)0,
2191              (Widget)NULL
2192            }
2193            ,
2194            {
2195              NULL,
2196              NULL, NULL, 0, 0,
2197              NULL,
2198              NULL,
2199              0, 0,
2200              1, 1,
2201              CallbackModifyTransistorType,
2202              (XtPointer)0,
2203              (Widget)NULL
2204            }
2205            ,
2206            {
2207              NULL,
2208              NULL, NULL, 0, 0,
2209              NULL,
2210              NULL,
2211              0, 0,
2212              1, 1,
2213              CallbackModifyTransistorType,
2214              (XtPointer)0,
2215              (Widget)NULL
2216            }
2217            ,
2218            {
2219              NULL,
2220              NULL, NULL, 0, 0,
2221              NULL,
2222              NULL,
2223              0, 0,
2224              1, 1,
2225              CallbackModifyTransistorType,
2226              (XtPointer)0,
2227              (Widget)NULL
2228            }
2229            ,
2230            {
2231              NULL,
2232              NULL, NULL, 0, 0,
2233              NULL,
2234              NULL,
2235              0, 0,
2236              1, 1,
2237              CallbackModifyTransistorType,
2238              (XtPointer)0,
2239              (Widget)NULL
2240            }
2241            ,
2242            {
2243              NULL,
2244              NULL, NULL, 0, 0,
2245              NULL,
2246              NULL,
2247              0, 0,
2248              1, 1,
2249              CallbackModifyTransistorType,
2250              (XtPointer)0,
2251              (Widget)NULL
2252            }
2253            ,
2254            {
2255              NULL,
2256              NULL, NULL, 0, 0,
2257              NULL,
2258              NULL,
2259              0, 0,
2260              1, 1,
2261              CallbackModifyTransistorType,
2262              (XtPointer)0,
2263              (Widget)NULL
2264            }
2265            ,
2266            {
2267              NULL,
2268              NULL, NULL, 0, 0,
2269              NULL,
2270              NULL,
2271              0, 0,
2272              1, 1,
2273              CallbackModifyTransistorType,
2274              (XtPointer)0,
2275              (Widget)NULL
2276            }
2277            ,
2278            {
2279              "Width",
2280              NULL, NULL, 0, 0,
2281              NULL,
2282              NULL,
2283              0, 0,
2284              2, 1,
2285              CallbackModifyTransistorWidth,
2286              (XtPointer)NULL,
2287              (Widget)NULL
2288            }
2289            ,
2290            {
2291              "Name",
2292              NULL, NULL, 0, 0,
2293              NULL,
2294              NULL,
2295              0, 0,
2296              2, 1,
2297              CallbackModifyTransistorName,
2298              (XtPointer)NULL,
2299              (Widget)NULL
2300            }
2301            ,
2302            {
2303              "Apply",
2304              NULL, NULL, 0, 0,
2305              NULL,
2306              NULL,
2307              0, 0,
2308              2, 1,
2309              CallbackModifyTransistorApply,
2310              (XtPointer)NULL,
2311              (Widget)NULL
2312            }
2313            ,
2314            {
2315              "Cancel",
2316              NULL, NULL, 0, 0,
2317              NULL,
2318              NULL,
2319              0, 0,
2320              2, 1,
2321              CallbackModifyTransistorCancel,
2322              (XtPointer)NULL,
2323              (Widget)NULL
2324            }
2325          };
2326 
2327    GraalPanelItem GraalModifyTransistorPanel  =
2328 
2329          {
2330            "Modify Transistor",
2331            1,
2332            0,
2333            GRAAL_MODIFY_TRANSISTOR_X,
2334            GRAAL_MODIFY_TRANSISTOR_Y,
2335            100,
2336            300,
2337            2,
2338            (MBK_MAX_LAYER + 4) / 2,
2339            (Widget)NULL,
2340            (Widget)NULL,
2341            (Widget)NULL,
2342            (Widget)NULL,
2343            MBK_MAX_LAYER + 4,
2344            GraalModifyTransistorButton
2345          };
2346 
2347   int GraalModifyTransistorDefaultValues[ 5 ] =
2348 
2349          {
2350            GRAAL_MODIFY_TRANSISTOR_X,
2351            GRAAL_MODIFY_TRANSISTOR_Y,
2352            100, 300, 0
2353          };
2354 
2355 /*------------------------------------------------------------\
2356 |                                                             |
2357 |                       Connector Panel                       |
2358 |                                                             |
2359 \------------------------------------------------------------*/
2360 
2361    static GraalPanelButtonItem GraalModifyConnectorButton[MBK_MAX_LAYER+MBK_MAX_ORIENT+4] =
2362 
2363          {
2364            {
2365              NULL,
2366              NULL, NULL, 0, 0,
2367              NULL,
2368              NULL,
2369              0, 0,
2370              1, 1,
2371              CallbackModifyConnectorLayer,
2372              (XtPointer)0,
2373              (Widget)NULL
2374            }
2375            ,
2376            {
2377              NULL,
2378              NULL, NULL, 0, 0,
2379              NULL,
2380              NULL,
2381              0, 0,
2382              1, 1,
2383              CallbackModifyConnectorLayer,
2384              (XtPointer)0,
2385              (Widget)NULL
2386            }
2387            ,
2388            {
2389              NULL,
2390              NULL, NULL, 0, 0,
2391              NULL,
2392              NULL,
2393              0, 0,
2394              1, 1,
2395              CallbackModifyConnectorLayer,
2396              (XtPointer)0,
2397              (Widget)NULL
2398            }
2399            ,
2400            {
2401              NULL,
2402              NULL, NULL, 0, 0,
2403              NULL,
2404              NULL,
2405              0, 0,
2406              1, 1,
2407              CallbackModifyConnectorLayer,
2408              (XtPointer)0,
2409              (Widget)NULL
2410            }
2411            ,
2412            {
2413              NULL,
2414              NULL, NULL, 0, 0,
2415              NULL,
2416              NULL,
2417              0, 0,
2418              1, 1,
2419              CallbackModifyConnectorLayer,
2420              (XtPointer)0,
2421              (Widget)NULL
2422            }
2423            ,
2424            {
2425              NULL,
2426              NULL, NULL, 0, 0,
2427              NULL,
2428              NULL,
2429              0, 0,
2430              1, 1,
2431              CallbackModifyConnectorLayer,
2432              (XtPointer)0,
2433              (Widget)NULL
2434            }
2435            ,
2436            {
2437              NULL,
2438              NULL, NULL, 0, 0,
2439              NULL,
2440              NULL,
2441              0, 0,
2442              1, 1,
2443              CallbackModifyConnectorLayer,
2444              (XtPointer)0,
2445              (Widget)NULL
2446            }
2447            ,
2448            {
2449              NULL,
2450              NULL, NULL, 0, 0,
2451              NULL,
2452              NULL,
2453              0, 0,
2454              1, 1,
2455              CallbackModifyConnectorLayer,
2456              (XtPointer)0,
2457              (Widget)NULL
2458            }
2459            ,
2460            {
2461              NULL,
2462              NULL, NULL, 0, 0,
2463              NULL,
2464              NULL,
2465              0, 0,
2466              1, 1,
2467              CallbackModifyConnectorLayer,
2468              (XtPointer)0,
2469              (Widget)NULL
2470            }
2471            ,
2472            {
2473              NULL,
2474              NULL, NULL, 0, 0,
2475              NULL,
2476              NULL,
2477              0, 0,
2478              1, 1,
2479              CallbackModifyConnectorLayer,
2480              (XtPointer)0,
2481              (Widget)NULL
2482            }
2483            ,
2484            {
2485              NULL,
2486              NULL, NULL, 0, 0,
2487              NULL,
2488              NULL,
2489              0, 0,
2490              1, 1,
2491              CallbackModifyConnectorLayer,
2492              (XtPointer)0,
2493              (Widget)NULL
2494            }
2495            ,
2496            {
2497              NULL,
2498              NULL, NULL, 0, 0,
2499              NULL,
2500              NULL,
2501              0, 0,
2502              1, 1,
2503              CallbackModifyConnectorLayer,
2504              (XtPointer)0,
2505              (Widget)NULL
2506            }
2507            ,
2508            {
2509              NULL,
2510              NULL, NULL, 0, 0,
2511              NULL,
2512              NULL,
2513              0, 0,
2514              1, 1,
2515              CallbackModifyConnectorLayer,
2516              (XtPointer)0,
2517              (Widget)NULL
2518            }
2519            ,
2520            {
2521              NULL,
2522              NULL, NULL, 0, 0,
2523              NULL,
2524              NULL,
2525              0, 0,
2526              1, 1,
2527              CallbackModifyConnectorLayer,
2528              (XtPointer)0,
2529              (Widget)NULL
2530            }
2531            ,
2532            {
2533              NULL,
2534              NULL, NULL, 0, 0,
2535              NULL,
2536              NULL,
2537              0, 0,
2538              1, 1,
2539              CallbackModifyConnectorLayer,
2540              (XtPointer)0,
2541              (Widget)NULL
2542            }
2543            ,
2544            {
2545              NULL,
2546              NULL, NULL, 0, 0,
2547              NULL,
2548              NULL,
2549              0, 0,
2550              1, 1,
2551              CallbackModifyConnectorLayer,
2552              (XtPointer)0,
2553              (Widget)NULL
2554            }
2555            ,
2556            {
2557              NULL,
2558              NULL, NULL, 0, 0,
2559              NULL,
2560              NULL,
2561              0, 0,
2562              1, 1,
2563              CallbackModifyConnectorLayer,
2564              (XtPointer)0,
2565              (Widget)NULL
2566            }
2567            ,
2568            {
2569              NULL,
2570              NULL, NULL, 0, 0,
2571              NULL,
2572              NULL,
2573              0, 0,
2574              1, 1,
2575              CallbackModifyConnectorLayer,
2576              (XtPointer)0,
2577              (Widget)NULL
2578            }
2579            ,
2580            {
2581              NULL,
2582              NULL, NULL, 0, 0,
2583              NULL,
2584              NULL,
2585              0, 0,
2586              1, 1,
2587              CallbackModifyConnectorLayer,
2588              (XtPointer)0,
2589              (Widget)NULL
2590            }
2591            ,
2592            {
2593              NULL,
2594              NULL, NULL, 0, 0,
2595              NULL,
2596              NULL,
2597              0, 0,
2598              1, 1,
2599              CallbackModifyConnectorLayer,
2600              (XtPointer)0,
2601              (Widget)NULL
2602            }
2603            ,
2604            {
2605              NULL,
2606              NULL, NULL, 0, 0,
2607              NULL,
2608              NULL,
2609              0, 0,
2610              1, 1,
2611              CallbackModifyConnectorLayer,
2612              (XtPointer)0,
2613              (Widget)NULL
2614            }
2615            ,
2616            {
2617              NULL,
2618              NULL, NULL, 0, 0,
2619              NULL,
2620              NULL,
2621              0, 0,
2622              1, 1,
2623              CallbackModifyConnectorLayer,
2624              (XtPointer)0,
2625              (Widget)NULL
2626            }
2627            ,
2628            {
2629              NULL,
2630              NULL, NULL, 0, 0,
2631              NULL,
2632              NULL,
2633              0, 0,
2634              1, 1,
2635              CallbackModifyConnectorLayer,
2636              (XtPointer)0,
2637              (Widget)NULL
2638            }
2639            ,
2640            {
2641              NULL,
2642              NULL, NULL, 0, 0,
2643              NULL,
2644              NULL,
2645              0, 0,
2646              1, 1,
2647              CallbackModifyConnectorLayer,
2648              (XtPointer)0,
2649              (Widget)NULL
2650            }
2651            ,
2652            {
2653              NULL,
2654              NULL, NULL, 0, 0,
2655              NULL,
2656              NULL,
2657              0, 0,
2658              1, 1,
2659              CallbackModifyConnectorLayer,
2660              (XtPointer)0,
2661              (Widget)NULL
2662            }
2663            ,
2664            {
2665              NULL,
2666              NULL, NULL, 0, 0,
2667              NULL,
2668              NULL,
2669              0, 0,
2670              1, 1,
2671              CallbackModifyConnectorLayer,
2672              (XtPointer)0,
2673              (Widget)NULL
2674            }
2675            ,
2676            {
2677              NULL,
2678              NULL, NULL, 0, 0,
2679              NULL,
2680              NULL,
2681              0, 0,
2682              1, 1,
2683              CallbackModifyConnectorLayer,
2684              (XtPointer)0,
2685              (Widget)NULL
2686            }
2687            ,
2688            {
2689              NULL,
2690              NULL, NULL, 0, 0,
2691              NULL,
2692              NULL,
2693              0, 0,
2694              1, 1,
2695              CallbackModifyConnectorLayer,
2696              (XtPointer)0,
2697              (Widget)NULL
2698            }
2699            ,
2700            {
2701              NULL,
2702              NULL, NULL, 0, 0,
2703              NULL,
2704              NULL,
2705              0, 0,
2706              1, 1,
2707              CallbackModifyConnectorLayer,
2708              (XtPointer)0,
2709              (Widget)NULL
2710            }
2711            ,
2712            {
2713              NULL,
2714              NULL, NULL, 0, 0,
2715              NULL,
2716              NULL,
2717              0, 0,
2718              1, 1,
2719              CallbackModifyConnectorLayer,
2720              (XtPointer)0,
2721              (Widget)NULL
2722            }
2723            ,
2724            {
2725              NULL,
2726              NULL, NULL, 0, 0,
2727              NULL,
2728              NULL,
2729              0, 0,
2730              1, 1,
2731              CallbackModifyConnectorLayer,
2732              (XtPointer)0,
2733              (Widget)NULL
2734            }
2735            ,
2736            {
2737              NULL,
2738              NULL, NULL, 0, 0,
2739              NULL,
2740              NULL,
2741              0, 0,
2742              1, 1,
2743              CallbackModifyConnectorLayer,
2744              (XtPointer)0,
2745              (Widget)NULL
2746            }
2747            ,
2748            {
2749              NULL,
2750              NULL, NULL, 0, 0,
2751              NULL,
2752              NULL,
2753              0, 0,
2754              1, 1,
2755              CallbackModifyConnectorLayer,
2756              (XtPointer)0,
2757              (Widget)NULL
2758            }
2759            ,
2760            {
2761              NULL,
2762              NULL, NULL, 0, 0,
2763              NULL,
2764              NULL,
2765              0, 0,
2766              1, 1,
2767              CallbackModifyConnectorLayer,
2768              (XtPointer)0,
2769              (Widget)NULL
2770            }
2771            ,
2772            {
2773              NULL,
2774              NULL, NULL, 0, 0,
2775              NULL,
2776              NULL,
2777              0, 0,
2778              1, 1,
2779              CallbackModifyConnectorLayer,
2780              (XtPointer)0,
2781              (Widget)NULL
2782            }
2783            ,
2784            {
2785              NULL,
2786              NULL, NULL, 0, 0,
2787              NULL,
2788              NULL,
2789              0, 0,
2790              1, 1,
2791              CallbackModifyConnectorLayer,
2792              (XtPointer)0,
2793              (Widget)NULL
2794            }
2795            ,
2796            {
2797              NULL,
2798              NULL, NULL, 0, 0,
2799              NULL,
2800              NULL,
2801              0, 0,
2802              1, 1,
2803              CallbackModifyConnectorLayer,
2804              (XtPointer)0,
2805              (Widget)NULL
2806            }
2807            ,
2808            {
2809              NULL,
2810              NULL, NULL, 0, 0,
2811              NULL,
2812              NULL,
2813              0, 0,
2814              1, 1,
2815              CallbackModifyConnectorLayer,
2816              (XtPointer)0,
2817              (Widget)NULL
2818            }
2819            ,
2820            {
2821              NULL,
2822              NULL, NULL, 0, 0,
2823              NULL,
2824              NULL,
2825              0, 0,
2826              1, 1,
2827              CallbackModifyConnectorLayer,
2828              (XtPointer)0,
2829              (Widget)NULL
2830            }
2831            ,
2832            {
2833              NULL,
2834              NULL, NULL, 0, 0,
2835              NULL,
2836              NULL,
2837              0, 0,
2838              1, 1,
2839              CallbackModifyConnectorLayer,
2840              (XtPointer)0,
2841              (Widget)NULL
2842            }
2843            ,
2844            {
2845              NULL,
2846              NULL, NULL, 0, 0,
2847              NULL,
2848              NULL,
2849              0, 0,
2850              1, 1,
2851              CallbackModifyConnectorLayer,
2852              (XtPointer)0,
2853              (Widget)NULL
2854            }
2855            ,
2856            {
2857              NULL,
2858              NULL, NULL, 0, 0,
2859              NULL,
2860              NULL,
2861              0, 0,
2862              1, 1,
2863              CallbackModifyConnectorLayer,
2864              (XtPointer)0,
2865              (Widget)NULL
2866            }
2867            ,
2868            {
2869              NULL,
2870              NULL, NULL, 0, 0,
2871              NULL,
2872              NULL,
2873              0, 0,
2874              1, 1,
2875              CallbackModifyConnectorLayer,
2876              (XtPointer)0,
2877              (Widget)NULL
2878            }
2879            ,
2880            {
2881              "Width",
2882              NULL, NULL, 0, 0,
2883              NULL,
2884              NULL,
2885              0, 0,
2886              2, 1,
2887              CallbackModifyConnectorWidth,
2888              (XtPointer)NULL,
2889              (Widget)NULL
2890            }
2891            ,
2892            {
2893              NULL,
2894              NULL, NULL, 0, 0,
2895              NULL,
2896              NULL,
2897              0, 0,
2898              2, 1,
2899              CallbackModifyConnectorOrient,
2900              (XtPointer)GRAAL_NORTH,
2901              (Widget)NULL
2902            }
2903            ,
2904            {
2905              NULL,
2906              NULL, NULL, 0, 0,
2907              NULL,
2908              NULL,
2909              0, 0,
2910              2, 1,
2911              CallbackModifyConnectorOrient,
2912              (XtPointer)GRAAL_SOUTH,
2913              (Widget)NULL
2914            }
2915            ,
2916            {
2917              NULL,
2918              NULL, NULL, 0, 0,
2919              NULL,
2920              NULL,
2921              0, 0,
2922              2, 1,
2923              CallbackModifyConnectorOrient,
2924              (XtPointer)GRAAL_EAST,
2925              (Widget)NULL
2926            }
2927            ,
2928            {
2929              NULL,
2930              NULL, NULL, 0, 0,
2931              NULL,
2932              NULL,
2933              0, 0,
2934              2, 1,
2935              CallbackModifyConnectorOrient,
2936              (XtPointer)GRAAL_WEST,
2937              (Widget)NULL
2938            }
2939            ,
2940            {
2941              "Name",
2942              NULL, NULL, 0, 0,
2943              NULL,
2944              NULL,
2945              0, 0,
2946              2, 1,
2947              CallbackModifyConnectorName,
2948              (XtPointer)NULL,
2949              (Widget)NULL
2950            }
2951            ,
2952            {
2953              "Apply",
2954              NULL, NULL, 0, 0,
2955              NULL,
2956              NULL,
2957              0, 0,
2958              2, 1,
2959              CallbackModifyConnectorApply,
2960              (XtPointer)NULL,
2961              (Widget)NULL
2962            }
2963            ,
2964            {
2965              "Cancel",
2966              NULL, NULL, 0, 0,
2967              NULL,
2968              NULL,
2969              0, 0,
2970              2, 1,
2971              CallbackModifyConnectorCancel,
2972              (XtPointer)NULL,
2973              (Widget)NULL
2974            }
2975          };
2976 
2977    GraalPanelItem GraalModifyConnectorPanel  =
2978 
2979          {
2980            "Modify Connector",
2981            1,
2982            0,
2983            GRAAL_MODIFY_CONNECTOR_X,
2984            GRAAL_MODIFY_CONNECTOR_Y,
2985            100,
2986            375,
2987            2,
2988            (MBK_MAX_LAYER+MBK_MAX_ORIENT+4) / 2,
2989            (Widget)NULL,
2990            (Widget)NULL,
2991            (Widget)NULL,
2992            (Widget)NULL,
2993            (MBK_MAX_LAYER+MBK_MAX_ORIENT+4),
2994            GraalModifyConnectorButton
2995          };
2996 
2997   int GraalModifyConnectorDefaultValues[ 5 ] =
2998 
2999          {
3000            GRAAL_MODIFY_CONNECTOR_X,
3001            GRAAL_MODIFY_CONNECTOR_Y,
3002            100, 375, 0
3003          };
3004 
3005 /*------------------------------------------------------------\
3006 |                                                             |
3007 |                        Reference Panel                      |
3008 |                                                             |
3009 \------------------------------------------------------------*/
3010 
3011    static GraalPanelButtonItem GraalModifyReferenceButton[MBK_MAX_REFERENCE+3] =
3012 
3013          {
3014            {
3015              NULL,
3016              NULL, NULL, 0, 0,
3017              NULL,
3018              NULL,
3019              0, 0,
3020              1, 1,
3021              CallbackModifyReferenceType,
3022              (XtPointer)0,
3023              (Widget)NULL
3024            }
3025            ,
3026            {
3027              NULL,
3028              NULL, NULL, 0, 0,
3029              NULL,
3030              NULL,
3031              0, 0,
3032              1, 1,
3033              CallbackModifyReferenceType,
3034              (XtPointer)0,
3035              (Widget)NULL
3036            }
3037            ,
3038            {
3039              "Name",
3040              NULL, NULL, 0, 0,
3041              NULL,
3042              NULL,
3043              0, 0,
3044              1, 1,
3045              CallbackModifyReferenceName,
3046              (XtPointer)NULL,
3047              (Widget)NULL
3048            }
3049            ,
3050            {
3051              "Apply",
3052              NULL, NULL, 0, 0,
3053              NULL,
3054              NULL,
3055              0, 0,
3056              1, 1,
3057              CallbackModifyReferenceApply,
3058              (XtPointer)NULL,
3059              (Widget)NULL
3060            }
3061            ,
3062            {
3063              "Cancel",
3064              NULL, NULL, 0, 0,
3065              NULL,
3066              NULL,
3067              0, 0,
3068              1, 1,
3069              CallbackModifyReferenceCancel,
3070              (XtPointer)NULL,
3071              (Widget)NULL
3072            }
3073         };
3074 
3075    GraalPanelItem GraalModifyReferencePanel  =
3076 
3077          {
3078            "Modify Reference",
3079            1,
3080            0,
3081            GRAAL_MODIFY_REFERENCE_X,
3082            GRAAL_MODIFY_REFERENCE_Y,
3083            100,
3084            125,
3085            1,
3086            MBK_MAX_REFERENCE + 3,
3087            (Widget)NULL,
3088            (Widget)NULL,
3089            (Widget)NULL,
3090            (Widget)NULL,
3091            MBK_MAX_REFERENCE + 3,
3092            GraalModifyReferenceButton
3093          };
3094 
3095   int GraalModifyReferenceDefaultValues[ 5 ] =
3096 
3097          {
3098            GRAAL_MODIFY_REFERENCE_X,
3099            GRAAL_MODIFY_REFERENCE_Y,
3100            100, 125, 0
3101          };
3102 
3103 /*------------------------------------------------------------\
3104 |                                                             |
3105 |                        Instance  Panel                      |
3106 |                                                             |
3107 \------------------------------------------------------------*/
3108 
3109    static GraalPanelButtonItem GraalModifyInstanceButton[MBK_MAX_SYMMETRY+4] =
3110 
3111          {
3112            {
3113              NULL,
3114              NULL, NULL, 0, 0,
3115              NULL,
3116              NULL,
3117              0, 0,
3118              1, 1,
3119              CallbackModifyInstanceSym,
3120              (XtPointer)0,
3121              (Widget)NULL
3122            }
3123            ,
3124            {
3125              NULL,
3126              NULL, NULL, 0, 0,
3127              NULL,
3128              NULL,
3129              0, 0,
3130              1, 1,
3131              CallbackModifyInstanceSym,
3132              (XtPointer)0,
3133              (Widget)NULL
3134            }
3135            ,
3136            {
3137              NULL,
3138              NULL, NULL, 0, 0,
3139              NULL,
3140              NULL,
3141              0, 0,
3142              1, 1,
3143              CallbackModifyInstanceSym,
3144              (XtPointer)0,
3145              (Widget)NULL
3146            }
3147            ,
3148            {
3149              NULL,
3150              NULL, NULL, 0, 0,
3151              NULL,
3152              NULL,
3153              0, 0,
3154              1, 1,
3155              CallbackModifyInstanceSym,
3156              (XtPointer)0,
3157              (Widget)NULL
3158            }
3159            ,
3160            {
3161              NULL,
3162              NULL, NULL, 0, 0,
3163              NULL,
3164              NULL,
3165              0, 0,
3166              1, 1,
3167              CallbackModifyInstanceSym,
3168              (XtPointer)0,
3169              (Widget)NULL
3170            }
3171            ,
3172            {
3173              NULL,
3174              NULL, NULL, 0, 0,
3175              NULL,
3176              NULL,
3177              0, 0,
3178              1, 1,
3179              CallbackModifyInstanceSym,
3180              (XtPointer)0,
3181              (Widget)NULL
3182            }
3183            ,
3184            {
3185              NULL,
3186              NULL, NULL, 0, 0,
3187              NULL,
3188              NULL,
3189              0, 0,
3190              1, 1,
3191              CallbackModifyInstanceSym,
3192              (XtPointer)0,
3193              (Widget)NULL
3194            }
3195            ,
3196            {
3197              NULL,
3198              NULL, NULL, 0, 0,
3199              NULL,
3200              NULL,
3201              0, 0,
3202              1, 1,
3203              CallbackModifyInstanceSym,
3204              (XtPointer)0,
3205              (Widget)NULL
3206            }
3207            ,
3208            {
3209              "Name",
3210              NULL, NULL, 0, 0,
3211              NULL,
3212              NULL,
3213              0, 0,
3214              1, 1,
3215              CallbackModifyInstanceName,
3216              (XtPointer)NULL,
3217              (Widget)NULL
3218            }
3219            ,
3220            {
3221              "Model",
3222              NULL, NULL, 0, 0,
3223              NULL,
3224              NULL,
3225              0, 0,
3226              1, 1,
3227              CallbackModifyInstanceModel,
3228              (XtPointer)NULL,
3229              (Widget)NULL
3230            }
3231            ,
3232            {
3233              "Apply",
3234              NULL, NULL, 0, 0,
3235              NULL,
3236              NULL,
3237              0, 0,
3238              1, 1,
3239              CallbackModifyInstanceApply,
3240              (XtPointer)NULL,
3241              (Widget)NULL
3242            }
3243            ,
3244            {
3245              "Cancel",
3246              NULL, NULL, 0, 0,
3247              NULL,
3248              NULL,
3249              0, 0,
3250              1, 1,
3251              CallbackModifyInstanceCancel,
3252              (XtPointer)NULL,
3253              (Widget)NULL
3254            }
3255         };
3256 
3257    GraalPanelItem GraalModifyInstancePanel  =
3258 
3259          {
3260            "Modify Instance",
3261            1,
3262            0,
3263            GRAAL_MODIFY_INSTANCE_X,
3264            GRAAL_MODIFY_INSTANCE_Y,
3265            100,
3266            300,
3267            1,
3268            MBK_MAX_SYMMETRY + 4,
3269            (Widget)NULL,
3270            (Widget)NULL,
3271            (Widget)NULL,
3272            (Widget)NULL,
3273            MBK_MAX_SYMMETRY + 4,
3274            GraalModifyInstanceButton
3275          };
3276 
3277   int GraalModifyInstanceDefaultValues[ 5 ] =
3278 
3279          {
3280            GRAAL_MODIFY_INSTANCE_X,
3281            GRAAL_MODIFY_INSTANCE_Y,
3282            100, 300, 0
3283          };
3284 
3285 
3286 /*------------------------------------------------------------\
3287 |                                                             |
3288 |                         Global Edit                         |
3289 |                                                             |
3290 \------------------------------------------------------------*/
3291 
3292    static GraalPanelButtonItem GraalEditGlobalButton[] =
3293 
3294          {
3295            {
3296              "Undo",
3297              NULL, NULL, 0, 0,
3298              NULL,
3299              NULL,
3300              0, 0,
3301              1, 1,
3302              CallbackEditGlobalUndo,
3303              (XtPointer)0,
3304              (Widget)NULL
3305            }
3306            ,
3307            {
3308              "Redo",
3309              NULL, NULL, 0, 0,
3310              NULL,
3311              NULL,
3312              0, 1,
3313              1, 1,
3314              CallbackEditGlobalRedo,
3315              (XtPointer)0,
3316              (Widget)NULL
3317            }
3318            ,
3319            {
3320              "Copy",
3321              NULL, NULL, 0, 0,
3322              NULL,
3323              NULL,
3324              0, 2,
3325              1, 1,
3326              CallbackEditGlobalCopy,
3327              (XtPointer)0,
3328              (Widget)NULL
3329            }
3330            ,
3331            {
3332              "Move",
3333              NULL, NULL, 0, 0,
3334              NULL,
3335              NULL,
3336              0, 3,
3337              1, 1,
3338              CallbackEditGlobalMove,
3339              (XtPointer)0,
3340              (Widget)NULL
3341            }
3342            ,
3343            {
3344              "Delete",
3345              NULL, NULL, 0, 0,
3346              NULL,
3347              NULL,
3348              0, 4,
3349              1, 1,
3350              CallbackEditGlobalDelete,
3351              (XtPointer)0,
3352              (Widget)NULL
3353            }
3354            ,
3355            {
3356              "Stretch",
3357              NULL, NULL, 0, 0,
3358              NULL,
3359              NULL,
3360              0, 5,
3361              1, 1,
3362              CallbackEditGlobalStretch,
3363              (XtPointer)0,
3364              (Widget)NULL
3365            }
3366            ,
3367            {
3368              "Modify",
3369              NULL, NULL, 0, 0,
3370              NULL,
3371              NULL,
3372              0, 6,
3373              1, 1,
3374              CallbackEditGlobalModify,
3375              (XtPointer)0,
3376              (Widget)NULL
3377            }
3378            ,
3379            {
3380              "Identify",
3381              NULL, NULL, 0, 0,
3382              NULL,
3383              NULL,
3384              0, 7,
3385              1, 1,
3386              CallbackEditGlobalIdentify,
3387              (XtPointer)0,
3388              (Widget)NULL
3389            }
3390            ,
3391            {
3392              "Close",
3393              NULL, NULL, 0, 0,
3394              NULL,
3395              NULL,
3396              0, 8,
3397              1, 1,
3398              CallbackEditCloseGlobal,
3399              (XtPointer)0,
3400              (Widget)NULL
3401            }
3402          };
3403 
3404    GraalPanelItem GraalEditGlobalPanel  =
3405 
3406          {
3407            "Edit",
3408            1,
3409            0,
3410            GRAAL_EDIT_GLOBAL_X,
3411            GRAAL_EDIT_GLOBAL_Y,
3412            100,
3413            225,
3414            1,
3415            9,
3416            (Widget)NULL,
3417            (Widget)NULL,
3418            (Widget)NULL,
3419            (Widget)NULL,
3420            9,
3421            GraalEditGlobalButton
3422          };
3423 
3424   int GraalEditGlobalDefaultValues[ 5 ] =
3425 
3426          {
3427            GRAAL_EDIT_GLOBAL_X,
3428            GRAAL_EDIT_GLOBAL_Y,
3429            100, 225, 0
3430          };
3431 
3432 /*------------------------------------------------------------\
3433 |                                                             |
3434 |                         Global Window                       |
3435 |                                                             |
3436 \------------------------------------------------------------*/
3437 
3438    static GraalPanelButtonItem GraalWindowGlobalButton[] =
3439 
3440          {
3441            {
3442              "Undo",
3443              NULL, NULL, 0, 0,
3444              NULL,
3445              NULL,
3446              0, 0,
3447              1, 1,
3448              CallbackEditGlobalUndo,
3449              (XtPointer)0,
3450              (Widget)NULL
3451            }
3452            ,
3453            {
3454              "Redo",
3455              NULL, NULL, 0, 0,
3456              NULL,
3457              NULL,
3458              0, 1,
3459              1, 1,
3460              CallbackEditGlobalRedo,
3461              (XtPointer)0,
3462              (Widget)NULL
3463            }
3464            ,
3465            {
3466              "Copy",
3467              NULL, NULL, 0, 0,
3468              NULL,
3469              NULL,
3470              0, 2,
3471              1, 1,
3472              CallbackEditGlobalCopy,
3473              (XtPointer)1,
3474              (Widget)NULL
3475            }
3476            ,
3477            {
3478              "Move",
3479              NULL, NULL, 0, 0,
3480              NULL,
3481              NULL,
3482              0, 3,
3483              1, 1,
3484              CallbackEditGlobalMove,
3485              (XtPointer)1,
3486              (Widget)NULL
3487            }
3488            ,
3489            {
3490              "Delete",
3491              NULL, NULL, 0, 0,
3492              NULL,
3493              NULL,
3494              0, 4,
3495              1, 1,
3496              CallbackEditGlobalDelete,
3497              (XtPointer)1,
3498              (Widget)NULL
3499            }
3500            ,
3501            {
3502              "Stretch",
3503              NULL, NULL, 0, 0,
3504              NULL,
3505              NULL,
3506              0, 5,
3507              1, 1,
3508              CallbackEditGlobalStretch,
3509              (XtPointer)1,
3510              (Widget)NULL
3511            }
3512            ,
3513            {
3514              "Modify",
3515              NULL, NULL, 0, 0,
3516              NULL,
3517              NULL,
3518              0, 6,
3519              1, 1,
3520              CallbackEditGlobalModify,
3521              (XtPointer)1,
3522              (Widget)NULL
3523            }
3524            ,
3525            {
3526              "Identify",
3527              NULL, NULL, 0, 0,
3528              NULL,
3529              NULL,
3530              0, 7,
3531              1, 1,
3532              CallbackEditGlobalIdentify,
3533              (XtPointer)1,
3534              (Widget)NULL
3535            }
3536            ,
3537            {
3538              "Close",
3539              NULL, NULL, 0, 0,
3540              NULL,
3541              NULL,
3542              0, 8,
3543              1, 1,
3544              CallbackEditCloseGlobal,
3545              (XtPointer)1,
3546              (Widget)NULL
3547            }
3548            ,
3549            {
3550              NULL
3551            }
3552          };
3553 
3554    GraalPanelItem GraalWindowGlobalPanel  =
3555 
3556          {
3557            "Window",
3558            1,
3559            0,
3560            GRAAL_WINDOW_GLOBAL_X,
3561            GRAAL_WINDOW_GLOBAL_Y,
3562            100,
3563            225,
3564            1,
3565            9,
3566            (Widget)NULL,
3567            (Widget)NULL,
3568            (Widget)NULL,
3569            (Widget)NULL,
3570            9,
3571            GraalWindowGlobalButton
3572          };
3573 
3574   int GraalWindowGlobalDefaultValues[ 5 ] =
3575 
3576          {
3577            GRAAL_WINDOW_GLOBAL_X,
3578            GRAAL_WINDOW_GLOBAL_Y,
3579            100, 225, 0
3580          };
3581 
3582 /*------------------------------------------------------------\
3583 |                                                             |
3584 |                          Functions                          |
3585 |                                                             |
3586 \------------------------------------------------------------*/
3587 /*------------------------------------------------------------\
3588 |                                                             |
3589 |                    GraalBuildPanelModify                    |
3590 |                                                             |
3591 \------------------------------------------------------------*/
3592 
GraalBuildPanelModify()3593 void GraalBuildPanelModify()
3594 
3595 {
3596   GraalPanelButtonItem *Button;
3597   long                  Index;
3598   unsigned char         X1;
3599   unsigned char         Y1;
3600 
3601   X1 = 0;
3602   Y1 = 0;
3603 
3604   for ( Index = 0; Index < MBK_MAX_LAYER; Index++ )
3605   {
3606     if ( GRAAL_SEGMENT_NAME_TABLE[ Index ][ 0 ] != (char *)NULL )
3607     {
3608       Button = &GraalModifySegmentButton[ Index ];
3609 
3610       Button->LABEL      = GRAAL_SEGMENT_NAME_TABLE[ Index ][ 0 ];
3611       Button->FOREGROUND = GRAAL_SEGMENT_NAME_TABLE[ Index ][ 1 ];
3612       Button->BACKGROUND = GRAAL_SEGMENT_NAME_TABLE[ Index ][ 2 ];
3613 
3614       Button->X        = X1;
3615       Button->Y        = Y1;
3616       Button->CALLDATA = (XtPointer)Index;
3617 
3618       if ( X1 == 1 )
3619       {
3620         X1 = 0; Y1 = Y1 + 1;
3621       }
3622       else
3623       {
3624         X1 = X1 + 1;
3625       }
3626     }
3627   }
3628 
3629   if ( X1 == 1 ) Y1 = Y1 + 1;
3630 
3631   for ( Index = 0; Index < 4; Index++ )
3632   {
3633     GraalModifySegmentButton[ MBK_MAX_LAYER + Index ].Y = Y1;
3634     Y1 = Y1 + 1;
3635   }
3636 
3637   GraalModifySegmentPanel.ROW = Y1;
3638   GraalModifySegmentDefaultValues[ 3 ] = Y1 * 25;
3639 
3640 
3641   Y1 = 0;
3642 
3643   for ( Index = 0; Index < MBK_MAX_VIA; Index++ )
3644   {
3645     if ( GRAAL_VIA_NAME_TABLE[ Index ][ 0 ] != (char *)NULL )
3646     {
3647       Button = &GraalModifyViaButton[ Index ];
3648 
3649       Button->LABEL      = GRAAL_VIA_NAME_TABLE[ Index ][ 0 ];
3650       Button->FOREGROUND = GRAAL_VIA_NAME_TABLE[ Index ][ 1 ];
3651       Button->BACKGROUND = GRAAL_VIA_NAME_TABLE[ Index ][ 2 ];
3652 
3653       Button->Y        = Y1;
3654       Button->CALLDATA = (XtPointer)Index;
3655 
3656       Y1 = Y1 + 1;
3657     }
3658   }
3659 
3660   for ( Index = 0; Index < 3; Index++ )
3661   {
3662     GraalModifyViaButton[ MBK_MAX_VIA + Index ].Y = Y1;
3663     Y1 = Y1 + 1;
3664   }
3665 
3666   GraalModifyViaPanel.ROW = Y1;
3667   GraalModifyViaDefaultValues[ 3 ] = Y1 * 25;
3668 
3669   Y1 = 0;
3670 
3671   for ( Index = 0; Index < MBK_MAX_VIA; Index++ )
3672   {
3673     if ( GRAAL_BIGVIA_NAME_TABLE[ Index ][ 0 ] != (char *)NULL )
3674     {
3675       Button = &GraalModifyBigViaButton[ Index ];
3676 
3677       Button->LABEL      = GRAAL_BIGVIA_NAME_TABLE[ Index ][ 0 ];
3678       Button->FOREGROUND = GRAAL_BIGVIA_NAME_TABLE[ Index ][ 1 ];
3679       Button->BACKGROUND = GRAAL_BIGVIA_NAME_TABLE[ Index ][ 2 ];
3680 
3681       Button->Y        = Y1;
3682       Button->CALLDATA = (XtPointer)Index;
3683 
3684       Y1 = Y1 + 1;
3685     }
3686   }
3687 
3688   for ( Index = 0; Index < 3; Index++ )
3689   {
3690     GraalModifyBigViaButton[ MBK_MAX_VIA + Index ].Y = Y1;
3691     Y1 = Y1 + 1;
3692   }
3693 
3694   GraalModifyBigViaPanel.ROW = Y1;
3695   GraalModifyBigViaDefaultValues[ 3 ] = Y1 * 25;
3696 
3697   X1 = 0;
3698   Y1 = 0;
3699 
3700   for ( Index = 0; Index < MBK_MAX_LAYER; Index++ )
3701   {
3702     if ( GRAAL_TRANSISTOR_NAME_TABLE[ Index ][ 0 ] != (char *)NULL )
3703     {
3704       Button = &GraalModifyTransistorButton[ Index ];
3705 
3706       Button->LABEL      = GRAAL_TRANSISTOR_NAME_TABLE[ Index ][ 0 ];
3707       Button->FOREGROUND = GRAAL_TRANSISTOR_NAME_TABLE[ Index ][ 1 ];
3708       Button->BACKGROUND = GRAAL_TRANSISTOR_NAME_TABLE[ Index ][ 2 ];
3709 
3710 
3711       Button->X        = X1;
3712       Button->Y        = Y1;
3713       Button->CALLDATA = (XtPointer)Index;
3714 
3715       if ( X1 == 1 )
3716       {
3717         X1 = 0; Y1 = Y1 + 1;
3718       }
3719       else
3720       {
3721         X1 = X1 + 1;
3722       }
3723     }
3724   }
3725 
3726   if ( X1 == 1 ) Y1 = Y1 + 1;
3727 
3728   for ( Index = 0; Index < 4; Index++ )
3729   {
3730     GraalModifyTransistorButton[ MBK_MAX_LAYER + Index ].Y = Y1;
3731     Y1 = Y1 + 1;
3732   }
3733 
3734   GraalModifyTransistorPanel.ROW = Y1;
3735   GraalModifyTransistorDefaultValues[ 3 ] = Y1 * 25;
3736 
3737   X1 = 0;
3738   Y1 = 0;
3739 
3740   for ( Index = 0; Index < MBK_MAX_LAYER; Index++ )
3741   {
3742     if ( GRAAL_CONNECTOR_NAME_TABLE[ Index ][ 0 ] != (char *)NULL )
3743     {
3744       Button = &GraalModifyConnectorButton[ Index ];
3745 
3746       Button->LABEL      = GRAAL_CONNECTOR_NAME_TABLE[ Index ][ 0 ];
3747       Button->FOREGROUND = GRAAL_CONNECTOR_NAME_TABLE[ Index ][ 1 ];
3748       Button->BACKGROUND = GRAAL_CONNECTOR_NAME_TABLE[ Index ][ 2 ];
3749 
3750       Button->X        = X1;
3751       Button->Y        = Y1;
3752       Button->CALLDATA = (XtPointer)Index;
3753 
3754       if ( X1 == 1 )
3755       {
3756         X1 = 0; Y1 = Y1 + 1;
3757       }
3758       else
3759       {
3760         X1 = X1 + 1;
3761       }
3762     }
3763   }
3764 
3765   if ( X1 == 1 )
3766   {
3767     Y1 = Y1 + 1; X1 = 0;
3768   }
3769 
3770   GraalModifyConnectorButton[ MBK_MAX_LAYER ].Y = Y1;
3771 
3772   Y1 = Y1 + 1;
3773 
3774   for ( Index = 0; Index < MBK_MAX_ORIENT; Index++ )
3775   {
3776     if ( GRAAL_ORIENT_NAME_TABLE[ Index ][ 0 ] != (char *)NULL )
3777     {
3778       Button = &GraalModifyConnectorButton[ Index + MBK_MAX_LAYER + 1 ];
3779 
3780       Button->LABEL      = GRAAL_ORIENT_NAME_TABLE[ Index ][ 0 ];
3781       Button->FOREGROUND = GRAAL_ORIENT_NAME_TABLE[ Index ][ 1 ];
3782       Button->BACKGROUND = GRAAL_ORIENT_NAME_TABLE[ Index ][ 2 ];
3783 
3784       Button->Y        = Y1;
3785       Button->CALLDATA = (XtPointer)Index;
3786 
3787       Y1 = Y1 + 1;
3788     }
3789   }
3790 
3791   for ( Index = 0; Index < 3; Index++ )
3792   {
3793     GraalModifyConnectorButton[ MBK_MAX_LAYER  +
3794                                 MBK_MAX_ORIENT + Index + 1 ].Y = Y1;
3795     Y1 = Y1 + 1;
3796   }
3797 
3798   GraalModifyConnectorPanel.ROW = Y1;
3799   GraalModifyConnectorDefaultValues[ 3 ] = Y1 * 25;
3800 
3801   Y1 = 0;
3802 
3803   for ( Index = 0; Index < MBK_MAX_REFERENCE; Index++ )
3804   {
3805     if ( GRAAL_REFERENCE_NAME_TABLE[ Index ][ 0 ] != (char *)NULL )
3806     {
3807       Button = &GraalModifyReferenceButton[ Index ];
3808 
3809       Button->LABEL      = GRAAL_REFERENCE_NAME_TABLE[ Index ][ 0 ];
3810       Button->FOREGROUND = GRAAL_REFERENCE_NAME_TABLE[ Index ][ 1 ];
3811       Button->BACKGROUND = GRAAL_REFERENCE_NAME_TABLE[ Index ][ 2 ];
3812 
3813       Button->Y        = Y1;
3814       Button->CALLDATA = (XtPointer)Index;
3815 
3816       Y1 = Y1 + 1;
3817     }
3818   }
3819 
3820   for ( Index = 0; Index < 3; Index++ )
3821   {
3822     GraalModifyReferenceButton[ MBK_MAX_REFERENCE + Index ].Y = Y1;
3823     Y1 = Y1 + 1;
3824   }
3825 
3826   GraalModifyReferencePanel.ROW = Y1;
3827   GraalModifyReferenceDefaultValues[ 3 ] = Y1 * 25;
3828 
3829   Y1 = 0;
3830 
3831   for ( Index = 0; Index < MBK_MAX_SYMMETRY; Index++ )
3832   {
3833     if ( GRAAL_SYMMETRY_NAME_TABLE[ Index ][ 0 ] != (char *)NULL )
3834     {
3835       Button = &GraalModifyInstanceButton[ Index ];
3836 
3837       Button->LABEL      = GRAAL_SYMMETRY_NAME_TABLE[ Index ][ 0 ];
3838       Button->FOREGROUND = GRAAL_SYMMETRY_NAME_TABLE[ Index ][ 1 ];
3839       Button->BACKGROUND = GRAAL_SYMMETRY_NAME_TABLE[ Index ][ 2 ];
3840 
3841       Button->Y        = Y1;
3842       Button->CALLDATA = (XtPointer)Index;
3843 
3844       Y1 = Y1 + 1;
3845     }
3846   }
3847 
3848   for ( Index = 0; Index < 4; Index++ )
3849   {
3850     GraalModifyInstanceButton[ MBK_MAX_SYMMETRY + Index ].Y = Y1;
3851     Y1 = Y1 + 1;
3852   }
3853 
3854   GraalModifyInstancePanel.ROW = Y1;
3855   GraalModifyInstanceDefaultValues[ 3 ] = Y1 * 25;
3856 }
3857 
3858 /*------------------------------------------------------------\
3859 |                                                             |
3860 |                    Callback For Global Edit                 |
3861 |                                                             |
3862 \------------------------------------------------------------*/
3863 /*------------------------------------------------------------\
3864 |                                                             |
3865 |                    CallbackEditGlobalUndo                   |
3866 |                                                             |
3867 \------------------------------------------------------------*/
3868 
CallbackEditGlobalUndo(MyWidget,ClientData,CallData)3869 void CallbackEditGlobalUndo( MyWidget, ClientData, CallData )
3870 
3871      Widget  MyWidget;
3872      caddr_t ClientData;
3873      caddr_t CallData;
3874 {
3875   rdsbegin();
3876 
3877   GraalEditUndo();
3878 
3879   rdsend();
3880 }
3881 
3882 /*------------------------------------------------------------\
3883 |                                                             |
3884 |                    CallbackEditGlobalRedo                   |
3885 |                                                             |
3886 \------------------------------------------------------------*/
3887 
CallbackEditGlobalRedo(MyWidget,ClientData,CallData)3888 void CallbackEditGlobalRedo( MyWidget, ClientData, CallData )
3889 
3890      Widget  MyWidget;
3891      caddr_t ClientData;
3892      caddr_t CallData;
3893 {
3894   rdsbegin();
3895 
3896   GraalEditRedo();
3897 
3898   rdsend();
3899 }
3900 
3901 /*------------------------------------------------------------\
3902 |                                                             |
3903 |                    CallbackEditGlobalCopy                   |
3904 |                                                             |
3905 \------------------------------------------------------------*/
3906 
CallbackEditGlobalCopy(MyWidget,ClientData,CallData)3907 void CallbackEditGlobalCopy( MyWidget, ClientData, CallData )
3908 
3909      Widget  MyWidget;
3910      caddr_t ClientData;
3911      caddr_t CallData;
3912 {
3913   rdsbegin();
3914 
3915   if ( ClientData )
3916   {
3917     GraalChangeEditMode( GRAAL_SELECT_WINDOW_COPY,
3918                          GraalPromptSelectWindowCopy );
3919   }
3920   else
3921   {
3922     GraalChangeEditMode( GRAAL_SELECT_POINT_COPY,
3923                          GraalPromptSelectPointCopy );
3924   }
3925 
3926   rdsend();
3927 }
3928 
3929 /*------------------------------------------------------------\
3930 |                                                             |
3931 |                    CallbackEditGlobalMove                   |
3932 |                                                             |
3933 \------------------------------------------------------------*/
3934 
CallbackEditGlobalMove(MyWidget,ClientData,CallData)3935 void CallbackEditGlobalMove( MyWidget, ClientData, CallData )
3936 
3937      Widget  MyWidget;
3938      caddr_t ClientData;
3939      caddr_t CallData;
3940 {
3941   rdsbegin();
3942 
3943   if ( ClientData )
3944   {
3945     GraalChangeEditMode( GRAAL_SELECT_WINDOW_MOVE,
3946                          GraalPromptSelectWindowMove );
3947   }
3948   else
3949   {
3950     GraalChangeEditMode( GRAAL_SELECT_POINT_MOVE,
3951                          GraalPromptSelectPointMove );
3952   }
3953 
3954   rdsend();
3955 }
3956 /*------------------------------------------------------------\
3957 |                                                             |
3958 |                    CallbackEditGlobalDelete                 |
3959 |                                                             |
3960 \------------------------------------------------------------*/
3961 
CallbackEditGlobalDelete(MyWidget,ClientData,CallData)3962 void CallbackEditGlobalDelete( MyWidget, ClientData, CallData )
3963 
3964      Widget  MyWidget;
3965      caddr_t ClientData;
3966      caddr_t CallData;
3967 {
3968   rdsbegin();
3969 
3970   if ( ClientData )
3971   {
3972     GraalChangeEditMode( GRAAL_SELECT_WINDOW_DELETE,
3973                          GraalPromptSelectWindowDelete );
3974   }
3975   else
3976   {
3977     GraalChangeEditMode( GRAAL_SELECT_POINT_DELETE,
3978                          GraalPromptSelectPointDelete );
3979   }
3980 
3981   rdsend();
3982 }
3983 
3984 /*------------------------------------------------------------\
3985 |                                                             |
3986 |                  CallbackEditGlobalStretch                  |
3987 |                                                             |
3988 \------------------------------------------------------------*/
3989 
CallbackEditGlobalStretch(MyWidget,ClientData,CallData)3990 void CallbackEditGlobalStretch( MyWidget, ClientData, CallData )
3991 
3992      Widget  MyWidget;
3993      caddr_t ClientData;
3994      caddr_t CallData;
3995 {
3996   rdsbegin();
3997 
3998   if ( ClientData )
3999   {
4000     GraalChangeEditMode( GRAAL_SELECT_WINDOW_STRETCH,
4001                          GraalPromptSelectWindowStretch );
4002   }
4003   else
4004   {
4005     GraalChangeEditMode( GRAAL_SELECT_POINT_STRETCH,
4006                          GraalPromptSelectPointStretch );
4007   }
4008 
4009   rdsend();
4010 }
4011 
4012 /*------------------------------------------------------------\
4013 |                                                             |
4014 |                  CallbackEditGlobalModify                   |
4015 |                                                             |
4016 \------------------------------------------------------------*/
4017 
CallbackEditGlobalModify(MyWidget,ClientData,CallData)4018 void CallbackEditGlobalModify( MyWidget, ClientData, CallData )
4019 
4020      Widget  MyWidget;
4021      caddr_t ClientData;
4022      caddr_t CallData;
4023 {
4024   rdsbegin();
4025 
4026   if ( ClientData )
4027   {
4028     GraalChangeEditMode( GRAAL_SELECT_WINDOW_MODIFY,
4029                          GraalPromptSelectWindowModify );
4030   }
4031   else
4032   {
4033     GraalChangeEditMode( GRAAL_SELECT_POINT_MODIFY,
4034                          GraalPromptSelectPointModify );
4035   }
4036 
4037   rdsend();
4038 }
4039 
4040 /*------------------------------------------------------------\
4041 |                                                             |
4042 |                  CallbackEditGlobalIdentify                 |
4043 |                                                             |
4044 \------------------------------------------------------------*/
4045 
CallbackEditGlobalIdentify(MyWidget,ClientData,CallData)4046 void CallbackEditGlobalIdentify( MyWidget, ClientData, CallData )
4047 
4048      Widget  MyWidget;
4049      caddr_t ClientData;
4050      caddr_t CallData;
4051 {
4052   rdsbegin();
4053 
4054   if ( ClientData )
4055   {
4056     GraalChangeEditMode( GRAAL_SELECT_WINDOW_IDENTIFY,
4057                          GraalPromptSelectWindowIdentify );
4058   }
4059   else
4060   {
4061     GraalChangeEditMode( GRAAL_SELECT_POINT_IDENTIFY,
4062                          GraalPromptSelectPointIdentify );
4063   }
4064 
4065   rdsend();
4066 }
4067 
4068 /*------------------------------------------------------------\
4069 |                                                             |
4070 |                    CallbackEditCloseGlobal                  |
4071 |                                                             |
4072 \------------------------------------------------------------*/
4073 
CallbackEditCloseGlobal(MyWidget,ClientData,CallData)4074 void CallbackEditCloseGlobal( MyWidget, ClientData, CallData )
4075 
4076      Widget  MyWidget;
4077      caddr_t ClientData;
4078      caddr_t CallData;
4079 {
4080   rdsbegin();
4081 
4082   if ( ClientData )
4083   {
4084     GraalExitPanel( &GraalWindowGlobalPanel );
4085   }
4086   else
4087   {
4088     GraalExitPanel( &GraalEditGlobalPanel );
4089   }
4090 
4091   rdsend();
4092 }
4093 
4094 /*------------------------------------------------------------\
4095 |                                                             |
4096 |                       Callback For Search                   |
4097 |                                                             |
4098 \------------------------------------------------------------*/
4099 /*------------------------------------------------------------\
4100 |                                                             |
4101 |                    CallbackEditSearchConnector              |
4102 |                                                             |
4103 \------------------------------------------------------------*/
4104 
CallbackEditSearchConnector(MyWidget,ClientData,CallData)4105 void CallbackEditSearchConnector( MyWidget, ClientData, CallData )
4106 
4107      Widget  MyWidget;
4108      caddr_t ClientData;
4109      caddr_t CallData;
4110 {
4111   rdsbegin();
4112 
4113   GraalEnterDialog( &GraalSearchConnectorDialog );
4114 
4115   rdsend();
4116 }
4117 
4118 /*------------------------------------------------------------\
4119 |                                                             |
4120 |                    CallbackEditSearchInstance               |
4121 |                                                             |
4122 \------------------------------------------------------------*/
4123 
CallbackEditSearchInstance(MyWidget,ClientData,CallData)4124 void CallbackEditSearchInstance( MyWidget, ClientData, CallData )
4125 
4126      Widget  MyWidget;
4127      caddr_t ClientData;
4128      caddr_t CallData;
4129 {
4130   rdsbegin();
4131 
4132   GraalEnterDialog( &GraalSearchInstanceDialog );
4133 
4134   rdsend();
4135 }
4136 
4137 /*------------------------------------------------------------\
4138 |                                                             |
4139 |                    CallbackEditSearchReference              |
4140 |                                                             |
4141 \------------------------------------------------------------*/
4142 
CallbackEditSearchReference(MyWidget,ClientData,CallData)4143 void CallbackEditSearchReference( MyWidget, ClientData, CallData )
4144 
4145      Widget  MyWidget;
4146      caddr_t ClientData;
4147      caddr_t CallData;
4148 {
4149   rdsbegin();
4150 
4151   GraalEnterDialog( &GraalSearchReferenceDialog );
4152 
4153   rdsend();
4154 }
4155 
4156 /*------------------------------------------------------------\
4157 |                                                             |
4158 |                    CallbackEditSearchSegment                |
4159 |                                                             |
4160 \------------------------------------------------------------*/
4161 
CallbackEditSearchSegment(MyWidget,ClientData,CallData)4162 void CallbackEditSearchSegment( MyWidget, ClientData, CallData )
4163 
4164      Widget  MyWidget;
4165      caddr_t ClientData;
4166      caddr_t CallData;
4167 {
4168   rdsbegin();
4169 
4170   GraalEnterDialog( &GraalSearchSegmentDialog );
4171 
4172   rdsend();
4173 }
4174 
4175 /*------------------------------------------------------------\
4176 |                                                             |
4177 |                    CallbackEditSearchVia                    |
4178 |                                                             |
4179 \------------------------------------------------------------*/
4180 
CallbackEditSearchVia(MyWidget,ClientData,CallData)4181 void CallbackEditSearchVia( MyWidget, ClientData, CallData )
4182 
4183      Widget  MyWidget;
4184      caddr_t ClientData;
4185      caddr_t CallData;
4186 {
4187   rdsbegin();
4188 
4189   GraalEnterDialog( &GraalSearchViaDialog );
4190 
4191   rdsend();
4192 }
4193 
4194 
4195 /*------------------------------------------------------------\
4196 |                                                             |
4197 |                    CallbackEditCloseSearch                  |
4198 |                                                             |
4199 \------------------------------------------------------------*/
4200 
CallbackEditCloseSearch(MyWidget,ClientData,CallData)4201 void CallbackEditCloseSearch( MyWidget, ClientData, CallData )
4202 
4203      Widget  MyWidget;
4204      caddr_t ClientData;
4205      caddr_t CallData;
4206 {
4207   rdsbegin();
4208 
4209   GraalExitPanel( &GraalEditSearchPanel );
4210 
4211   rdsend();
4212 }
4213 
4214 /*------------------------------------------------------------\
4215 |                                                             |
4216 |                    Callback For View Search                 |
4217 |                                                             |
4218 \------------------------------------------------------------*/
4219 /*------------------------------------------------------------\
4220 |                                                             |
4221 |                  CallbackEditSearchViewContinue             |
4222 |                                                             |
4223 \------------------------------------------------------------*/
4224 
CallbackEditSearchViewContinue(MyWidget,ClientData,CallData)4225 void CallbackEditSearchViewContinue( MyWidget, ClientData, CallData )
4226 
4227      Widget  MyWidget;
4228      caddr_t ClientData;
4229      caddr_t CallData;
4230 {
4231   rdsbegin();
4232 
4233   GraalExitDialog();
4234 
4235   rdsend();
4236 }
4237 
4238 /*------------------------------------------------------------\
4239 |                                                             |
4240 |                  CallbackEditSearchViewAbort                |
4241 |                                                             |
4242 \------------------------------------------------------------*/
4243 
CallbackEditSearchViewAbort(MyWidget,ClientData,CallData)4244 void CallbackEditSearchViewAbort( MyWidget, ClientData, CallData )
4245 
4246      Widget  MyWidget;
4247      caddr_t ClientData;
4248      caddr_t CallData;
4249 {
4250   rdsbegin();
4251 
4252   GraalSearchAbort = GRAAL_TRUE;
4253 
4254   GraalExitDialog();
4255 
4256   rdsbegin();
4257 }
4258 
4259 /*------------------------------------------------------------\
4260 |                                                             |
4261 |                     Callback For Identify                   |
4262 |                                                             |
4263 \------------------------------------------------------------*/
4264 /*------------------------------------------------------------\
4265 |                                                             |
4266 |                    CallbackEditCloseIdentify                |
4267 |                                                             |
4268 \------------------------------------------------------------*/
4269 
CallbackEditCloseIdentify(MyWidget,ClientData,CallData)4270 void CallbackEditCloseIdentify(  MyWidget, ClientData, CallData )
4271 
4272      Widget  MyWidget;
4273      caddr_t ClientData;
4274      caddr_t CallData;
4275 {
4276   rdsbegin();
4277 
4278   GraalExitPanel( &GraalEditIdentifyPanel );
4279 
4280   GraalExitDialog();
4281 
4282   rdsend();
4283 }
4284 
4285 /*------------------------------------------------------------\
4286 |                                                             |
4287 |                    GraalDisplayIdentifyMessage              |
4288 |                                                             |
4289 \------------------------------------------------------------*/
4290 
GraalDisplayIdentifyMessage(Message)4291 void GraalDisplayIdentifyMessage( Message )
4292 
4293   char *Message;
4294 {
4295   rdsbegin();
4296 
4297   XmTextSetString( GraalEditIdentifyButton[0].BUTTON, Message );
4298 
4299   rdsend();
4300 }
4301 
4302 /*------------------------------------------------------------\
4303 |                                                             |
4304 |                     Callback For Select                     |
4305 |                                                             |
4306 \------------------------------------------------------------*/
4307 /*------------------------------------------------------------\
4308 |                                                             |
4309 |                    CallbackEditSelectList                   |
4310 |                                                             |
4311 \------------------------------------------------------------*/
4312 
CallbackEditSelectList(MyWidget,ClientData,CallData)4313 void CallbackEditSelectList(  MyWidget, ClientData, CallData )
4314 
4315      Widget                MyWidget;
4316      caddr_t               ClientData;
4317      XmListCallbackStruct *CallData;
4318 {
4319   rdsbegin();
4320 
4321   if ( ClientData == (caddr_t)NULL )
4322   {
4323     CallbackEditSelectAccept( MyWidget, (caddr_t)NULL, (caddr_t)NULL );
4324   }
4325   else
4326   {
4327     GraalEditSelectRectangle( CallData->item_position - 1 );
4328   }
4329 
4330   rdsend();
4331 }
4332 
4333 /*------------------------------------------------------------\
4334 |                                                             |
4335 |                    CallbackEditSelectAccept                 |
4336 |                                                             |
4337 \------------------------------------------------------------*/
4338 
CallbackEditSelectAccept(MyWidget,ClientData,CallData)4339 void CallbackEditSelectAccept(  MyWidget, ClientData, CallData )
4340 
4341      Widget  MyWidget;
4342      caddr_t ClientData;
4343      caddr_t CallData;
4344 {
4345   rdsbegin();
4346 
4347   GraalExitPanel( &GraalEditSelectPanel );
4348 
4349   GraalExitDialog();
4350 
4351   GraalEditSelectAccept();
4352 
4353   rdsend();
4354 }
4355 
4356 /*------------------------------------------------------------\
4357 |                                                             |
4358 |                    CallbackEditSelectCancel                 |
4359 |                                                             |
4360 \------------------------------------------------------------*/
4361 
CallbackEditSelectCancel(MyWidget,ClientData,CallData)4362 void CallbackEditSelectCancel(  MyWidget, ClientData, CallData )
4363 
4364      Widget  MyWidget;
4365      caddr_t ClientData;
4366      caddr_t CallData;
4367 {
4368   rdsbegin();
4369 
4370   GraalExitPanel( &GraalEditSelectPanel );
4371 
4372   GraalExitDialog();
4373 
4374   GraalEditSelectCancel();
4375 
4376   rdsend();
4377 }
4378 
4379 /*------------------------------------------------------------\
4380 |                                                             |
4381 |                  GraalDisplaySelectList                     |
4382 |                                                             |
4383 \------------------------------------------------------------*/
4384 
GraalDisplaySelectList(Message)4385 void GraalDisplaySelectList( Message )
4386 
4387   char *Message;
4388 {
4389   XmString     Label;
4390 
4391   rdsbegin();
4392 
4393   if ( Message == (char *)NULL )
4394   {
4395     XmListDeleteAllItems( GraalEditSelectButton[ 0 ].BUTTON );
4396   }
4397   else
4398   {
4399     Label = XmStringCreateSimple( Message );
4400     XmListAddItem( GraalEditSelectButton[ 0 ].BUTTON , Label , 0 );
4401     XmStringFree( Label );
4402   }
4403 
4404   rdsend();
4405 }
4406 
4407 /*------------------------------------------------------------\
4408 |                                                             |
4409 |                    Callback For Modify Segment              |
4410 |                                                             |
4411 \------------------------------------------------------------*/
4412 /*------------------------------------------------------------\
4413 |                                                             |
4414 |                    CallbackModifySegmentLayer               |
4415 |                                                             |
4416 \------------------------------------------------------------*/
4417 
CallbackModifySegmentLayer(MyWidget,ClientData,CallData)4418 void CallbackModifySegmentLayer( MyWidget, ClientData, CallData )
4419 
4420      Widget  MyWidget;
4421      caddr_t ClientData;
4422      caddr_t CallData;
4423 {
4424   float MinWidth;
4425   int   NewLayer;
4426 
4427   rdsbegin();
4428 
4429   NewLayer = (long)ClientData;
4430 
4431   if ( ( GraalSegmentMName == (char *)0 ) &&
4432        ( ( NewLayer >= CALU1          ) &&
4433          ( NewLayer <= CALU9          ) ) )
4434   {
4435     NewLayer = GraalSegmentMLayer;
4436     GraalErrorMessage( GraalMainWindow, "Connector must have name !" );
4437   }
4438 
4439   GraalSegmentMLayer = NewLayer;
4440   MinWidth           = GRAAL_SEGMENT_VALUE_TABLE[ (int)GraalSegmentMLayer ][0];
4441 
4442   if ( GraalSegmentMWidth < MinWidth ) GraalSegmentMWidth = MinWidth;
4443 
4444   GraalPromptModifySegment();
4445 
4446   rdsend();
4447 }
4448 
4449 /*------------------------------------------------------------\
4450 |                                                             |
4451 |                    CallbackModifySegmentWidth               |
4452 |                                                             |
4453 \------------------------------------------------------------*/
4454 
CallbackModifySegmentWidth(MyWidget,ClientData,CallData)4455 void CallbackModifySegmentWidth( MyWidget, ClientData, CallData )
4456 
4457      Widget  MyWidget;
4458      caddr_t ClientData;
4459      caddr_t CallData;
4460 {
4461   rdsbegin();
4462 
4463   GraalEnterDialog( &GraalModifySegmentWidthDialog );
4464 
4465   rdsend();
4466 }
4467 
4468 /*------------------------------------------------------------\
4469 |                                                             |
4470 |                    CallbackModifySegmentName                |
4471 |                                                             |
4472 \------------------------------------------------------------*/
4473 
CallbackModifySegmentName(MyWidget,ClientData,CallData)4474 void CallbackModifySegmentName( MyWidget, ClientData, CallData )
4475 
4476      Widget  MyWidget;
4477      caddr_t ClientData;
4478      caddr_t CallData;
4479 {
4480   rdsbegin();
4481 
4482   GraalEnterDialog( &GraalModifySegmentNameDialog );
4483 
4484   rdsend();
4485 }
4486 
4487 /*------------------------------------------------------------\
4488 |                                                             |
4489 |                    CallbackModifySegmentApply               |
4490 |                                                             |
4491 \------------------------------------------------------------*/
4492 
CallbackModifySegmentApply(MyWidget,ClientData,CallData)4493 void CallbackModifySegmentApply( MyWidget, ClientData, CallData )
4494 
4495      Widget  MyWidget;
4496      caddr_t ClientData;
4497      caddr_t CallData;
4498 {
4499   rdsbegin();
4500 
4501   GraalModifyLock   = GRAAL_FALSE;
4502   GraalModifyAbort  = GRAAL_FALSE;
4503   GraalModifyApply  = GRAAL_TRUE;
4504 
4505   GraalExitDialog();
4506 
4507   rdsend();
4508 }
4509 
4510 /*------------------------------------------------------------\
4511 |                                                             |
4512 |                    CallbackModifySegmentCancel              |
4513 |                                                             |
4514 \------------------------------------------------------------*/
4515 
CallbackModifySegmentCancel(MyWidget,ClientData,CallData)4516 void CallbackModifySegmentCancel( MyWidget, ClientData, CallData )
4517 
4518      Widget  MyWidget;
4519      caddr_t ClientData;
4520      caddr_t CallData;
4521 {
4522   rdsbegin();
4523 
4524   GraalModifyLock   = GRAAL_FALSE;
4525   GraalModifyAbort  = GRAAL_TRUE;
4526   GraalModifyApply  = GRAAL_FALSE;
4527 
4528   GraalExitDialog();
4529 
4530   rdsend();
4531 }
4532 
4533 /*------------------------------------------------------------\
4534 |                                                             |
4535 |                 Callback For Modify Transistor              |
4536 |                                                             |
4537 \------------------------------------------------------------*/
4538 /*------------------------------------------------------------\
4539 |                                                             |
4540 |                   CallbackModifyTransistorType              |
4541 |                                                             |
4542 \------------------------------------------------------------*/
4543 
CallbackModifyTransistorType(MyWidget,ClientData,CallData)4544 void CallbackModifyTransistorType( MyWidget, ClientData, CallData )
4545 
4546      Widget  MyWidget;
4547      caddr_t ClientData;
4548      caddr_t CallData;
4549 {
4550   float MinWidth;
4551 
4552   rdsbegin();
4553 
4554   GraalTransistorMType  = (long)ClientData;
4555   MinWidth              = GRAAL_SEGMENT_VALUE_TABLE[ (int)GraalTransistorMType ][0];
4556 
4557   if ( GraalTransistorMWidth < MinWidth ) GraalTransistorMWidth = MinWidth;
4558 
4559   GraalPromptModifyTransistor();
4560 
4561   rdsend();
4562 }
4563 
4564 /*------------------------------------------------------------\
4565 |                                                             |
4566 |                  CallbackModifyTransistorWidth              |
4567 |                                                             |
4568 \------------------------------------------------------------*/
4569 
CallbackModifyTransistorWidth(MyWidget,ClientData,CallData)4570 void CallbackModifyTransistorWidth( MyWidget, ClientData, CallData )
4571 
4572      Widget  MyWidget;
4573      caddr_t ClientData;
4574      caddr_t CallData;
4575 {
4576   rdsbegin();
4577 
4578   GraalEnterDialog( &GraalModifyTransistorWidthDialog );
4579 
4580   rdsend();
4581 }
4582 
4583 /*------------------------------------------------------------\
4584 |                                                             |
4585 |                    CallbackModifyTransistorName             |
4586 |                                                             |
4587 \------------------------------------------------------------*/
4588 
CallbackModifyTransistorName(MyWidget,ClientData,CallData)4589 void CallbackModifyTransistorName( MyWidget, ClientData, CallData )
4590 
4591      Widget  MyWidget;
4592      caddr_t ClientData;
4593      caddr_t CallData;
4594 {
4595   rdsbegin();
4596 
4597   GraalEnterDialog( &GraalModifyTransistorNameDialog );
4598 
4599   rdsend();
4600 }
4601 
4602 /*------------------------------------------------------------\
4603 |                                                             |
4604 |                   CallbackModifyTransistorApply             |
4605 |                                                             |
4606 \------------------------------------------------------------*/
4607 
CallbackModifyTransistorApply(MyWidget,ClientData,CallData)4608 void CallbackModifyTransistorApply( MyWidget, ClientData, CallData )
4609 
4610      Widget  MyWidget;
4611      caddr_t ClientData;
4612      caddr_t CallData;
4613 {
4614   rdsbegin();
4615 
4616   GraalModifyLock   = GRAAL_FALSE;
4617   GraalModifyAbort  = GRAAL_FALSE;
4618   GraalModifyApply  = GRAAL_TRUE;
4619 
4620   GraalExitDialog();
4621 
4622   rdsend();
4623 }
4624 
4625 /*------------------------------------------------------------\
4626 |                                                             |
4627 |                  CallbackModifyTransistorCancel             |
4628 |                                                             |
4629 \------------------------------------------------------------*/
4630 
CallbackModifyTransistorCancel(MyWidget,ClientData,CallData)4631 void CallbackModifyTransistorCancel( MyWidget, ClientData, CallData )
4632 
4633      Widget  MyWidget;
4634      caddr_t ClientData;
4635      caddr_t CallData;
4636 {
4637   rdsbegin();
4638 
4639   GraalModifyLock   = GRAAL_FALSE;
4640   GraalModifyAbort  = GRAAL_TRUE;
4641   GraalModifyApply  = GRAAL_FALSE;
4642 
4643   GraalExitDialog();
4644 
4645   rdsend();
4646 }
4647 
4648 /*------------------------------------------------------------\
4649 |                                                             |
4650 |                   Callback For Modify Connector             |
4651 |                                                             |
4652 \------------------------------------------------------------*/
4653 /*------------------------------------------------------------\
4654 |                                                             |
4655 |                    CallbackModifyConnectorLayer             |
4656 |                                                             |
4657 \------------------------------------------------------------*/
4658 
CallbackModifyConnectorLayer(MyWidget,ClientData,CallData)4659 void CallbackModifyConnectorLayer( MyWidget, ClientData, CallData )
4660 
4661      Widget  MyWidget;
4662      caddr_t ClientData;
4663      caddr_t CallData;
4664 {
4665   float MinWidth;
4666 
4667   rdsbegin();
4668 
4669   GraalConnectorMLayer = (long)ClientData;
4670   MinWidth             = GRAAL_SEGMENT_VALUE_TABLE[ (int)GraalConnectorMLayer ][0];
4671 
4672   if ( GraalConnectorMWidth < MinWidth ) GraalConnectorMWidth = MinWidth;
4673 
4674   GraalPromptModifyConnector();
4675 
4676   rdsend();
4677 }
4678 
4679 /*------------------------------------------------------------\
4680 |                                                             |
4681 |                    CallbackModifyConnectorOrient            |
4682 |                                                             |
4683 \------------------------------------------------------------*/
4684 
CallbackModifyConnectorOrient(MyWidget,ClientData,CallData)4685 void CallbackModifyConnectorOrient( MyWidget, ClientData, CallData )
4686 
4687      Widget  MyWidget;
4688      caddr_t ClientData;
4689      caddr_t CallData;
4690 {
4691   rdsbegin();
4692 
4693   GraalConnectorMOrient = (long)ClientData;
4694 
4695   GraalPromptModifyConnector();
4696 
4697   rdsend();
4698 }
4699 
4700 /*------------------------------------------------------------\
4701 |                                                             |
4702 |                    CallbackModifyConnectorName              |
4703 |                                                             |
4704 \------------------------------------------------------------*/
4705 
CallbackModifyConnectorName(MyWidget,ClientData,CallData)4706 void CallbackModifyConnectorName( MyWidget, ClientData, CallData )
4707 
4708      Widget  MyWidget;
4709      caddr_t ClientData;
4710      caddr_t CallData;
4711 {
4712   rdsbegin();
4713 
4714   GraalEnterDialog( &GraalModifyConnectorNameDialog );
4715 
4716   rdsend();
4717 }
4718 
4719 /*------------------------------------------------------------\
4720 |                                                             |
4721 |                  CallbackModifyConnectorWidth               |
4722 |                                                             |
4723 \------------------------------------------------------------*/
4724 
CallbackModifyConnectorWidth(MyWidget,ClientData,CallData)4725 void CallbackModifyConnectorWidth( MyWidget, ClientData, CallData )
4726 
4727      Widget  MyWidget;
4728      caddr_t ClientData;
4729      caddr_t CallData;
4730 {
4731   rdsbegin();
4732 
4733   GraalEnterDialog( &GraalModifyConnectorWidthDialog );
4734 
4735   rdsend();
4736 }
4737 
4738 /*------------------------------------------------------------\
4739 |                                                             |
4740 |                  CallbackModifyConnectorApply               |
4741 |                                                             |
4742 \------------------------------------------------------------*/
4743 
CallbackModifyConnectorApply(MyWidget,ClientData,CallData)4744 void CallbackModifyConnectorApply( MyWidget, ClientData, CallData )
4745 
4746      Widget  MyWidget;
4747      caddr_t ClientData;
4748      caddr_t CallData;
4749 {
4750   rdsbegin();
4751 
4752   GraalModifyLock   = GRAAL_FALSE;
4753   GraalModifyAbort  = GRAAL_FALSE;
4754   GraalModifyApply  = GRAAL_TRUE;
4755 
4756   GraalExitDialog();
4757 
4758   rdsend();
4759 }
4760 
4761 /*------------------------------------------------------------\
4762 |                                                             |
4763 |                  CallbackModifyConnectorCancel              |
4764 |                                                             |
4765 \------------------------------------------------------------*/
4766 
CallbackModifyConnectorCancel(MyWidget,ClientData,CallData)4767 void CallbackModifyConnectorCancel( MyWidget, ClientData, CallData )
4768 
4769      Widget  MyWidget;
4770      caddr_t ClientData;
4771      caddr_t CallData;
4772 {
4773   rdsbegin();
4774 
4775   GraalModifyLock   = GRAAL_FALSE;
4776   GraalModifyAbort  = GRAAL_TRUE;
4777   GraalModifyApply  = GRAAL_FALSE;
4778 
4779   GraalExitDialog();
4780 
4781   rdsend();
4782 }
4783 
4784 /*------------------------------------------------------------\
4785 |                                                             |
4786 |                    Callback For Modify Reference            |
4787 |                                                             |
4788 \------------------------------------------------------------*/
4789 /*------------------------------------------------------------\
4790 |                                                             |
4791 |                    CallbackModifyReferenceType              |
4792 |                                                             |
4793 \------------------------------------------------------------*/
4794 
CallbackModifyReferenceType(MyWidget,ClientData,CallData)4795 void CallbackModifyReferenceType( MyWidget, ClientData, CallData )
4796 
4797      Widget  MyWidget;
4798      caddr_t ClientData;
4799      caddr_t CallData;
4800 {
4801   rdsbegin();
4802 
4803   GraalReferenceMType = (long)ClientData;
4804 
4805   GraalPromptModifyReference();
4806 
4807   rdsend();
4808 }
4809 
4810 /*------------------------------------------------------------\
4811 |                                                             |
4812 |                    CallbackModifyReferenceName              |
4813 |                                                             |
4814 \------------------------------------------------------------*/
4815 
CallbackModifyReferenceName(MyWidget,ClientData,CallData)4816 void CallbackModifyReferenceName( MyWidget, ClientData, CallData )
4817 
4818      Widget  MyWidget;
4819      caddr_t ClientData;
4820      caddr_t CallData;
4821 {
4822   rdsbegin();
4823 
4824   GraalEnterDialog( &GraalModifyReferenceNameDialog );
4825 
4826   rdsend();
4827 }
4828 
4829 /*------------------------------------------------------------\
4830 |                                                             |
4831 |                  CallbackModifyReferenceApply               |
4832 |                                                             |
4833 \------------------------------------------------------------*/
4834 
CallbackModifyReferenceApply(MyWidget,ClientData,CallData)4835 void CallbackModifyReferenceApply( MyWidget, ClientData, CallData )
4836 
4837      Widget  MyWidget;
4838      caddr_t ClientData;
4839      caddr_t CallData;
4840 {
4841   rdsbegin();
4842 
4843   GraalModifyLock   = GRAAL_FALSE;
4844   GraalModifyAbort  = GRAAL_FALSE;
4845   GraalModifyApply  = GRAAL_TRUE;
4846 
4847   GraalExitDialog();
4848 
4849   rdsend();
4850 }
4851 
4852 /*------------------------------------------------------------\
4853 |                                                             |
4854 |                  CallbackModifyReferenceCancel              |
4855 |                                                             |
4856 \------------------------------------------------------------*/
4857 
CallbackModifyReferenceCancel(MyWidget,ClientData,CallData)4858 void CallbackModifyReferenceCancel( MyWidget, ClientData, CallData )
4859 
4860      Widget  MyWidget;
4861      caddr_t ClientData;
4862      caddr_t CallData;
4863 {
4864   rdsbegin();
4865 
4866   GraalModifyLock   = GRAAL_FALSE;
4867   GraalModifyAbort  = GRAAL_TRUE;
4868   GraalModifyApply  = GRAAL_FALSE;
4869 
4870   GraalExitDialog();
4871 
4872   rdsend();
4873 }
4874 
4875 /*------------------------------------------------------------\
4876 |                                                             |
4877 |                    Callback For Modify Instance             |
4878 |                                                             |
4879 \------------------------------------------------------------*/
4880 /*------------------------------------------------------------\
4881 |                                                             |
4882 |                     CallbackModifyInstanceSym               |
4883 |                                                             |
4884 \------------------------------------------------------------*/
4885 
CallbackModifyInstanceSym(MyWidget,ClientData,CallData)4886 void CallbackModifyInstanceSym( MyWidget, ClientData, CallData )
4887 
4888      Widget  MyWidget;
4889      caddr_t ClientData;
4890      caddr_t CallData;
4891 {
4892   rdsbegin();
4893 
4894   GraalInstanceMSym = (long)ClientData;
4895 
4896   GraalPromptModifyInstance();
4897 
4898   rdsend();
4899 }
4900 
4901 /*------------------------------------------------------------\
4902 |                                                             |
4903 |                    CallbackModifyInstanceName               |
4904 |                                                             |
4905 \------------------------------------------------------------*/
4906 
CallbackModifyInstanceName(MyWidget,ClientData,CallData)4907 void CallbackModifyInstanceName( MyWidget, ClientData, CallData )
4908 
4909      Widget  MyWidget;
4910      caddr_t ClientData;
4911      caddr_t CallData;
4912 {
4913   rdsbegin();
4914 
4915   GraalEnterDialog( &GraalModifyInstanceNameDialog );
4916 
4917   rdsend();
4918 }
4919 
4920 /*------------------------------------------------------------\
4921 |                                                             |
4922 |                    CallbackModifyInstanceModel              |
4923 |                                                             |
4924 \------------------------------------------------------------*/
4925 
CallbackModifyInstanceModel(MyWidget,ClientData,CallData)4926 void CallbackModifyInstanceModel( MyWidget, ClientData, CallData )
4927 
4928      Widget  MyWidget;
4929      caddr_t ClientData;
4930      caddr_t CallData;
4931 {
4932   rdsbegin();
4933 
4934   GraalEnterDialog( &GraalModifyInstanceModelDialog );
4935 
4936   rdsend();
4937 }
4938 
4939 /*------------------------------------------------------------\
4940 |                                                             |
4941 |                  CallbackModifyInstanceApply                |
4942 |                                                             |
4943 \------------------------------------------------------------*/
4944 
CallbackModifyInstanceApply(MyWidget,ClientData,CallData)4945 void CallbackModifyInstanceApply( MyWidget, ClientData, CallData )
4946 
4947      Widget  MyWidget;
4948      caddr_t ClientData;
4949      caddr_t CallData;
4950 {
4951   rdsbegin();
4952 
4953   GraalModifyLock   = GRAAL_FALSE;
4954   GraalModifyAbort  = GRAAL_FALSE;
4955   GraalModifyApply  = GRAAL_TRUE;
4956 
4957   GraalExitDialog();
4958 
4959   rdsend();
4960 }
4961 
4962 /*------------------------------------------------------------\
4963 |                                                             |
4964 |                   CallbackModifyInstanceCancel              |
4965 |                                                             |
4966 \------------------------------------------------------------*/
4967 
CallbackModifyInstanceCancel(MyWidget,ClientData,CallData)4968 void CallbackModifyInstanceCancel( MyWidget, ClientData, CallData )
4969 
4970      Widget  MyWidget;
4971      caddr_t ClientData;
4972      caddr_t CallData;
4973 {
4974   rdsbegin();
4975 
4976   GraalModifyLock   = GRAAL_FALSE;
4977   GraalModifyAbort  = GRAAL_TRUE;
4978   GraalModifyApply  = GRAAL_FALSE;
4979 
4980   GraalExitDialog();
4981 
4982   rdsend();
4983 }
4984 
4985 /*------------------------------------------------------------\
4986 |                                                             |
4987 |                    Callback For Modify Via                  |
4988 |                                                             |
4989 \------------------------------------------------------------*/
4990 /*------------------------------------------------------------\
4991 |                                                             |
4992 |                      CallbackModifyViaType                  |
4993 |                                                             |
4994 \------------------------------------------------------------*/
4995 
CallbackModifyViaType(MyWidget,ClientData,CallData)4996 void CallbackModifyViaType( MyWidget, ClientData, CallData )
4997 
4998      Widget  MyWidget;
4999      caddr_t ClientData;
5000      caddr_t CallData;
5001 {
5002   rdsbegin();
5003 
5004   GraalViaMType = (long)ClientData;
5005 
5006   GraalPromptModifyVia();
5007 
5008   rdsend();
5009 }
5010 
5011 /*------------------------------------------------------------\
5012 |                                                             |
5013 |                    CallbackModifyViaName                    |
5014 |                                                             |
5015 \------------------------------------------------------------*/
5016 
CallbackModifyViaName(MyWidget,ClientData,CallData)5017 void CallbackModifyViaName( MyWidget, ClientData, CallData )
5018 
5019      Widget  MyWidget;
5020      caddr_t ClientData;
5021      caddr_t CallData;
5022 {
5023   rdsbegin();
5024 
5025   GraalEnterDialog( &GraalModifyViaNameDialog );
5026 
5027   rdsend();
5028 }
5029 
5030 
5031 /*------------------------------------------------------------\
5032 |                                                             |
5033 |                      CallbackModifyViaApply                 |
5034 |                                                             |
5035 \------------------------------------------------------------*/
5036 
CallbackModifyViaApply(MyWidget,ClientData,CallData)5037 void CallbackModifyViaApply( MyWidget, ClientData, CallData )
5038 
5039      Widget  MyWidget;
5040      caddr_t ClientData;
5041      caddr_t CallData;
5042 {
5043   rdsbegin();
5044 
5045   GraalModifyLock   = GRAAL_FALSE;
5046   GraalModifyAbort  = GRAAL_FALSE;
5047   GraalModifyApply  = GRAAL_TRUE;
5048 
5049   GraalExitDialog();
5050 
5051   rdsend();
5052 }
5053 
5054 /*------------------------------------------------------------\
5055 |                                                             |
5056 |                      CallbackModifyViaCancel                |
5057 |                                                             |
5058 \------------------------------------------------------------*/
5059 
CallbackModifyViaCancel(MyWidget,ClientData,CallData)5060 void CallbackModifyViaCancel( MyWidget, ClientData, CallData )
5061 
5062      Widget  MyWidget;
5063      caddr_t ClientData;
5064      caddr_t CallData;
5065 {
5066   rdsbegin();
5067 
5068   GraalModifyLock   = GRAAL_FALSE;
5069   GraalModifyAbort  = GRAAL_TRUE;
5070   GraalModifyApply  = GRAAL_FALSE;
5071 
5072   GraalExitDialog();
5073 
5074   rdsend();
5075 }
5076 
5077 /*------------------------------------------------------------\
5078 |                                                             |
5079 |                    Callback For Modify BigVia               |
5080 |                                                             |
5081 \------------------------------------------------------------*/
5082 /*------------------------------------------------------------\
5083 |                                                             |
5084 |                      CallbackModifyBigViaType               |
5085 |                                                             |
5086 \------------------------------------------------------------*/
5087 
CallbackModifyBigViaType(MyWidget,ClientData,CallData)5088 void CallbackModifyBigViaType( MyWidget, ClientData, CallData )
5089 
5090      Widget  MyWidget;
5091      caddr_t ClientData;
5092      caddr_t CallData;
5093 {
5094   rdsbegin();
5095 
5096   GraalViaMType = (long)ClientData;
5097 
5098   GraalPromptModifyBigVia();
5099 
5100   rdsend();
5101 }
5102 
5103 /*------------------------------------------------------------\
5104 |                                                             |
5105 |                    CallbackModifyBigViaName                 |
5106 |                                                             |
5107 \------------------------------------------------------------*/
5108 
CallbackModifyBigViaName(MyWidget,ClientData,CallData)5109 void CallbackModifyBigViaName( MyWidget, ClientData, CallData )
5110 
5111      Widget  MyWidget;
5112      caddr_t ClientData;
5113      caddr_t CallData;
5114 {
5115   rdsbegin();
5116 
5117   GraalEnterDialog( &GraalModifyBigViaNameDialog );
5118 
5119   rdsend();
5120 }
5121 
5122 /*------------------------------------------------------------\
5123 |                                                             |
5124 |                   CallbackModifyBigViaApply                 |
5125 |                                                             |
5126 \------------------------------------------------------------*/
5127 
CallbackModifyBigViaApply(MyWidget,ClientData,CallData)5128 void CallbackModifyBigViaApply( MyWidget, ClientData, CallData )
5129 
5130      Widget  MyWidget;
5131      caddr_t ClientData;
5132      caddr_t CallData;
5133 {
5134   rdsbegin();
5135 
5136   GraalModifyLock   = GRAAL_FALSE;
5137   GraalModifyAbort  = GRAAL_FALSE;
5138   GraalModifyApply  = GRAAL_TRUE;
5139 
5140   GraalExitDialog();
5141 
5142   rdsend();
5143 }
5144 
5145 /*------------------------------------------------------------\
5146 |                                                             |
5147 |                      CallbackModifyBigViaCancel             |
5148 |                                                             |
5149 \------------------------------------------------------------*/
5150 
CallbackModifyBigViaCancel(MyWidget,ClientData,CallData)5151 void CallbackModifyBigViaCancel( MyWidget, ClientData, CallData )
5152 
5153      Widget  MyWidget;
5154      caddr_t ClientData;
5155      caddr_t CallData;
5156 {
5157   rdsbegin();
5158 
5159   GraalModifyLock   = GRAAL_FALSE;
5160   GraalModifyAbort  = GRAAL_TRUE;
5161   GraalModifyApply  = GRAAL_FALSE;
5162 
5163   GraalExitDialog();
5164 
5165   rdsend();
5166 }
5167