2 * 'textual user interface'
4 * Author : P.J. Kunst <kunst@prl.philips.nl>
14 #define A_ATTR (A_ATTRIBUTES ^ A_COLOR) /* A_BLINK, A_REVERSE, A_BOLD */
16 #define A_ATTR (A_ATTRIBUTES) /* standard UNIX attributes */
20 #define KEY_ESC 0x1b /* Escape */
22 typedef void (*FUNC
)(void);
26 char *name
; /* item label */
27 FUNC func
; /* (pointer to) function */
28 char *desc
; /* function description */
31 /* ANSI C function prototypes: */
35 WINDOW
*bodywin(void);
40 void titlemsg(char *msg
);
41 void bodymsg(char *msg
);
42 void errormsg(char *msg
);
43 void statusmsg(char *msg
);
45 bool keypressed(void);
50 void startmenu(menu
*mp
, char *title
, FUNC init
);
51 void domenu(menu
*mp
);
53 void mainmenu(menu
*mp
);
57 int weditstr(WINDOW
*win
, char *buf
, int field
);
58 WINDOW
*winputbox(WINDOW
*win
, int nlines
, int ncols
);
59 int getstrings(char *desc
[], char *buf
[], int field
);
61 #define editstr(s,f) (weditstr(stdscr,s,f))
62 #define mveditstr(y,x,s,f) (move(y,x)==ERR?ERR:editstr(s,f))
63 #define mvweditstr(w,y,x,s,f) (wmove(w,y,x)==ERR?ERR:weditstr(w,s,f))
65 #define inputbox(l,c) (winputbox(stdscr,l,c))
66 #define mvinputbox(y,x,l,c) (move(y,x)==ERR?w:inputbox(l,c))
67 #define mvwinputbox(w,y,x,l,c) (wmove(w,y,x)==ERR?w:winputbox(w,l,c))
71 /* vim: set ts=4 sw=4 et: */