Jspice3
bascmd.c
Go to the documentation of this file.
1 /***************************************************************************
2 SCED - Schematic Capture Editor
3 JSPICE3 adaptation of Spice3e2 - Copyright (c) Stephen R. Whiteley 1992
4 Copyright 1990 Regents of the University of California. All rights reserved.
5 Authors: 1981 Giles C. Billingsley (parts of KIC layout editor)
6  1992 Stephen R. Whiteley
7 ****************************************************************************/
8 
9 /*
10  * SCED basic commands.
11  */
12 
13 #include "spice.h"
14 #include "sced.h"
15 #include "scedmacs.h"
16 
17 
18 
19 /***********************************************************************
20  *
21  * Commands to switch menus, undo.
22  *
23  *
24  ***********************************************************************/
25 
26 extern char *MenuUNDO;
27 
28 
29 void
30 Basic(LookedAhead)
31 
32 int *LookedAhead;
33 {
34  *LookedAhead = False;
39 }
40 
41 
42 void
44 
45 {
47  ShowPrompt("Sorry, but it's too late.");
49 }
50 
51 
52 
53 /***********************************************************************
54  *
55  * Commands for setting screen colors and grid parameters.
56  *
57  *
58  ***********************************************************************/
59 
60 extern char *MenuBGRND;
61 extern char *MenuHLITE;
62 extern char *MenuRGB;
63 extern char *MenuPLUSR,*MenuMINSR;
64 extern char *MenuPLUSG,*MenuMINSG;
65 extern char *MenuPLUSB,*MenuMINSB;
66 extern char *MenuGRID;
67 extern char *MenuMENU;
68 extern char *MenuPRMPT;
69 extern char *MenuMORE;
70 extern char *MenuHELP;
71 extern char *MenuUPDAT;
72 extern char *MenuSUBCT;
73 
74 #ifdef __STDC__
75 static void subct_color(int*);
76 #else
77 static void subct_color();
78 #endif
79 
80 
81 void
82 Color(LookedAhead)
83 
84 int *LookedAhead;
85 {
86  int i = 0;
87  char OldMenu;
88 
91  i++;
92  AmbiguityMenu[i].mEntry = " ";
94  i++;
97  i++;
98  AmbiguityMenu[i].mEntry = " ";
100  i++;
103  i++;
106  i++;
109  i++;
112  i++;
115  i++;
118  i++;
121  i++;
122  AmbiguityMenu[i].mEntry = " ";
124  i++;
127  i++;
130  i++;
133  i++;
136  i++;
139  i++;
142  i++;
143  AmbiguityMenu[i].mEntry = " ";
145  i++;
148  i++;
150  OldMenu = Parameters.kpMenu;
154  ShowPrompt("Hit ESC to exit.");
155 
156  loop {
157  switch (PointLoop(LookedAhead)) {
158  case PL_CMD:
159  if (Matching(MenuSUBCT)) {
160  *LookedAhead = False;
161  subct_color(LookedAhead);
162  if (*LookedAhead == True && !Matching(MenuSUBCT))
163  goto quit;
164  continue;
165  }
166  if (Matching(MenuHELP)) {
167  SCEDhelp();
168  *LookedAhead = False;
169  continue;
170  }
171  case PL_ESC:
172  goto quit;
173  case PL_PCW:
174  continue;
175  }
176  }
177 quit:
178  Parameters.kpMenu = OldMenu;
179  ShowCommandMenu();
180 }
181 
182 
183 void
184 Bgrnd(LookedAhead)
185 
186 int *LookedAhead;
187 {
190  ShowPrompt("Set RGB of background color.");
191  (void)PointColor(LookedAhead);
193  ErasePrompt();
195 }
196 
197 
198 void
199 Hlite(LookedAhead)
200 
201 int *LookedAhead;
202 {
205  ShowPrompt("Set RGB of highlighting color.");
206  (void)PointColor(LookedAhead);
208  ErasePrompt();
210 }
211 
212 
213 static void
214 subct_color(LookedAhead)
215 
216 int *LookedAhead;
217 {
220  ShowPrompt(
221  "Set RGB of unexpanded subcircuit box (point in window for next).");
222  switch (PointColor(LookedAhead)) {
223  case PL_ESC:
224  case PL_CMD:
225  goto quit;
226  }
228  ShowPrompt("Set RGB of unexpanded subcircuit label.");
229  (void)PointColor(LookedAhead);
230 quit:
232  ErasePrompt();
234 }
235 
236 
237 void
239 
240 {
242  ErasePrompt();
243  ShowRGB();
245 }
246 
247 
248 void
249 AlterColor(RGB,PlusOrMinus)
250 
251 char RGB;
252 char PlusOrMinus;
253 {
254  int *which;
255  char *menu;
256  double R,G,B;
257  double M = FBMAXINTENSITY;
258 
259  switch (RGB) {
260  case 'r':
261  case 'R':
262  if (PlusOrMinus == '+')
263  menu = MenuPLUSR;
264  else
265  menu = MenuMINSR;
266  which = &ColorTable[Parameters.kpColor].klR;
267  break;
268  case 'g':
269  case 'G':
270  if (PlusOrMinus == '+')
271  menu = MenuPLUSG;
272  else
273  menu = MenuMINSG;
274  which = &ColorTable[Parameters.kpColor].klG;
275  break;
276  case 'b':
277  case 'B':
278  if (PlusOrMinus == '+')
279  menu = MenuPLUSB;
280  else
281  menu = MenuMINSB;
282  which = &ColorTable[Parameters.kpColor].klB;
283  break;
284  default:
285  return;
286  }
287  MenuSelect(menu);
288  if (PlusOrMinus == '+') {
289  if (*which == FBMAXINTENSITY) *which = 0;
290  else if (((*which) += 10) > FBMAXINTENSITY)
291  *which = FBMAXINTENSITY;
292  }
293  else {
294  if (*which == 0) *which = FBMAXINTENSITY;
295  else if (((*which) -= 10) < 0) *which = 0;
296  }
301 
302  ShowRGB();
303  MenuDeselect(menu);
304 }
305 
306 
307 void
308 SetGrid(LookedAhead)
309 
310 int *LookedAhead;
311 {
312  char *TypeIn;
313  double d;
314  int OldParameter = Parameters.kpShowGridInLargeViewport;
315  int i;
316 
319  sprintf(TypeOut,"Hex code for grid line style, 0 for point grid (%x)?",
322  TypeIn = FBEdit(NULL);
323  if (TypeIn == NULL) goto quit;
324  if (sscanf(TypeIn,"%x",&i) == 1 && i >= 0 && i < 256)
326 
327  sprintf(TypeOut,"Show grid above layout geometries (%c)?",
328  Parameters.kpGridOnTop ? 'Y' : 'N');
330  TypeIn = FBEdit(NULL);
331  if (TypeIn == NULL) goto quit;
332  if (*TypeIn == 'n' Or *TypeIn == 'N')
334  elif (*TypeIn == 'y' Or *TypeIn == 'Y')
336 
337  sprintf(TypeOut,"Show grid in coarse viewport of a split screen (%c)?",
340  TypeIn = FBEdit(NULL);
341  if (TypeIn == NULL) goto quit;
342  if (*TypeIn == 'n' Or *TypeIn == 'N')
344  elif (*TypeIn == 'y' Or *TypeIn == 'Y')
346 
348  ShowPrompt(
349  "Set RGB for fine grid lines (point in window for next).");
350  switch (PointColor(LookedAhead)) {
351  case PL_ESC:
352  case PL_CMD:
353  goto quit;
354  }
355 
357  ShowPrompt("Set RGB for coarse grid lines.");
358  switch (PointColor(LookedAhead)) {
359  case PL_ESC:
360  case PL_CMD:
361  goto quit;
362  }
363  }
364  sprintf(TypeOut,
365  "Enter new grid interval (currently %g, CR to turn grid %s): ",
366  (double)Parameters.kpGrid/RESOLUTION,
367  Parameters.kpGridDisplayed ? "off" : "on" );
369  TypeIn = FBEdit(NULL);
370  if (TypeIn != NULL) {
371  if (!strlen(TypeIn)) {
373  ErasePrompt();
374  }
375  elif (sscanf(TypeIn,"%lg",&d) == 1 And d > 0) {
377  if (Parameters.kpGrid == 0)
378  Parameters.kpGrid = 1;
379  sprintf(TypeOut,"Grid line spacing now %g.",
380  (double)Parameters.kpGrid/RESOLUTION);
382  }
383  else
384  goto quit;
385  }
386 quit:
387  if (Parameters.kpShowGridInLargeViewport Or OldParameter)
389  else
391  ErasePrompt();
394 }
395 
396 
397 void
398 MenuParams(LookedAhead)
399 
400 int *LookedAhead;
401 {
403 
405  ShowPrompt("Set RGB for menu text (point in window for next).");
406  switch (PointColor(LookedAhead)) {
407  case PL_ESC:
408  case PL_CMD:
409  goto quit;
410  }
411 
413  ShowPrompt("Set RGB for menu prefix (point in window for next).");
414  switch (PointColor(LookedAhead)) {
415  case PL_ESC:
416  case PL_CMD:
417  goto quit;
418  }
419 
421  ShowPrompt(
422  "Set RGB for selected menu text (point in window for next).");
423  switch (PointColor(LookedAhead)) {
424  case PL_ESC:
425  case PL_CMD:
426  goto quit;
427  }
428 
430  ShowPrompt(
431  "Set RGB for selected prefix (point in window for next).");
432  switch (PointColor(LookedAhead)) {
433  case PL_ESC:
434  case PL_CMD:
435  goto quit;
436  }
437 
439  ShowPrompt("Set RGB for menu highlighting.");
440  (void)PointColor(LookedAhead);
441 
442 quit:
443  ErasePrompt();
446 }
447 
448 
449 void
450 MenuPrompt(LookedAhead)
451 
452 int *LookedAhead;
453 {
456  ShowPrompt("Set RGB for message text.");
457  (void)PointColor(LookedAhead);
459  ErasePrompt();
461 }
462 
463 
464 void
465 MenuMore(LookedAhead)
466 
467 int *LookedAhead;
468 {
471  ShowPromptWithColor("Set RGB for \"more\" window text.",
472  MoreTextColor);
473  (void)PointColor(LookedAhead);
475  ErasePrompt();
477 }
478 
479 
480 void
482 
483 {
484  int r,g,b;
485 
489 
492 
493  sprintf(TypeOut," (%d,%d,%d)",r,g,b);
494 
497 }
498 
499 
500 
501 /***********************************************************************
502  *
503  * Edit, save, and write commands.
504  * Manage symbol files.
505  *
506  ***********************************************************************/
507 
508 extern char *MenuEDIT;
509 extern char *MenuSAVE;
510 
511 
512 void
513 Edit(Ready,Center,Modified)
514 
515 int Ready,Center,Modified;
516 {
517  /*
518  * Ready == True if the name of the cell to be edited is
519  * already in Parameters.kpCellName.
520  * Center == True if the cell should be automatically centered.
521  * Pop does NOT want it to be--it wants it to be exactly where it was
522  * when it was pushed into.
523  */
524  char *TypeIn,*CellName,*NextCellName();
525  char cbuf[128];
526  struct s *TempCellDesc;
527  FILE *fp, *gp;
528 
530 
531  TempCellDesc = Parameters.kpCellDesc;
532 
533  if (Not Ready){
534  ShowPrompt("Cell?");
535  CellName = FBEdit(NULL);
536  if (CellName == NULL) {
537  ErasePrompt();
539  return;
540  }
541  while (isspace(*CellName)) CellName++;
542  if (*CellName == '\0') {
543  /* get next cellname from argument list */
544  CellName = NextCellName();
545  if (CellName == NULL) {
546  if (Parameters.kpCellName == NULL
547  Or *Parameters.kpCellName == '\0')
548  CellName = DEFAULT_EDIT_FILE;
549  else
550  CellName = Parameters.kpCellName;
551  }
552  }
553  else {
554  strcpy(cbuf,CellName);
555  CellName = cbuf;
556  }
557 
558  fp = POpen(CellName,"r",(char **)NULL);
559  if (fp) {
560  if (!IsSymFile(fp)) {
561 
562  /* If model library is called by name, and
563  * the file is not in the CWD, drop a copy
564  * of the system model library into the CWD.
565  */
566  if (!strcmp(CellName,ModelLibrary)) {
567  if (access(ModelLibrary,0)) {
568  int c;
569 
570  rewind(fp);
571  gp = fopen(ModelLibrary,"w");
572  if (gp) {
573  while ((c = getc(fp)) != EOF)
574  putc(c,gp);
575  fclose(gp);
576  }
577  }
578  }
579  fclose(fp);
580 
581  if (!dispdev->windows) {
582  DevHalt();
583  (void)inp_edit(CellName);
584 
585  if (substring(ModelLibrary,CellName)) {
588  }
589 
593  sprintf(TypeOut,"Editing: %s",Parameters.kpCellName);
595  }
596  else {
597  (void)inp_edit(CellName);
598  if (substring(ModelLibrary,CellName)) {
601  }
603  ErasePrompt();
604  }
605  return;
606  }
607  else
608  fclose(fp);
609  }
610 
612  && Parameters.kpCellDesc) {
613  sprintf(TypeOut,
614  "You've modified %s. Do you want to save it (y)?",
617  TypeIn = FBEdit(NULL);
618  if (TypeIn == NULL) {
619  ErasePrompt();
621  return;
622  }
623  if (TypeIn[0] != 'n' && TypeIn[0] != 'N')
624  WriteCell();
625  }
626 
627  ClearContext();
628 
629  if (!strcmp(Parameters.kpCellName,CellName)) {
630  if (TempCellDesc) {
631  if (Not CDClose(TempCellDesc))
632  MallocFailed();
633  }
634  }
635  else
636  strcpy(Parameters.kpCellName,CellName);
637  }
638 
639  /* strip off any path prefix */
641  ShowPromptAndWait("Warning: internal path overflow");
642  }
643 
644  SQClear(); /* clear selset queue */
645  GPclearGraf(); /* clear graf references */
648  ShowPrompt("Building database. Please wait.");
652  DefaultWindows();
655  sprintf(TypeOut,"Can't edit cell %s. MORE",Parameters.kpCellName);
657  (void)FBGetchar(ERASE);
658  sprintf(TypeOut,"%s",CDStatusString);
661  }
662  else {
664  if (TempCellDesc && (TempCellDesc != Parameters.kpCellDesc))
665  if (Not CDClose(TempCellDesc))
666  MallocFailed();
669 
670  if (CDStatusInt == CDNEWSYMBOL)
671  DefaultWindows();
672  elif (Center)
673  CenterFullView();
675 
676  /*
677  * CDUnmark is expensive and has two purposes!
678  * First, we make sure that all objects begin with a 0 info field.
679  * We will therefore see EVERYTHING in the symbol during redisplay.
680  * Secondly, the bounding boxes are recomputed and therefore
681  * propogated correctly through the hierarchy.
682  */
685  if (CDStatusInt == CDNEWSYMBOL) {
686  sprintf(TypeOut,"Editing new cell: %s",Parameters.kpCellName);
688  }
689  else {
690  sprintf(TypeOut,"Editing: %s",Parameters.kpCellName);
694  }
695  Parameters.kpModified = Modified;
696  TitleWindow();
697  }
698  SaveLastView();
700 }
701 
702 
703 void
705 
706 {
707  char Title[80];
708 
709  sprintf(Title,"Circuit: %s",Parameters.kpCellName);
710  DevTitle(Title,"sced");
711 }
712 
713 
714 void
716 
717 {
718  FILE *fp;
719 
720  ShowPrompt("Saving circuit. Please wait.");
721  if (CDUpdate(Parameters.kpCellDesc,(char *)NULL)) {
724  fp = POpen(Parameters.kpCellName,"a",(char **)NULL);
725  if (fp) {
726  DumpSpiceFile(fp);
727  fclose(fp);
728  }
729  }
731  MallocFailed();
732  ShowPrompt("Current circuit has been saved.");
733  }
734  else
735  ShowPrompt("Can't save circuit.");
736 }
737 
738 
739 void
741 
742 {
743  struct prpty *PDesc;
744  char *TypeIn,NewName[128],*t;
745  FILE *fp;
746 
748  if (Parameters.kpCellName[0] == '\0') {
749  ShowPrompt("There isn't anything to write.");
751  return;
752  }
753  ShowPrompt("Circuit name?");
754  TypeIn = FBEdit(Parameters.kpCellName);
755  if (TypeIn == NULL Or *TypeIn == '\0' Or *TypeIn == '\n') {
757  ErasePrompt();
758  return;
759  }
760  t = NewName;
761  while (isspace(*TypeIn)) TypeIn++;
762  if (*TypeIn == '\0') {
764  ErasePrompt();
765  return;
766  }
767  while (*TypeIn && !isspace(*TypeIn))
768  *t++ = *TypeIn++;
769  *t = '\0';
770 
771  ShowPrompt("Writing circuit. Please wait.");
772 
773  if (strcmp(Parameters.kpCellName,NewName)) {
774  /* new name given */
775  TypeIn = Parameters.kpCellDesc->sName;
776  Parameters.kpCellDesc->sName = NewName;
777 
778  /* change the subcircuit's reference name */
780  for (; PDesc; PDesc = PDesc->prpty_Succ)
781  if (PDesc->prpty_Value == P_NAME) break;
782  if (PDesc && PDesc->prpty_Data->p_name.subname) {
783  t = PDesc->prpty_Data->p_name.subname;
784  PDesc->prpty_Data->p_name.subname = NewName;
785  }
786 
787  if (Not CDUpdate(Parameters.kpCellDesc,NewName)) {
788  ShowPrompt("Can't save circuit.");
790  Parameters.kpCellDesc->sName = TypeIn;
791  return;
792  }
793  if (PDesc && PDesc->prpty_Data->p_name.subname) {
794  PDesc->prpty_Data->p_name.subname = t;
795  }
797  Parameters.kpCellDesc->sName = TypeIn;
799  fp = POpen(NewName,"a",(char **)NULL);
800  if (fp) {
801  DumpSpiceFile(fp);
802  fclose(fp);
803  }
804  }
805  UpdateParent(NewName);
806  ShowPrompt("New circuit has been saved.");
807  }
808  else {
809  if (Not CDUpdate(Parameters.kpCellDesc,(char *)NULL)) {
810  ShowPrompt("Can't save circuit.");
812  return;
813  }
815  fp = POpen(Parameters.kpCellName,"a",(char **)NULL);
816  if (fp) {
817  DumpSpiceFile(fp);
818  fclose(fp);
819  }
820  }
821  ShowPrompt("Current circuit has been saved.");
824  MallocFailed();
825  }
827 }
828 
829 
830 static void
832 
833 char **p, *t;
834 {
835  char *s = *p;
836 
837  while (isspace(*s)) s++;
838  while (*s && !isspace(*s)) *t++ = *s++;
839  *t = '\0';
840  while (isspace(*s)) s++;
841  *p = s;
842 }
843 
844 
845 int
847 
848 /* Strip off any path prefix and add to search path it not already
849  * there.
850  */
851 char *cname;
852 {
853  char *c, *p;
854  char tok[81];
855  int i, ret = 0;
856 
857  c = strrchr(cname,DIR_TERM);
858  if (!c)
859  return (0);
860  *c = '\0';
861 
862  p = PGetPath();
863  while (*p) {
864  newtok(&p,tok);
865 #ifdef MSDOS
866  if (!stricmp(tok,cname))
867 #else
868  if (!strcmp(tok,cname))
869 #endif
870  goto done;
871  }
872  ret = PAppendPath(cname);
873 
874 done:
875  for (i = 0, c++; *c; i++, c++)
876  cname[i] = *c;
877  cname[i] = '\0';
878  return (ret);
879 }
880 
881 
882 
883 /***********************************************************************
884  *
885  * Rdraw and view commands.
886  * Expnd command - expand subcells.
887  * Update the screen.
888  *
889  ***********************************************************************/
890 
891 extern char *MenuRDRAW;
892 extern char *MenuVIEW;
893 extern char *MenuEXPND;
894 
895 
896 void
898 
899 {
903 }
904 
905 
906 void
908 
909 {
911  SaveLastView();
913  CenterFullView();
916 }
917 
918 
919 void
921 
922 {
923  extern char *MenuEXPND;
924 
926  MenuDeselect(MenuEXPND);
928  }
929  else {
930  MenuSelect(MenuEXPND);
932  }
935 }
struct prpty * sPrptyList
Definition: cddefs.h:133
static void newtok(char **p, char *t)
Definition: bascmd.c:831
#define PL_ESC
Definition: sced.h:62
void ErasePrompt()
Definition: viewport.c:538
void ShowPromptWithColor()
#define PromptTextColor
Definition: sced.h:80
short mActive
Definition: sced.h:365
void Save()
Definition: bascmd.c:715
#define loop
Definition: cdmacs.h:11
void DevDefineColor()
void Redisplay()
void Edit(int Ready, int Center, int Modified)
Definition: bascmd.c:513
void UpdateParent()
void Color(int *LookedAhead)
Definition: bascmd.c:82
char * MenuMINSR
Definition: scedintr.c:59
#define Or
Definition: cdmacs.h:15
int prpty_Value
Definition: cdprpty.h:67
char * MenuHLITE
Definition: scedintr.c:82
struct ka * kvCoarseWindow
Definition: sced.h:149
int kpModified
Definition: sced.h:261
char * MenuMINSG
Definition: scedintr.c:58
void MenuMore(int *LookedAhead)
Definition: bascmd.c:465
char * strcpy()
#define InstanceBBColor
Definition: sced.h:84
char * MenuUNDO
Definition: objects.c:115
Definition: cddefs.h:119
int CDUpdate()
void DevSetColor()
int PointLoop()
void CenterFullView()
Definition: init.c:466
#define ERASE
Definition: scedmacs.h:11
#define Not
Definition: cdmacs.h:16
struct s * kpCellDesc
Definition: sced.h:207
DISPDEVICE * dispdev
Definition: display.c:112
char * MenuMENU
Definition: scedintr.c:86
char * kpCellName
Definition: sced.h:210
int CDUnmark()
#define CoarseGridColor
Definition: sced.h:82
#define InstanceNameColor
Definition: sced.h:85
char * MenuPLUSB
Definition: scedintr.c:60
#define gi_numtextcols
Definition: scedmacs.h:61
void WriteCell()
Definition: bascmd.c:740
int CDStatusInt
Definition: cd.c:75
#define FineGridColor
Definition: sced.h:83
#define PL_PCW
Definition: sced.h:65
void EraseLargeCoarseViewport()
Definition: viewport.c:583
#define DrawingColor
Definition: sced.h:87
FILE * p
Definition: proc2mod.c:48
char * MenuVIEW
Definition: scedintr.c:110
int kpColor
Definition: sced.h:252
void Hlite(int *LookedAhead)
Definition: bascmd.c:199
struct s * kpTopDesc
Definition: sced.h:213
char * mEntry
Definition: sced.h:364
int PointColor()
int kpGridDisplayed
Definition: sced.h:240
#define MenuSelectedColor
Definition: sced.h:77
void SCEDhelp()
Definition: scedintr.c:1090
int FixCellName(char *cname)
Definition: bascmd.c:846
int kpExpandInstances
Definition: sced.h:231
int CDOpen()
char * MenuRDRAW
Definition: scedintr.c:99
int DevNewViewport()
Definition: cddefs.h:215
void RGB()
Definition: bascmd.c:238
#define Matching(string)
Definition: scedmacs.h:63
void ShowPromptAndWait()
#define BASICMENU
Definition: sced.h:56
char * MenuSUBCT
Definition: scedintr.c:106
char * MenuPLUSR
Definition: scedintr.c:62
void MenuParams(int *LookedAhead)
Definition: bascmd.c:398
char * MenuPRMPT
Definition: scedintr.c:96
int kpGridLineStyle
Definition: sced.h:237
void ShowCommandMenu()
Definition: viewport.c:121
void ClearContext()
Definition: subckt.c:944
union prp_data * prpty_Data
Definition: cdprpty.h:65
void ModelLibraryClose()
Definition: library.c:446
char * MenuRGB
Definition: scedintr.c:100
bool windows
Definition: plotdev.h:61
void Undo()
Definition: bascmd.c:43
void MallocFailed()
Definition: scedintr.c:857
char * MenuBGRND
Definition: scedintr.c:66
struct kl * ColorTable
Definition: init.c:20
int klR
Definition: sced.h:95
void ShowMenu()
int CDClose()
int substring()
void MenuDeselect()
#define G
Definition: parse.c:441
int kpShowGridInLargeViewport
Definition: sced.h:246
Definition: cddefs.h:237
void DevHalt()
Definition: display.c:226
char kpMenu
Definition: sced.h:319
#define R
Definition: parse.c:444
#define ROW_COLUMN
Definition: scedmacs.h:15
#define NULL
Definition: spdefs.h:121
char TypeOut[200]
Definition: init.c:23
struct kp Parameters
Definition: init.c:19
#define MenuHighlightingColor
Definition: sced.h:79
#define elif
Definition: cdmacs.h:10
void Basic(int *LookedAhead)
Definition: bascmd.c:30
char * MenuPLUSG
Definition: scedintr.c:61
void OutlineText()
void DefaultWindows()
Definition: init.c:239
void SetGrid(int *LookedAhead)
Definition: bascmd.c:308
void ShowFull()
Definition: bascmd.c:907
#define True
Definition: scedstub.c:16
char * MenuUPDAT
Definition: scedintr.c:109
short FBGetchar()
char * kpTopName
Definition: sced.h:216
int access(char *pth, int m)
Definition: libfuncs.c:75
#define RESOLUTION
Definition: sced.h:36
struct kv * View
Definition: init.c:17
int kpShowTerminals
Definition: sced.h:255
static double c
Definition: vectors.c:16
char * subname
Definition: cdprpty.h:48
void DisplayTerminals()
#define AMBIGUITYMENU
Definition: sced.h:57
static void subct_color()
char * MenuEDIT
Definition: scedintr.c:75
int IsSymFile(FILE *fp)
Definition: scedintr.c:727
int PAppendPath()
void DumpSpiceFile()
#define DISPLAY
Definition: scedmacs.h:12
void AlterColor(char RGB, char PlusOrMinus)
Definition: bascmd.c:249
char * MenuSAVE
Definition: scedintr.c:102
void RedisplaySCED()
#define P_NAME
Definition: cdprpty.h:13
#define MenuSelectedPrefixColor
Definition: sced.h:78
int CDReflect()
#define CDNEWSYMBOL
Definition: cddefs.h:29
void SaveLastView()
Definition: display.c:297
#define MenuTextColor
Definition: sced.h:75
#define ModelLibrary
Definition: sced.h:30
char * MenuMINSB
Definition: scedintr.c:57
char * CDStatusString
Definition: cd.c:77
void ShowFineViewport()
Definition: viewport.c:610
int klB
Definition: sced.h:95
void Bgrnd(int *LookedAhead)
Definition: bascmd.c:184
void GPclearGraf()
Definition: grafintr.c:364
#define MenuTextPrefixColor
Definition: sced.h:76
struct prpty * prpty_Succ
Definition: cdprpty.h:66
#define EOS
Definition: cdmacs.h:9
Definition: cddefs.h:162
void FBText()
#define FBMAXINTENSITY
Definition: scedmacs.h:48
#define And
Definition: cdmacs.h:14
void DevTitle()
void ModelLibraryOpen()
long kpGrid
Definition: sced.h:234
MENU AmbiguityMenu[DefMenuSize]
Definition: scedintr.c:51
int klG
Definition: sced.h:95
char * FBEdit()
#define BackgroundColor
Definition: sced.h:73
GRAPH * currentgraph
Definition: graphdb.c:21
Definition: cddefs.h:227
#define gi_numtextrows
Definition: scedmacs.h:60
MENU * BasicMenu
Definition: scedintr.c:49
char * MenuMORE
Definition: scedintr.c:87
int kpGridOnTop
Definition: sced.h:243
#define False
Definition: scedstub.c:15
void SQClear()
Definition: choose.c:690
bool inp_edit()
struct prp_name p_name
Definition: cdprpty.h:55
#define MoreTextColor
Definition: sced.h:81
char * PGetPath()
Definition: paths.c:67
char * NextCellName()
Definition: scedintr.c:852
char * sName
Definition: cddefs.h:122
void FixMenuPrefix()
#define PL_CMD
Definition: sced.h:64
void ConnectRecursive()
#define FILL
Definition: scedmacs.h:13
int kpLastCursorColumn
Definition: sced.h:293
void ShowRGB()
Definition: bascmd.c:481
Definition: sced.h:363
void TitleWindow()
Definition: bascmd.c:704
FILE * POpen()
void Expand()
Definition: bascmd.c:920
#define DEFAULT_EDIT_FILE
Definition: sced.h:23
char * MenuGRID
Definition: scedintr.c:79
Definition: cddefs.h:192
void MenuSelect()
Definition: cdprpty.h:62
void ShowPrompt(char *str)
Definition: scedstub.c:71
char * MenuHELP
Definition: scedintr.c:81
void Rdraw()
Definition: bascmd.c:897
void MenuPrompt(int *LookedAhead)
Definition: bascmd.c:450
char * MenuEXPND
Definition: scedintr.c:76
#define HighlightingColor
Definition: sced.h:74