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    :                 Dialog.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 <stdlib.h>
47 # include <string.h>
48 # include <Xm/Xm.h>
49 # include <Xm/FileSB.h>
50 # include <Xm/SelectioB.h>
51 # include <Xm/PushBG.h>
52 
53 # include "mut.h"
54 # include "mph.h"
55 # include "rds.h"
56 # include "rpr.h"
57 # include "rfm.h"
58 # include "GSB.h"
59 # include "GRM.h"
60 # include "GMX.h"
61 # include "GTB.h"
62 # include "GME.h"
63 
64 # include "GME_dialog.h"
65 # include "GME_modify.h"
66 # include "GME_search.h"
67 # include "GME_edit.h"
68 # include "GME_message.h"
69 
70 /*------------------------------------------------------------\
71 |                                                             |
72 |                           Constants                         |
73 |                                                             |
74 \------------------------------------------------------------*/
75 /*------------------------------------------------------------\
76 |                                                             |
77 |                            Types                            |
78 |                                                             |
79 \------------------------------------------------------------*/
80 /*------------------------------------------------------------\
81 |                                                             |
82 |                          Variables                          |
83 |                                                             |
84 \------------------------------------------------------------*/
85 /*------------------------------------------------------------\
86 |                                                             |
87 |                         Search Dialog                       |
88 |                                                             |
89 \------------------------------------------------------------*/
90 /*------------------------------------------------------------\
91 |                                                             |
92 |                    Search Connector Dialog                  |
93 |                                                             |
94 \------------------------------------------------------------*/
95 
96   GraalDialogItem GraalSearchConnectorDialog =
97 
98   {
99     "Connector name",
100     GRAAL_DIALOG_PROMPT,
101     (Widget)NULL,
102     (void *)CallbackSearchConnectorOk,
103     (XtPointer)NULL,
104     (void *)CallbackSearchConnectorCancel,
105     (XtPointer)NULL
106   };
107 
108 /*------------------------------------------------------------\
109 |                                                             |
110 |                    Search Instance  Dialog                  |
111 |                                                             |
112 \------------------------------------------------------------*/
113 
114   GraalDialogItem GraalSearchInstanceDialog =
115 
116   {
117     "Instance name",
118     GRAAL_DIALOG_PROMPT,
119     (Widget)NULL,
120     (void *)CallbackSearchInstanceOk,
121     (XtPointer)NULL,
122     (void *)CallbackSearchInstanceCancel,
123     (XtPointer)NULL
124   };
125 
126 /*------------------------------------------------------------\
127 |                                                             |
128 |                    Search Via Dialog                        |
129 |                                                             |
130 \------------------------------------------------------------*/
131 
132   GraalDialogItem GraalSearchViaDialog =
133 
134   {
135     "Via name",
136     GRAAL_DIALOG_PROMPT,
137     (Widget)NULL,
138     (void *)CallbackSearchViaOk,
139     (XtPointer)NULL,
140     (void *)CallbackSearchViaCancel,
141     (XtPointer)NULL
142   };
143 
144 /*------------------------------------------------------------\
145 |                                                             |
146 |                    Search Reference Dialog                  |
147 |                                                             |
148 \------------------------------------------------------------*/
149 
150   GraalDialogItem GraalSearchReferenceDialog =
151 
152   {
153     "Reference name",
154     GRAAL_DIALOG_PROMPT,
155     (Widget)NULL,
156     (void *)CallbackSearchReferenceOk,
157     (XtPointer)NULL,
158     (void *)CallbackSearchReferenceCancel,
159     (XtPointer)NULL
160   };
161 
162 /*------------------------------------------------------------\
163 |                                                             |
164 |                      Search Segment Dialog                  |
165 |                                                             |
166 \------------------------------------------------------------*/
167 
168   GraalDialogItem GraalSearchSegmentDialog =
169 
170   {
171     "Segment name",
172     GRAAL_DIALOG_PROMPT,
173     (Widget)NULL,
174     (void *)CallbackSearchSegmentOk,
175     (XtPointer)NULL,
176     (void *)CallbackSearchSegmentCancel,
177     (XtPointer)NULL
178   };
179 
180 /*------------------------------------------------------------\
181 |                                                             |
182 |                        Modify Dialog                        |
183 |                                                             |
184 \------------------------------------------------------------*/
185 /*------------------------------------------------------------\
186 |                                                             |
187 |                         Segment Dialog                      |
188 |                                                             |
189 \------------------------------------------------------------*/
190 
191   GraalDialogItem GraalModifySegmentWidthDialog =
192 
193   {
194     "Segment width",
195     GRAAL_DIALOG_PROMPT,
196     (Widget)NULL,
197     (void *)CallbackModifySegmentWidthOk,
198     (XtPointer)NULL,
199     (void *)CallbackModifySegmentWidthCancel,
200     (XtPointer)NULL
201   };
202 
203   GraalDialogItem GraalModifySegmentNameDialog =
204 
205   {
206     "Segment name",
207     GRAAL_DIALOG_PROMPT,
208     (Widget)NULL,
209     (void *)CallbackModifySegmentNameOk,
210     (XtPointer)NULL,
211     (void *)CallbackModifySegmentNameCancel,
212     (XtPointer)NULL
213   };
214 
215 /*------------------------------------------------------------\
216 |                                                             |
217 |                       Transistor Dialog                     |
218 |                                                             |
219 \------------------------------------------------------------*/
220 
221   GraalDialogItem GraalModifyTransistorWidthDialog =
222 
223   {
224     "Transistor length",
225     GRAAL_DIALOG_PROMPT,
226     (Widget)NULL,
227     (void *)CallbackModifyTransistorWidthOk,
228     (XtPointer)NULL,
229     (void *)CallbackModifyTransistorWidthCancel,
230     (XtPointer)NULL
231   };
232 
233   GraalDialogItem GraalModifyTransistorNameDialog =
234 
235   {
236     "Transistor name",
237     GRAAL_DIALOG_PROMPT,
238     (Widget)NULL,
239     (void *)CallbackModifyTransistorNameOk,
240     (XtPointer)NULL,
241     (void *)CallbackModifyTransistorNameCancel,
242     (XtPointer)NULL
243   };
244 
245 /*------------------------------------------------------------\
246 |                                                             |
247 |                        Connector Dialog                     |
248 |                                                             |
249 \------------------------------------------------------------*/
250 
251   GraalDialogItem GraalModifyConnectorWidthDialog =
252 
253   {
254     "Connector width",
255     GRAAL_DIALOG_PROMPT,
256     (Widget)NULL,
257     (void *)CallbackModifyConnectorWidthOk,
258     (XtPointer)NULL,
259     (void *)CallbackModifyConnectorWidthCancel,
260     (XtPointer)NULL
261   };
262 
263   GraalDialogItem GraalModifyConnectorNameDialog =
264 
265   {
266     "Connector name",
267     GRAAL_DIALOG_PROMPT,
268     (Widget)NULL,
269     (void *)CallbackModifyConnectorNameOk,
270     (XtPointer)NULL,
271     (void *)CallbackModifyConnectorNameCancel,
272     (XtPointer)NULL
273   };
274 
275 /*------------------------------------------------------------\
276 |                                                             |
277 |                        Reference Dialog                     |
278 |                                                             |
279 \------------------------------------------------------------*/
280 
281   GraalDialogItem GraalModifyReferenceNameDialog =
282 
283   {
284     "Reference name",
285     GRAAL_DIALOG_PROMPT,
286     (Widget)NULL,
287     (void *)CallbackModifyReferenceNameOk,
288     (XtPointer)NULL,
289     (void *)CallbackModifyReferenceNameCancel,
290     (XtPointer)NULL
291   };
292 
293 /*------------------------------------------------------------\
294 |                                                             |
295 |                        Instance  Dialog                     |
296 |                                                             |
297 \------------------------------------------------------------*/
298 
299   GraalDialogItem GraalModifyInstanceNameDialog =
300 
301   {
302     "Instance name",
303     GRAAL_DIALOG_PROMPT,
304     (Widget)NULL,
305     (void *)CallbackModifyInstanceNameOk,
306     (XtPointer)NULL,
307     (void *)CallbackModifyInstanceNameCancel,
308     (XtPointer)NULL
309   };
310 
311   GraalDialogItem GraalModifyInstanceModelDialog =
312 
313   {
314     "Instance model",
315     GRAAL_DIALOG_PROMPT,
316     (Widget)NULL,
317     (void *)CallbackModifyInstanceModelOk,
318     (XtPointer)NULL,
319     (void *)CallbackModifyInstanceModelCancel,
320     (XtPointer)NULL
321   };
322 
323 /*------------------------------------------------------------\
324 |                                                             |
325 |                             Via  Dialog                     |
326 |                                                             |
327 \------------------------------------------------------------*/
328 
329   GraalDialogItem GraalModifyViaNameDialog =
330 
331   {
332     "Via name",
333     GRAAL_DIALOG_PROMPT,
334     (Widget)NULL,
335     (void *)CallbackModifyViaNameOk,
336     (XtPointer)NULL,
337     (void *)CallbackModifyViaNameCancel,
338     (XtPointer)NULL
339   };
340 
341   GraalDialogItem GraalModifyBigViaNameDialog =
342 
343   {
344     "BigVia name",
345     GRAAL_DIALOG_PROMPT,
346     (Widget)NULL,
347     (void *)CallbackModifyBigViaNameOk,
348     (XtPointer)NULL,
349     (void *)CallbackModifyBigViaNameCancel,
350     (XtPointer)NULL
351   };
352 
353 /*------------------------------------------------------------\
354 |                                                             |
355 |                          Functions                          |
356 |                                                             |
357 \------------------------------------------------------------*/
358 /*------------------------------------------------------------\
359 |                                                             |
360 |                     GraalBuildEditDialog                    |
361 |                                                             |
362 \------------------------------------------------------------*/
363 
GraalBuildEditDialog()364 void GraalBuildEditDialog()
365 
366 {
367   rdsbegin();
368 
369   GraalBuildDialog( GraalMainWindow, &GraalSearchConnectorDialog        );
370   GraalBuildDialog( GraalMainWindow, &GraalSearchInstanceDialog         );
371   GraalBuildDialog( GraalMainWindow, &GraalSearchReferenceDialog        );
372   GraalBuildDialog( GraalMainWindow, &GraalSearchSegmentDialog          );
373   GraalBuildDialog( GraalMainWindow, &GraalModifySegmentWidthDialog     );
374   GraalBuildDialog( GraalMainWindow, &GraalModifySegmentNameDialog      );
375   GraalBuildDialog( GraalMainWindow, &GraalModifyViaNameDialog          );
376   GraalBuildDialog( GraalMainWindow, &GraalModifyBigViaNameDialog       );
377   GraalBuildDialog( GraalMainWindow, &GraalModifyTransistorWidthDialog  );
378   GraalBuildDialog( GraalMainWindow, &GraalModifyTransistorNameDialog   );
379   GraalBuildDialog( GraalMainWindow, &GraalModifyConnectorWidthDialog   );
380   GraalBuildDialog( GraalMainWindow, &GraalModifyConnectorNameDialog    );
381   GraalBuildDialog( GraalMainWindow, &GraalModifyReferenceNameDialog    );
382   GraalBuildDialog( GraalMainWindow, &GraalModifyInstanceNameDialog     );
383   GraalBuildDialog( GraalMainWindow, &GraalModifyInstanceModelDialog    );
384   GraalBuildDialog( GraalMainWindow, &GraalSearchConnectorDialog        );
385   GraalBuildDialog( GraalMainWindow, &GraalSearchInstanceDialog         );
386   GraalBuildDialog( GraalMainWindow, &GraalSearchReferenceDialog        );
387   GraalBuildDialog( GraalMainWindow, &GraalSearchSegmentDialog          );
388   GraalBuildDialog( GraalMainWindow, &GraalSearchViaDialog              );
389 
390   rdsend();
391 }
392 
393 /*------------------------------------------------------------\
394 |                                                             |
395 |                      Callback For Dialog                    |
396 |                                                             |
397 \------------------------------------------------------------*/
398 /*------------------------------------------------------------\
399 |                                                             |
400 |                      Callback For Modify                    |
401 |                                                             |
402 \------------------------------------------------------------*/
403 /*------------------------------------------------------------\
404 |                                                             |
405 |                  CallbackModifySegmentWidthOk               |
406 |                                                             |
407 \------------------------------------------------------------*/
408 
CallbackModifySegmentWidthOk(MyWidget,ClientData,CallData)409 void CallbackModifySegmentWidthOk( MyWidget, ClientData, CallData )
410 
411     Widget                        MyWidget;
412     caddr_t                       ClientData;
413     XmSelectionBoxCallbackStruct *CallData;
414 {
415   char *WidthSet;
416   float NewWidth;
417   float Factor;
418 
419   rdsbegin();
420 
421   XmStringGetLtoR(  CallData->value,
422                     XmSTRING_DEFAULT_CHARSET,
423                    &WidthSet );
424 
425   XtUnmanageChild( GraalModifySegmentWidthDialog.WIDGET );
426 
427   GraalExitDialog();
428 
429   if ( WidthSet != (char *)NULL )
430   {
431     Factor   = RDS_LAMBDA / RDS_PHYSICAL_GRID;
432     NewWidth = atof( WidthSet );
433     NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
434 
435     if ( NewWidth >=  GRAAL_SEGMENT_VALUE_TABLE[ (int)GraalSegmentMLayer ][0] )
436     {
437       GraalSegmentMWidth = NewWidth;
438     }
439     else
440     {
441       GraalErrorMessage( GraalMainWindow, "Incorrect segment width !" );
442     }
443 
444     GraalPromptModifySegment();
445   }
446 
447   rdsend();
448 }
449 
450 /*------------------------------------------------------------\
451 |                                                             |
452 |                CallbackModifySegmentWidthCancel             |
453 |                                                             |
454 \------------------------------------------------------------*/
455 
CallbackModifySegmentWidthCancel(MyWidget,ClientData,CallData)456 void CallbackModifySegmentWidthCancel( MyWidget, ClientData, CallData )
457 
458     Widget                        MyWidget;
459     caddr_t                       ClientData;
460     XmSelectionBoxCallbackStruct *CallData;
461 {
462   rdsbegin();
463 
464   XtUnmanageChild( GraalModifySegmentWidthDialog.WIDGET );
465 
466   GraalExitDialog();
467 
468   rdsend();
469 }
470 
471 /*------------------------------------------------------------\
472 |                                                             |
473 |                   CallbackModifySegmentNameOk               |
474 |                                                             |
475 \------------------------------------------------------------*/
476 
CallbackModifySegmentNameOk(MyWidget,ClientData,CallData)477 void CallbackModifySegmentNameOk( MyWidget, ClientData, CallData )
478 
479     Widget                        MyWidget;
480     caddr_t                       ClientData;
481     XmSelectionBoxCallbackStruct *CallData;
482 {
483   char *NameSet;
484 
485   rdsbegin();
486 
487   XmStringGetLtoR(  CallData->value,
488                     XmSTRING_DEFAULT_CHARSET,
489                    &NameSet );
490 
491   XtUnmanageChild( GraalModifySegmentNameDialog.WIDGET );
492 
493   GraalExitDialog();
494 
495   NameSet = GraalPostTreatString( NameSet );
496 
497   if ( NameSet != (char *)NULL )
498   {
499     NameSet = namealloc( NameSet );
500   }
501   else
502   if ( ( GraalSegmentMLayer >= CALU1 ) &&
503        ( GraalSegmentMLayer <= CALU9 ) )
504   {
505     NameSet = GraalSegmentMName;
506     GraalErrorMessage( GraalMainWindow, "Connector must have name !" );
507   }
508 
509   GraalSegmentMName = NameSet;
510 
511   GraalPromptModifySegment();
512 
513   rdsend();
514 }
515 
516 /*------------------------------------------------------------\
517 |                                                             |
518 |                 CallbackModifySegmentNameCancel             |
519 |                                                             |
520 \------------------------------------------------------------*/
521 
CallbackModifySegmentNameCancel(MyWidget,ClientData,CallData)522 void CallbackModifySegmentNameCancel( MyWidget, ClientData, CallData )
523 
524     Widget                        MyWidget;
525     caddr_t                       ClientData;
526     XmSelectionBoxCallbackStruct *CallData;
527 {
528   rdsbegin();
529 
530   XtUnmanageChild( GraalModifySegmentNameDialog.WIDGET );
531 
532   GraalExitDialog();
533 
534   rdsend();
535 }
536 
537 /*------------------------------------------------------------\
538 |                                                             |
539 |                    Callback For Transistor                  |
540 |                                                             |
541 \------------------------------------------------------------*/
542 /*------------------------------------------------------------\
543 |                                                             |
544 |                 CallbackModifyTransistorWidthOk             |
545 |                                                             |
546 \------------------------------------------------------------*/
547 
CallbackModifyTransistorWidthOk(MyWidget,ClientData,CallData)548 void CallbackModifyTransistorWidthOk( MyWidget, ClientData, CallData )
549 
550     Widget                        MyWidget;
551     caddr_t                       ClientData;
552     XmSelectionBoxCallbackStruct *CallData;
553 {
554   char *WidthSet;
555   float NewWidth;
556   float Factor;
557 
558   rdsbegin();
559 
560   XmStringGetLtoR(  CallData->value,
561                     XmSTRING_DEFAULT_CHARSET,
562                    &WidthSet );
563 
564   XtUnmanageChild( GraalModifyTransistorWidthDialog.WIDGET );
565 
566   GraalExitDialog();
567 
568   if ( WidthSet != (char *)NULL )
569   {
570     Factor   = RDS_LAMBDA / RDS_PHYSICAL_GRID;
571     NewWidth = atof( WidthSet );
572     NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
573 
574     if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ (int)GraalTransistorMType ][0] )
575     {
576       GraalTransistorMWidth = NewWidth;
577     }
578     else
579     {
580       GraalErrorMessage( GraalMainWindow, "Incorrect transistor length!" );
581     }
582 
583     GraalPromptModifyTransistor();
584   }
585 
586   rdsend();
587 }
588 
589 /*------------------------------------------------------------\
590 |                                                             |
591 |                CallbackModifyTransistorWidthCancel          |
592 |                                                             |
593 \------------------------------------------------------------*/
594 
CallbackModifyTransistorWidthCancel(MyWidget,ClientData,CallData)595 void CallbackModifyTransistorWidthCancel( MyWidget, ClientData, CallData )
596 
597     Widget                        MyWidget;
598     caddr_t                       ClientData;
599     XmSelectionBoxCallbackStruct *CallData;
600 {
601   rdsbegin();
602 
603   XtUnmanageChild( GraalModifyTransistorWidthDialog.WIDGET );
604 
605   GraalExitDialog();
606 
607   rdsend();
608 }
609 
610 /*------------------------------------------------------------\
611 |                                                             |
612 |                   CallbackModifyTransistorNameOk            |
613 |                                                             |
614 \------------------------------------------------------------*/
615 
CallbackModifyTransistorNameOk(MyWidget,ClientData,CallData)616 void CallbackModifyTransistorNameOk( MyWidget, ClientData, CallData )
617 
618     Widget                        MyWidget;
619     caddr_t                       ClientData;
620     XmSelectionBoxCallbackStruct *CallData;
621 {
622   char *NameSet;
623 
624   rdsbegin();
625 
626   XmStringGetLtoR(  CallData->value,
627                     XmSTRING_DEFAULT_CHARSET,
628                    &NameSet );
629 
630   XtUnmanageChild( GraalModifyTransistorNameDialog.WIDGET );
631 
632   GraalExitDialog();
633 
634   NameSet = GraalPostTreatString( NameSet );
635 
636   if ( NameSet != (char *)NULL )
637   {
638     NameSet = namealloc( NameSet );
639   }
640 
641   GraalTransistorMName = NameSet;
642 
643   GraalPromptModifyTransistor();
644 
645   rdsend();
646 }
647 
648 /*------------------------------------------------------------\
649 |                                                             |
650 |                 CallbackModifyTransistorNameCancel          |
651 |                                                             |
652 \------------------------------------------------------------*/
653 
CallbackModifyTransistorNameCancel(MyWidget,ClientData,CallData)654 void CallbackModifyTransistorNameCancel( MyWidget, ClientData, CallData )
655 
656     Widget                        MyWidget;
657     caddr_t                       ClientData;
658     XmSelectionBoxCallbackStruct *CallData;
659 {
660   rdsbegin();
661 
662   XtUnmanageChild( GraalModifyTransistorNameDialog.WIDGET );
663 
664   GraalExitDialog();
665 
666   rdsend();
667 }
668 
669 /*------------------------------------------------------------\
670 |                                                             |
671 |                     Callback For Connector                  |
672 |                                                             |
673 \------------------------------------------------------------*/
674 /*------------------------------------------------------------\
675 |                                                             |
676 |                 CallbackModifyConnectorWidthOk              |
677 |                                                             |
678 \------------------------------------------------------------*/
679 
CallbackModifyConnectorWidthOk(MyWidget,ClientData,CallData)680 void CallbackModifyConnectorWidthOk( MyWidget, ClientData, CallData )
681 
682     Widget                        MyWidget;
683     caddr_t                       ClientData;
684     XmSelectionBoxCallbackStruct *CallData;
685 {
686   char *WidthSet;
687   float NewWidth;
688   float Factor;
689 
690   rdsbegin();
691 
692   XmStringGetLtoR(  CallData->value,
693                     XmSTRING_DEFAULT_CHARSET,
694                    &WidthSet );
695 
696   XtUnmanageChild( GraalModifyConnectorWidthDialog.WIDGET );
697 
698   GraalExitDialog();
699 
700   if ( WidthSet != (char *)NULL )
701   {
702     Factor   = RDS_LAMBDA / RDS_PHYSICAL_GRID;
703     NewWidth = atof( WidthSet );
704     NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
705 
706     if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ (int)GraalConnectorMLayer ][0] )
707     {
708       GraalConnectorMWidth = NewWidth;
709     }
710     else
711     {
712       GraalErrorMessage( GraalMainWindow, "Incorrect connector width !" );
713     }
714 
715     GraalPromptModifyConnector();
716   }
717 
718   rdsend();
719 }
720 
721 /*------------------------------------------------------------\
722 |                                                             |
723 |               CallbackModifyConnectorWidthCancel            |
724 |                                                             |
725 \------------------------------------------------------------*/
726 
CallbackModifyConnectorWidthCancel(MyWidget,ClientData,CallData)727 void CallbackModifyConnectorWidthCancel( MyWidget, ClientData, CallData )
728 
729     Widget                        MyWidget;
730     caddr_t                       ClientData;
731     XmSelectionBoxCallbackStruct *CallData;
732 {
733   rdsbegin();
734 
735   XtUnmanageChild( GraalModifyConnectorWidthDialog.WIDGET );
736 
737   GraalExitDialog();
738 
739   rdsend();
740 }
741 
742 /*------------------------------------------------------------\
743 |                                                             |
744 |                  CallbackModifyConnectorNameOk              |
745 |                                                             |
746 \------------------------------------------------------------*/
747 
CallbackModifyConnectorNameOk(MyWidget,ClientData,CallData)748 void CallbackModifyConnectorNameOk( MyWidget, ClientData, CallData )
749 
750     Widget                        MyWidget;
751     caddr_t                       ClientData;
752     XmSelectionBoxCallbackStruct *CallData;
753 {
754   char *NameSet;
755 
756   rdsbegin();
757 
758   XmStringGetLtoR(  CallData->value,
759                     XmSTRING_DEFAULT_CHARSET,
760                    &NameSet );
761 
762   XtUnmanageChild( GraalModifyConnectorNameDialog.WIDGET );
763 
764   GraalExitDialog();
765 
766   NameSet = GraalPostTreatString( NameSet );
767 
768   if ( NameSet != (char *)NULL )
769   {
770     NameSet = namealloc( NameSet );
771 
772     GraalConnectorMName = NameSet;
773 
774     GraalPromptModifyConnector();
775   }
776 
777   rdsend();
778 }
779 
780 /*------------------------------------------------------------\
781 |                                                             |
782 |                CallbackModifyConnectorNameCancel            |
783 |                                                             |
784 \------------------------------------------------------------*/
785 
CallbackModifyConnectorNameCancel(MyWidget,ClientData,CallData)786 void CallbackModifyConnectorNameCancel( MyWidget, ClientData, CallData )
787 
788     Widget                        MyWidget;
789     caddr_t                       ClientData;
790     XmSelectionBoxCallbackStruct *CallData;
791 {
792   rdsbegin();
793 
794   XtUnmanageChild( GraalModifyConnectorNameDialog.WIDGET );
795 
796   GraalExitDialog();
797 
798   rdsend();
799 }
800 
801 /*------------------------------------------------------------\
802 |                                                             |
803 |                     Callback For Reference                  |
804 |                                                             |
805 \------------------------------------------------------------*/
806 /*------------------------------------------------------------\
807 |                                                             |
808 |                  CallbackModifyReferenceNameOk              |
809 |                                                             |
810 \------------------------------------------------------------*/
811 
CallbackModifyReferenceNameOk(MyWidget,ClientData,CallData)812 void CallbackModifyReferenceNameOk( MyWidget, ClientData, CallData )
813 
814     Widget                        MyWidget;
815     caddr_t                       ClientData;
816     XmSelectionBoxCallbackStruct *CallData;
817 {
818   char *NameSet;
819 
820   rdsbegin();
821 
822   XmStringGetLtoR(  CallData->value,
823                     XmSTRING_DEFAULT_CHARSET,
824                    &NameSet );
825 
826   XtUnmanageChild( GraalModifyReferenceNameDialog.WIDGET );
827 
828   GraalExitDialog();
829 
830   NameSet = GraalPostTreatString( NameSet );
831 
832   if ( NameSet != (char *)NULL )
833   {
834     NameSet = namealloc( NameSet );
835 
836     GraalReferenceMName = NameSet;
837 
838     GraalPromptModifyReference();
839   }
840 
841   rdsend();
842 }
843 
844 /*------------------------------------------------------------\
845 |                                                             |
846 |                CallbackModifyReferenceNameCancel            |
847 |                                                             |
848 \------------------------------------------------------------*/
849 
CallbackModifyReferenceNameCancel(MyWidget,ClientData,CallData)850 void CallbackModifyReferenceNameCancel( MyWidget, ClientData, CallData )
851 
852     Widget                        MyWidget;
853     caddr_t                       ClientData;
854     XmSelectionBoxCallbackStruct *CallData;
855 {
856   rdsbegin();
857 
858   XtUnmanageChild( GraalModifyReferenceNameDialog.WIDGET );
859 
860   GraalExitDialog();
861 
862   rdsend();
863 }
864 
865 /*------------------------------------------------------------\
866 |                                                             |
867 |                     Callback For Instance                   |
868 |                                                             |
869 \------------------------------------------------------------*/
870 /*------------------------------------------------------------\
871 |                                                             |
872 |                   CallbackModifyInstanceNameOk              |
873 |                                                             |
874 \------------------------------------------------------------*/
875 
CallbackModifyInstanceNameOk(MyWidget,ClientData,CallData)876 void CallbackModifyInstanceNameOk( MyWidget, ClientData, CallData )
877 
878     Widget                        MyWidget;
879     caddr_t                       ClientData;
880     XmSelectionBoxCallbackStruct *CallData;
881 {
882   char *NameSet;
883 
884   rdsbegin();
885 
886   XmStringGetLtoR(  CallData->value,
887                     XmSTRING_DEFAULT_CHARSET,
888                    &NameSet );
889 
890   XtUnmanageChild( GraalModifyInstanceNameDialog.WIDGET );
891 
892   GraalExitDialog();
893 
894   NameSet = GraalPostTreatString( NameSet );
895 
896   if ( NameSet != (char *)NULL )
897   {
898     NameSet = namealloc( NameSet );
899 
900     GraalInstanceMName = NameSet;
901   }
902 
903   GraalPromptModifyInstance();
904 
905   rdsend();
906 }
907 
908 /*------------------------------------------------------------\
909 |                                                             |
910 |                 CallbackModifyInstanceNameCancel            |
911 |                                                             |
912 \------------------------------------------------------------*/
913 
CallbackModifyInstanceNameCancel(MyWidget,ClientData,CallData)914 void CallbackModifyInstanceNameCancel( MyWidget, ClientData, CallData )
915 
916     Widget                        MyWidget;
917     caddr_t                       ClientData;
918     XmSelectionBoxCallbackStruct *CallData;
919 {
920   rdsbegin();
921 
922   XtUnmanageChild( GraalModifyInstanceNameDialog.WIDGET );
923 
924   GraalExitDialog();
925 
926   rdsend();
927 }
928 
929 /*------------------------------------------------------------\
930 |                                                             |
931 |                  CallbackModifyInstanceModelOk              |
932 |                                                             |
933 \------------------------------------------------------------*/
934 
CallbackModifyInstanceModelOk(MyWidget,ClientData,CallData)935 void CallbackModifyInstanceModelOk( MyWidget, ClientData, CallData )
936 
937     Widget                        MyWidget;
938     caddr_t                       ClientData;
939     XmSelectionBoxCallbackStruct *CallData;
940 {
941   char *ModelSet;
942 
943   rdsbegin();
944 
945   XmStringGetLtoR(  CallData->value,
946                     XmSTRING_DEFAULT_CHARSET,
947                    &ModelSet );
948 
949   XtUnmanageChild( GraalModifyInstanceModelDialog.WIDGET );
950 
951   GraalExitDialog();
952 
953   ModelSet = GraalPostTreatString( ModelSet );
954 
955   if ( ModelSet != (char *)NULL )
956   {
957     ModelSet = namealloc( ModelSet );
958 
959     GraalInstanceMModel = ModelSet;
960   }
961 
962   GraalPromptModifyInstance();
963 
964   rdsend();
965 }
966 
967 /*------------------------------------------------------------\
968 |                                                             |
969 |                CallbackModifyInstanceModelCancel            |
970 |                                                             |
971 \------------------------------------------------------------*/
972 
CallbackModifyInstanceModelCancel(MyWidget,ClientData,CallData)973 void CallbackModifyInstanceModelCancel( MyWidget, ClientData, CallData )
974 
975     Widget                        MyWidget;
976     caddr_t                       ClientData;
977     XmSelectionBoxCallbackStruct *CallData;
978 {
979   rdsbegin();
980 
981   XtUnmanageChild( GraalModifyInstanceModelDialog.WIDGET );
982 
983   GraalExitDialog();
984 
985   rdsend();
986 }
987 
988 /*------------------------------------------------------------\
989 |                                                             |
990 |                   CallbackModifyViaNameOk                   |
991 |                                                             |
992 \------------------------------------------------------------*/
993 
CallbackModifyViaNameOk(MyWidget,ClientData,CallData)994 void CallbackModifyViaNameOk( MyWidget, ClientData, CallData )
995 
996     Widget                        MyWidget;
997     caddr_t                       ClientData;
998     XmSelectionBoxCallbackStruct *CallData;
999 {
1000   char *NameSet;
1001 
1002   rdsbegin();
1003 
1004   XmStringGetLtoR(  CallData->value,
1005                     XmSTRING_DEFAULT_CHARSET,
1006                    &NameSet );
1007 
1008   XtUnmanageChild( GraalModifyViaNameDialog.WIDGET );
1009 
1010   GraalExitDialog();
1011 
1012   NameSet = GraalPostTreatString( NameSet );
1013 
1014   if ( NameSet != (char *)NULL )
1015   {
1016     NameSet = namealloc( NameSet );
1017   }
1018 
1019   GraalViaMName = NameSet;
1020 
1021   GraalPromptModifyVia();
1022 
1023   rdsend();
1024 }
1025 
1026 /*------------------------------------------------------------\
1027 |                                                             |
1028 |                     CallbackModifyViaNameCancel             |
1029 |                                                             |
1030 \------------------------------------------------------------*/
1031 
CallbackModifyViaNameCancel(MyWidget,ClientData,CallData)1032 void CallbackModifyViaNameCancel( MyWidget, ClientData, CallData )
1033 
1034     Widget                        MyWidget;
1035     caddr_t                       ClientData;
1036     XmSelectionBoxCallbackStruct *CallData;
1037 {
1038   rdsbegin();
1039 
1040   XtUnmanageChild( GraalModifyViaNameDialog.WIDGET );
1041 
1042   GraalExitDialog();
1043 
1044   rdsend();
1045 }
1046 
1047 /*------------------------------------------------------------\
1048 |                                                             |
1049 |                 CallbackModifyBigViaNameOk                  |
1050 |                                                             |
1051 \------------------------------------------------------------*/
1052 
CallbackModifyBigViaNameOk(MyWidget,ClientData,CallData)1053 void CallbackModifyBigViaNameOk( MyWidget, ClientData, CallData )
1054 
1055     Widget                        MyWidget;
1056     caddr_t                       ClientData;
1057     XmSelectionBoxCallbackStruct *CallData;
1058 {
1059   char *NameSet;
1060 
1061   rdsbegin();
1062 
1063   XmStringGetLtoR(  CallData->value,
1064                     XmSTRING_DEFAULT_CHARSET,
1065                    &NameSet );
1066 
1067   XtUnmanageChild( GraalModifyBigViaNameDialog.WIDGET );
1068 
1069   GraalExitDialog();
1070 
1071   NameSet = GraalPostTreatString( NameSet );
1072 
1073   if ( NameSet != (char *)NULL )
1074   {
1075     NameSet = namealloc( NameSet );
1076   }
1077 
1078   GraalViaMName = NameSet;
1079 
1080   GraalPromptModifyBigVia();
1081 
1082   rdsend();
1083 }
1084 
1085 /*------------------------------------------------------------\
1086 |                                                             |
1087 |                   CallbackModifyBigViaNameCancel            |
1088 |                                                             |
1089 \------------------------------------------------------------*/
1090 
CallbackModifyBigViaNameCancel(MyWidget,ClientData,CallData)1091 void CallbackModifyBigViaNameCancel( MyWidget, ClientData, CallData )
1092 
1093     Widget                        MyWidget;
1094     caddr_t                       ClientData;
1095     XmSelectionBoxCallbackStruct *CallData;
1096 {
1097   rdsbegin();
1098 
1099   XtUnmanageChild( GraalModifyBigViaNameDialog.WIDGET );
1100 
1101   GraalExitDialog();
1102 
1103   rdsend();
1104 }
1105 
1106 /*------------------------------------------------------------\
1107 |                                                             |
1108 |                        Search Callback                      |
1109 |                                                             |
1110 \------------------------------------------------------------*/
1111 /*------------------------------------------------------------\
1112 |                                                             |
1113 |                     Callback For Connector                  |
1114 |                                                             |
1115 \------------------------------------------------------------*/
1116 /*------------------------------------------------------------\
1117 |                                                             |
1118 |                   CallbackSearchConnectorOk                 |
1119 |                                                             |
1120 \------------------------------------------------------------*/
1121 
CallbackSearchConnectorOk(MyWidget,ClientData,CallData)1122 void CallbackSearchConnectorOk( MyWidget, ClientData, CallData )
1123 
1124     Widget                        MyWidget;
1125     caddr_t                       ClientData;
1126     XmSelectionBoxCallbackStruct *CallData;
1127 {
1128   char *NameSet;
1129 
1130   rdsbegin();
1131 
1132   XmStringGetLtoR(  CallData->value,
1133                     XmSTRING_DEFAULT_CHARSET,
1134                    &NameSet );
1135 
1136   XtUnmanageChild( GraalSearchConnectorDialog.WIDGET );
1137 
1138   GraalExitDialog();
1139 
1140   NameSet = GraalPostTreatString( NameSet );
1141 
1142   if ( NameSet != (char *)NULL )
1143   {
1144     NameSet = namealloc( NameSet );
1145 
1146     GraalEditSearchConnector( NameSet );
1147   }
1148 
1149   rdsend();
1150 }
1151 
1152 /*------------------------------------------------------------\
1153 |                                                             |
1154 |                 CallbackSearchConnectorCancel               |
1155 |                                                             |
1156 \------------------------------------------------------------*/
1157 
CallbackSearchConnectorCancel(MyWidget,ClientData,CallData)1158 void CallbackSearchConnectorCancel( MyWidget, ClientData, CallData )
1159 
1160     Widget                        MyWidget;
1161     caddr_t                       ClientData;
1162     XmSelectionBoxCallbackStruct *CallData;
1163 {
1164   rdsbegin();
1165 
1166   XtUnmanageChild( GraalSearchConnectorDialog.WIDGET );
1167 
1168   GraalExitDialog();
1169 
1170   rdsend();
1171 }
1172 
1173 /*------------------------------------------------------------\
1174 |                                                             |
1175 |                     Callback For Instance                   |
1176 |                                                             |
1177 \------------------------------------------------------------*/
1178 /*------------------------------------------------------------\
1179 |                                                             |
1180 |                    CallbackSearchInstanceOk                 |
1181 |                                                             |
1182 \------------------------------------------------------------*/
1183 
CallbackSearchInstanceOk(MyWidget,ClientData,CallData)1184 void CallbackSearchInstanceOk( MyWidget, ClientData, CallData )
1185 
1186     Widget                        MyWidget;
1187     caddr_t                       ClientData;
1188     XmSelectionBoxCallbackStruct *CallData;
1189 {
1190   char *NameSet;
1191 
1192   rdsbegin();
1193 
1194   XmStringGetLtoR(  CallData->value,
1195                     XmSTRING_DEFAULT_CHARSET,
1196                    &NameSet );
1197 
1198   XtUnmanageChild( GraalSearchInstanceDialog.WIDGET );
1199 
1200   GraalExitDialog();
1201 
1202   NameSet = GraalPostTreatString( NameSet );
1203 
1204   if ( NameSet != (char *)NULL )
1205   {
1206     NameSet = namealloc( NameSet );
1207 
1208     GraalEditSearchInstance( NameSet );
1209   }
1210 
1211   rdsend();
1212 }
1213 
1214 /*------------------------------------------------------------\
1215 |                                                             |
1216 |                  CallbackSearchInstanceCancel               |
1217 |                                                             |
1218 \------------------------------------------------------------*/
1219 
CallbackSearchInstanceCancel(MyWidget,ClientData,CallData)1220 void CallbackSearchInstanceCancel( MyWidget, ClientData, CallData )
1221 
1222     Widget                        MyWidget;
1223     caddr_t                       ClientData;
1224     XmSelectionBoxCallbackStruct *CallData;
1225 {
1226   rdsbegin();
1227 
1228   XtUnmanageChild( GraalSearchInstanceDialog.WIDGET );
1229 
1230   GraalExitDialog();
1231 
1232   rdsend();
1233 }
1234 
1235 /*------------------------------------------------------------\
1236 |                                                             |
1237 |                     Callback For Reference                  |
1238 |                                                             |
1239 \------------------------------------------------------------*/
1240 /*------------------------------------------------------------\
1241 |                                                             |
1242 |                   CallbackSearchReferenceOk                 |
1243 |                                                             |
1244 \------------------------------------------------------------*/
1245 
CallbackSearchReferenceOk(MyWidget,ClientData,CallData)1246 void CallbackSearchReferenceOk( MyWidget, ClientData, CallData )
1247 
1248     Widget                        MyWidget;
1249     caddr_t                       ClientData;
1250     XmSelectionBoxCallbackStruct *CallData;
1251 {
1252   char *NameSet;
1253 
1254   rdsbegin();
1255 
1256   XmStringGetLtoR(  CallData->value,
1257                     XmSTRING_DEFAULT_CHARSET,
1258                    &NameSet );
1259 
1260   XtUnmanageChild( GraalSearchReferenceDialog.WIDGET );
1261 
1262   GraalExitDialog();
1263 
1264   NameSet = GraalPostTreatString( NameSet );
1265 
1266   if ( NameSet != (char *)NULL )
1267   {
1268     NameSet = namealloc( NameSet );
1269 
1270     GraalEditSearchReference( NameSet );
1271   }
1272 
1273   rdsend();
1274 }
1275 
1276 /*------------------------------------------------------------\
1277 |                                                             |
1278 |                 CallbackSearchReferenceCancel               |
1279 |                                                             |
1280 \------------------------------------------------------------*/
1281 
CallbackSearchReferenceCancel(MyWidget,ClientData,CallData)1282 void CallbackSearchReferenceCancel( MyWidget, ClientData, CallData )
1283 
1284     Widget                        MyWidget;
1285     caddr_t                       ClientData;
1286     XmSelectionBoxCallbackStruct *CallData;
1287 {
1288   rdsbegin();
1289 
1290   XtUnmanageChild( GraalSearchReferenceDialog.WIDGET );
1291 
1292   GraalExitDialog();
1293 
1294   rdsend();
1295 }
1296 
1297 /*------------------------------------------------------------\
1298 |                                                             |
1299 |                     Callback For Segment                    |
1300 |                                                             |
1301 \------------------------------------------------------------*/
1302 /*------------------------------------------------------------\
1303 |                                                             |
1304 |                     CallbackSearchSegmentOk                 |
1305 |                                                             |
1306 \------------------------------------------------------------*/
1307 
CallbackSearchSegmentOk(MyWidget,ClientData,CallData)1308 void CallbackSearchSegmentOk( MyWidget, ClientData, CallData )
1309 
1310     Widget                        MyWidget;
1311     caddr_t                       ClientData;
1312     XmSelectionBoxCallbackStruct *CallData;
1313 {
1314   char *NameSet;
1315 
1316   rdsbegin();
1317 
1318   XmStringGetLtoR(  CallData->value,
1319                     XmSTRING_DEFAULT_CHARSET,
1320                    &NameSet );
1321 
1322   XtUnmanageChild( GraalSearchSegmentDialog.WIDGET );
1323 
1324   GraalExitDialog();
1325 
1326   NameSet = GraalPostTreatString( NameSet );
1327 
1328   if ( NameSet != (char *)NULL )
1329   {
1330     NameSet = namealloc( NameSet );
1331 
1332     GraalEditSearchSegment( NameSet );
1333   }
1334 
1335   rdsend();
1336 }
1337 
1338 /*------------------------------------------------------------\
1339 |                                                             |
1340 |                   CallbackSearchSegmentCancel               |
1341 |                                                             |
1342 \------------------------------------------------------------*/
1343 
CallbackSearchSegmentCancel(MyWidget,ClientData,CallData)1344 void CallbackSearchSegmentCancel( MyWidget, ClientData, CallData )
1345 
1346     Widget                        MyWidget;
1347     caddr_t                       ClientData;
1348     XmSelectionBoxCallbackStruct *CallData;
1349 {
1350   rdsbegin();
1351 
1352   XtUnmanageChild( GraalSearchSegmentDialog.WIDGET );
1353 
1354   GraalExitDialog();
1355 
1356   rdsend();
1357 }
1358 
1359 /*------------------------------------------------------------\
1360 |                                                             |
1361 |                       Callback For Via                      |
1362 |                                                             |
1363 \------------------------------------------------------------*/
1364 /*------------------------------------------------------------\
1365 |                                                             |
1366 |                     CallbackSearchViaOk                     |
1367 |                                                             |
1368 \------------------------------------------------------------*/
1369 
CallbackSearchViaOk(MyWidget,ClientData,CallData)1370 void CallbackSearchViaOk( MyWidget, ClientData, CallData )
1371 
1372     Widget                        MyWidget;
1373     caddr_t                       ClientData;
1374     XmSelectionBoxCallbackStruct *CallData;
1375 {
1376   char *NameSet;
1377 
1378   rdsbegin();
1379 
1380   XmStringGetLtoR(  CallData->value,
1381                     XmSTRING_DEFAULT_CHARSET,
1382                    &NameSet );
1383 
1384   XtUnmanageChild( GraalSearchViaDialog.WIDGET );
1385 
1386   GraalExitDialog();
1387 
1388   NameSet = GraalPostTreatString( NameSet );
1389 
1390   if ( NameSet != (char *)NULL )
1391   {
1392     NameSet = namealloc( NameSet );
1393 
1394     GraalEditSearchVia( NameSet );
1395   }
1396 
1397   rdsend();
1398 }
1399 
1400 /*------------------------------------------------------------\
1401 |                                                             |
1402 |                       CallbackSearchViaCancel               |
1403 |                                                             |
1404 \------------------------------------------------------------*/
1405 
CallbackSearchViaCancel(MyWidget,ClientData,CallData)1406 void CallbackSearchViaCancel( MyWidget, ClientData, CallData )
1407 
1408     Widget                        MyWidget;
1409     caddr_t                       ClientData;
1410     XmSelectionBoxCallbackStruct *CallData;
1411 {
1412   rdsbegin();
1413 
1414   XtUnmanageChild( GraalSearchViaDialog.WIDGET );
1415 
1416   GraalExitDialog();
1417 
1418   rdsend();
1419 }
1420 
1421