Annotation of coherent/g/usr/bin/vsh/winlib/winfun.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *      HEADER file for windows library
                      3:  *
                      4:  *      Copyright (c) 1990-93 by Udo Munk
                      5:  */
                      6: 
                      7: /* ------------------------------------------------------------------------ */
                      8: 
                      9: /*
                     10:  *     Define additional control codes for terminals where
                     11:  *     used function keys are missing
                     12:  */
                     13: #define W_KEY_REFR      0x0c    /* CNTL-L: refresh */
                     14: #define W_KEY_NPAGE     0x0e    /* CNTL-N: next page */
                     15: #define W_KEY_PPAGE     0x10    /* CNTL-P: previous page */
                     16: #define W_KEY_HOME      0x01    /* CNTL-A: begin of list/field */
                     17: #define W_KEY_LL        0x05    /* CNTL-E: end of list/field */
                     18: #define W_KEY_DC        0x04    /* CNTL-D: remove character under cursor */
                     19: #define W_KEY_DL        0x15    /* CNTL-U: remove the whole input */
                     20: #define W_KEY_IC       0x09    /* CNTL-I: insert character/line */
                     21: 
                     22: #define W_KEY_TAB      0x09    /* CNTL-I: TAB, go to next field */
                     23: #define W_KEY_BTAB     0x02    /* CNTL-B: back-TAB, go to previous field */
                     24: 
                     25: /* ------------------------------------------------------------------------ */
                     26: 
                     27: /*
                     28:  *      return values of the library functions
                     29:  */
                     30: #define WIN_OK         0       /* function executed */
                     31: #define WIN_ABORT       94      /* function aborted */
                     32: #define WIN_PREVFIE     95      /* dialog: previous field */
                     33: #define WIN_NEXTFIE     96      /* dialog: next field */
                     34: #define WIN_PREVMEN    97      /* pulldown menu: left */
                     35: #define WIN_NEXTMEN    98      /* pulldown menu: right */
                     36: #define WIN_ERR                99      /* error in function */
                     37: 
                     38: /* ------------------------------------------------------------------------ */
                     39: 
                     40: /*
                     41:  *      list of curses windows
                     42:  */
                     43: typedef struct w_list {
                     44:        WINDOW *w_w;            /* pointer to curses window */
                     45:        struct w_list *w_next;  /* pointer to next entry of the list */
                     46: } W_LIST;
                     47: 
                     48: /* ------------------------------------------------------------------------ */
                     49: 
                     50: /*
                     51:  *      structure of one entry in pulldown menus
                     52:  */
                     53: struct menu {
                     54:        char *m_text;           /* text of this menu line */
                     55:        int  m_opt;             /* number of character to select this entry */
                     56: };
                     57: 
                     58: /* ------------------------------------------------------------------------ */
                     59: 
                     60: #define MAXGRP  4               /* max number of groups in button box */
                     61: #define MAXBUT  3               /* max number of buttons in one group */
                     62: 
                     63: /*
                     64:  *      structure of one button
                     65:  */
                     66: struct button {
                     67:        char *b_text;           /* label of the button */
                     68:        int  b_val;             /* value of the button */
                     69: };
                     70: 
                     71: /*
                     72:  *      structure of a group of buttons
                     73:  */
                     74: struct bgroup {
                     75:        char *g_text;           /* title of the group */
                     76:        int  g_anz;             /* number of buttons in the group */
                     77:        struct button *g_ptr[MAXBUT];/* pointers to the button structs */
                     78: };
                     79: 
                     80: /*
                     81:  *      structure of a button box
                     82:  */
                     83: struct bbox {
                     84:        char *b_text;           /* title of the box */
                     85:        int  b_anz;             /* number of groups in the box */
                     86:        struct bgroup *b_ptr[MAXGRP];/* pointers to the group structs */
                     87: };
                     88: 
                     89: /* ------------------------------------------------------------------------ */
                     90: 
                     91: #define MAXELM  2               /* max number of elements per dialog */
                     92: 
                     93: #define FIELD   1               /* type of element: input field */
                     94: 
                     95: /*
                     96:  *      structure of a element
                     97:  */
                     98: struct delem {
                     99:        char e_typ;             /* typ of element */
                    100:        char *e_text;           /* label of element */
                    101:        int  e_len;             /* size of input field */
                    102:        char *e_data;           /* pointer to memory for input */
                    103: };
                    104: 
                    105: /*
                    106:  *      structure of a dialog
                    107:  */
                    108: struct dial {
                    109:        char *d_text;           /* title of the dialog */
                    110:        int  d_anz;             /* number of elements */
                    111:        struct delem *d_ptr[MAXELM];/* pointers to the elements */
                    112: };
                    113: 
                    114: /* ------------------------------------------------------------------------ */
                    115: 
                    116: /*
                    117:  *     structure of a scrollbar
                    118:  */
                    119: typedef struct scrollbar {
                    120:        WINDOW  *sc_window;     /* curses window for scrollbar */
                    121:        int     sc_size;        /* high of the scrollbar */
                    122:        int     sc_position;    /* position of the slider */
                    123: } SCROLLBAR;
                    124: 
                    125: /* ------------------------------------------------------------------------ */
                    126: 
                    127: /*
                    128:  *      structure of a list box
                    129:  */
                    130: typedef struct listbox {
                    131:        char *l_text;           /* title of the box */
                    132:        int l_rows;             /* no. of rows of the list */
                    133:        int l_cols;             /* no. of columns of the list */
                    134:        int l_vbar;             /* flag: list with vertical scroll bar? */
                    135:        WINDOW *wb;             /* window for the whole box */
                    136:        WINDOW *wl;             /* window for the list */
                    137:        SCROLLBAR *bar;         /* scrollbar for list */
                    138: } LISTBOX;
                    139: 
                    140: /* ------------------------------------------------------------------------ */
                    141: 
                    142: #define PFKLABLEN  6           /* size of a function key label */
                    143: 
                    144: /*
                    145:  *      structure of a function key
                    146:  */
                    147: struct pfkey {
                    148:        char label[PFKLABLEN+1];/* label of the function key */
                    149:        char *cmd;              /* configurated command */
                    150: };
                    151: 
                    152: /* ------------------------------------------------------------------------ */
                    153: 
                    154: /*
                    155:  *      import graphics character set
                    156:  */
                    157: extern chtype ul_corner, ur_corner, ll_corner, lr_corner;
                    158: extern chtype r_tee, l_tee, b_tee, t_tee;
                    159: extern chtype h_line, v_line;
                    160: extern chtype u_arrow, d_arrow, checkboard, fullboard;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.