#sccs "@(#)tam:form.h 1.2" #ifndef _FORM #define _FORM #include #include #include #define F_LRMARGIN (M_LRMARGIN) /* left/right margin */ #define F_TBMARGIN (M_TBMARGIN) /* top/bottom margin */ #define F_MAXWIDTH (M_MAXWIDTH) /* maximum width */ #define F_MAXHEIGHT (M_MAXHEIGHT) /* maximum height */ #define F_BORDFLAGS (BORDHELP|BORDCANCEL) #define F_BEGIN 0x1 /* begin a menu */ #define F_END 0x2 /* end (delete) the menu */ #define F_INPUT 0x4 /* accept input */ #define F_POPUP (F_BEGIN|F_END|F_INPUT) /* form flags */ #define F_WINSON 0x1 /* use son placement algorithm */ #define F_WINNEW 0x2 /* use new placement algorithm */ #define F_USEWIN 0x4 /* use supplied window */ #define F_NOMOVE 0x10 /* to turn off move icon */ #define F_NOHELP 0x20 /* to turn off help icon */ #define F_RDONLY 0x40 /* read only form, no inputs */ /* field flags */ #define F_CLEARIT 0x1 /* clear entry on first edit op */ #define F_MONLY 0x2 /* force menu choices if menu */ #define FERR_OK 0 /* no error */ #define FERR_TOOBIG -1 /* too many items in menu */ #define FERR_ARGS -2 /* catch all for bad args */ #define FERR_NOWIN -3 /* can't create a window */ #define FERR_SYS -4 /* system error (signal) */ #define FERR_GETSTAT -5 /* error in 'stat'ing old win */ #define FERR_SETSTAT -6 /* error in 'stat'ing old win */ #define FERR_NOMEM -7 /* if malloc failed */ #define FERR_BIG -8 /* error window too big */ #define FERR_WRITE -9 /* if a write fails */ typedef struct { char *fl_name; /* field name */ char fl_row; /* field row */ char fl_ncol; /* name column */ char fl_fcol; /* field column */ char fl_len; /* field length */ char fl_flags; /* field flags */ char *fl_value; /* field value (initial/final) */ menu_t *fl_menu; /* optional menu pointer */ char *fl_prompt; /* field prompt */ } field_t; typedef struct { char *f_label; /* form label */ char *f_name; /* form name */ char f_flags; /* form flags */ int f_win; /* form window */ track_t *f_track; /* form track list */ field_t *f_fields; /* fields */ field_t *f_curfl; /* current field */ } form_t; #endif _FORM