Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-01 08:52:27

0001 /*
0002  * $Id$
0003  *
0004  * $Log$
0005  * Revision 1.1  1996/03/08 15:32:59  mclareni
0006  * Initial revision
0007  *
0008  */
0009 
0010 typedef enum {
0011   KmMACRO_COMMAND = 0,          /* don't look for macros */
0012   KmMACRO_AUTO,                 /* look for macros before commands */
0013   KmMACRO_AUTOREVERSE           /* look for macros after commands */
0014 } KmMacOrder;
0015 
0016 typedef enum {
0017   KmSTYLE_A  = 0x0001,          /* Alpha menus */
0018   KmSTYLE_C  = 0x0002,          /* Command line */
0019   KmSTYLE_G  = 0x0004,          /* Graphics menus */
0020   KmSTYLE_M  = 0x0008,          /* Model Human Interface */
0021   KmSTYLE_XM = 0x0020,          /* Motif/X11 */
0022   KmSTYLE_major = 0x00FF,       /* A..X are mutually exclusive */
0023   KmSTYLE_xL = 0x0100,          /* Alpha Letter menus */
0024   KmSTYLE_xP = 0x0200,          /* Panel style GP or MP */
0025   KmSTYLE_xS = 0x0400,          /* Graphics with Software fonts */
0026   KmSTYLE_xW = 0x0800           /* Graphics with shadowed Width */
0027 } KmStyleFlag;
0028 
0029 typedef enum {
0030   KmTIMING_OFF,                 /* no timing */
0031   KmTIMING_ON,                  /* time typed commands */
0032   KmTIMING_ALL                  /* time individual commands inside macro */
0033 } KmTiming;
0034 
0035 
0036 EXTERN struct {
0037   int         do_exit;          /* set by KXEXIT */
0038   int         do_quit;          /* set by KXQUIT */
0039   char       *curr_prompt;      /* current prompt string */
0040   char       *last_cmd;         /* last command for $LAST */
0041   KmTiming    timing;           /* timing on/off/all */
0042   time_t      real_time;        /* real time at last timing off */
0043   clock_t     user_time;        /* CPU time at last timing off */
0044   int         in_macro;         /* command executed in macro */
0045   int         in_application;   /* application mode is active */
0046   int         appl_called;      /* application is executing */
0047   char       *appl_exit;        /* string which leaves application mode */
0048   KmCommand  *appl_cmd;         /* command which handles application */
0049   char        appl_file[256];   /* temporary file to pass application text */
0050   FILE       *appl_stream;      /* C stream used for writing appl_file */
0051   int         appl_luno;        /* Fortran logical unit opened for appl_file */
0052   char        help_file[256];   /* temporary file to view help text */
0053   char        uhlp_file[256];   /* temporary file to get user help text */
0054   int         uhlp_luno;        /* Fortran logical unit opened for user help */
0055   int         in_motif;         /* Motif mode is active */
0056   int         action_nesting;   /* levels of nested ku_exec() calls */
0057   int         echo_command;     /* echo commands in Motif mode */
0058   char       *echo_prompt;      /* prompt string for echo commands */
0059   KmStyleFlag style;            /* input mode */
0060   int         try_getenv;       /* flag if $name should look-up environment */
0061   int         keep_fcase;       /* flag if no case conversion for filenames */
0062   int         use_kxterm;       /* flag if kxterm should be used */
0063   int         use_server;       /* flag if edit server should be used */
0064   int         editor_exit;      /* flag set if edit server sent SIGUSR1 */
0065   char       *editor_cbuf;      /* buffer of for edit servers commands */
0066   char       *macro_path;       /* MACRO/DEFAULT search path */
0067   KmMacOrder  macro_search;     /* MACRO/DEFAULT search order */
0068   int         temp_vectors;     /* number of ?SIGMA vectors */
0069   char        init_wdir[256];   /* initial working directory */
0070   int         vread_luno;       /* Fortran logical unit for VECTOR/READ */
0071   int         vwrite_luno;      /* Fortran logical unit for VECTOR/WRITE */
0072   int         trace_on;         /* flag set by TRACE ON */
0073   int         trace_wait;       /* flag set by TRACE ON WAIT */
0074   int         trace_wait_save;  /* flag set by TRACE ON WAIT */
0075   int         trace_full;       /* flag set by TRACE ON FULL */
0076   int         trace_debug;      /* flag set by TRACE ON DEBUG */
0077   int         trace_test;       /* flag set by TRACE ON TEST */
0078   int         quit_macro;       /* flag set by WAIT command */
0079 } kc_flags;
0080 
0081 
0082 EXTERN struct {
0083   char       *set_break;        /* SET_SHOW/BREAK */
0084   char        set_columns[8];   /* SET_SHOW/COLUMNS */
0085   char       *set_command;      /* SET_SHOW/COMMAND */
0086   char       *set_dollar;       /* SET_SHOW/DOLLAR */
0087   char       *set_filecase;     /* SET_SHOW/FILECASE */
0088   char       *set_host_editor;  /* SET_SHOW/HOST_EDITOR */
0089   char       *set_host_psviewer; /* SET_SHOW/HOST_PSVIEWER */
0090   char       *set_host_pager;   /* SET_SHOW/HOST_PAGER */
0091   char       *set_host_shell;   /* SET_SHOW/HOST_SHELL */
0092   char       *set_prompt;       /* SET_SHOW/PROMPT */
0093   char       *set_recall_style; /* SET_SHOW/RECALL_STYLE */
0094   char        set_recording[8]; /* SET_SHOW/RECORDING */
0095   char       *set_root;         /* SET_SHOW/ROOT */
0096   const char *set_style;        /* SET_SHOW/STYLE */
0097   char       *set_timing;       /* SET_SHOW/TIMING */
0098   char       *help_edit;        /* HELP edit mode */
0099   char       *defaults_path;    /* MACRO/DEFAULTS search path */
0100   char       *defaults_order;   /* MACRO/DEFAULTS search order */
0101   int         idle_time;        /* IDLE timer in seconds */
0102   char       *idle_cmd;         /* IDLE command */
0103   char      **set_print_cmds;   /* SET_SHOW/HOST_PRINTER commands */
0104   char      **set_print_exts;   /* ... depending on file extension */
0105 } kc_value;
0106 
0107 
0108 typedef struct {
0109   int         top;
0110   int         left;
0111   int         width;
0112   int         height;
0113 } KmWindowDsc;
0114 
0115 EXTERN struct {
0116   KmWindowDsc edit_pad;         /* coordinates for edit window */
0117   KmWindowDsc help_pad;         /* coordinates for readonly window */
0118   int         voffset;          /* vertical offset */
0119   int         hoffset;          /* horizontal offset */
0120   int         shift_max;        /* maximum number of shifted pads */
0121   int         shift_now;        /* current shift count */
0122   int         shift_dir;        /* shift direction +/-1 */
0123   int         is_a_pad;         /* flag if running in an Apollo DM pad */
0124   int         is_a_tty;         /* flag if stdin and stdout at terminal */
0125   int         use_getline;      /* flag for using getline() or normal read */
0126   int         use_no_echo;      /* flag for using no echo in password prompt */
0127   int         term_width;       /* terminal width in columns */
0128   int         kuwhag_called;    /* allow style G */
0129   float       sgylen;
0130   float       sgsize;
0131   float       sgyspa;
0132   float       sgbord;
0133   int         panel_rows;       /* number of rows in style GP panel */
0134   int        *panel_cols;       /* number of columns in each row */
0135   char     ***panel_keys;       /* key labels */
0136   char       *panel_keynum;     /* value of $KEYNUM */
0137   char       *panel_keyval;     /* value of $KEYVAL */
0138   char     ***panel_icons;      /* key icons */
0139   char     ***panel_opts;       /* key options */
0140   char       *panel_title;      /* panel title (given when displaying panel) */
0141   char       *panel_name;       /* panel name (given when starting panel) */
0142   int         palette_flag;     /* flag if palette is requested */
0143 } kc_window;
0144 
0145 
0146 extern const char* style_name( KmStyleFlag );
0147 
0148