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