summaryrefslogtreecommitdiffstats
path: root/lib/libforms/internal.h
diff options
context:
space:
mode:
authorpaul <paul@FreeBSD.org>1995-05-12 17:20:06 +0000
committerpaul <paul@FreeBSD.org>1995-05-12 17:20:06 +0000
commit65e32573aa7d24409456153f596c431cc62fd970 (patch)
tree6558dacc67a647a255afdab138d04182dc651b44 /lib/libforms/internal.h
parent8c0e89af78b6c3f0d502b8ea4e44085b6c336102 (diff)
downloadFreeBSD-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.h91
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 *);
OpenPOWER on IntegriCloud