diff options
author | paul <paul@FreeBSD.org> | 1995-05-12 17:20:06 +0000 |
---|---|---|
committer | paul <paul@FreeBSD.org> | 1995-05-12 17:20:06 +0000 |
commit | 65e32573aa7d24409456153f596c431cc62fd970 (patch) | |
tree | 6558dacc67a647a255afdab138d04182dc651b44 /lib/libforms/internal.h | |
parent | 8c0e89af78b6c3f0d502b8ea4e44085b6c336102 (diff) | |
download | FreeBSD-src-65e32573aa7d24409456153f596c431cc62fd970.zip FreeBSD-src-65e32573aa7d24409456153f596c431cc62fd970.tar.gz |
New libforms.
Bumped major number.
Ncurses backend still needs improving.
Other back-ends need to be written.
Diffstat (limited to 'lib/libforms/internal.h')
-rw-r--r-- | lib/libforms/internal.h | 91 |
1 files changed, 53 insertions, 38 deletions
diff --git a/lib/libforms/internal.h b/lib/libforms/internal.h index f91b8395..ba38601 100644 --- a/lib/libforms/internal.h +++ b/lib/libforms/internal.h @@ -32,45 +32,60 @@ * */ -#define FK_UP f_keymap[0] -#define FK_DOWN f_keymap[1] -#define FK_RIGHT f_keymap[2] -#define FK_LEFT f_keymap[3] -#define FK_NEXT f_keymap[4] -#define FK_CLEFT f_keymap[5] -#define FK_CRIGHT f_keymap[6] -#define FK_CHOME f_keymap[7] -#define FK_CEND f_keymap[8] -#define FK_CBS f_keymap[9] -#define FK_CDEL f_keymap[10] -#define FK_ACCEPT f_keymap[11] +/* Object status values */ +#define O_VISIBLE 0x0001 +#define O_ACTIVE 0x0002 -extern unsigned int f_keymap[]; +/* Standard attribute commands */ +typedef enum { + ATTR_BOX, + ATTR_CENTER, + ATTR_RIGHT, + ATTR_SHADOW, + ATTR_UNKNOWN +} AttrType; + +struct attr_cmnd { + char *attr_name; + AttrType attr_type; +}; + +/* Ncurses color pairs */ +typedef struct color_pair { + int no; + int fg; + int bg; +} COLPAIR; + +extern struct attr_cmnd attr_cmnds[]; + +extern hash_table *root_table, *cbind; +extern DISPLAY *cdisp; +extern int lineno; /* Private function declarations */ -void display_field(WINDOW *, struct Field *); -void display_text(WINDOW *, struct Field *); -void display_input(WINDOW *, struct Field *); -void display_menu(WINDOW *, struct Field *); -void display_action(WINDOW *, struct Field *); -int print_string(WINDOW *, int, int, int, int, char *); -unsigned int do_key_bind(struct Form *, unsigned int); -int do_action(struct Form *); -int do_menu(struct Form *); -int do_input(struct Form *); -int init_field(char *, void *, void *); -int calc_string_width(char *); -void calc_field_height(struct Field *, char *); +int display_tuples(char *, void *, void *); +int refresh_displays(char *, void *, void *); +int copy_object_tree(char *, void *, void *); +void process_tuple(OBJECT *); +void process_object(OBJECT *); +void process_input_object(OBJECT *); +void process_menu_object(OBJECT *); +void process_text_object(OBJECT *); + +DISPLAY *default_open(DISPLAY *); +DISPLAY *ncurses_open(DISPLAY *); -#ifdef not -static void show_form(struct form *); -static void disp_text(struct form *); -static void disp_menu(struct form *); -static void disp_action(struct form *); -static void disp_input(struct form *); -static void field_menu(struct form *); -static void field_input(struct form *); -static void field_action(struct form *); -static int print_string(WINDOW *, int, int, int, int, char *); -static int next_field(struct form *form, int); -#endif +int ncurses_print_string(OBJECT *, char *); +void ncurses_print_status(char *); +int ncurses_bind_key(OBJECT *, unsigned int); +void ncurses_display_action(OBJECT *); +void ncurses_display_compound(OBJECT *); +void ncurses_display_function(OBJECT *); +void ncurses_display_input(OBJECT *); +void ncurses_display_menu(OBJECT *); +void ncurses_display_text(OBJECT *); +void ncurses_process_action(OBJECT *); +void ncurses_process_input(OBJECT *); +void ncurses_process_menu(OBJECT *); +void ncurses_process_text(OBJECT *); |