#ifndef _WIDGET_H #define _WIDGET_H #ifndef _COMPILER_H #include #endif /***************************************************************************** /* FILE: widget.h /* DATE: August 1988. /* AUTHOR: Richard A. Culshaw. /* DESCRIPTION: Contains the definitions of the widget structures. /* It should be included by all programs that want to /* use the widget library. /* DISCLAIMER: This file is deemed to be public-domain, on the simple /* provisos that this section remains in this file and /* that code using it do not do so for monetary gain. /* Neither the author, nor the authors employees at the /* time of developing this code, accept any liability or /* responsibility for the use, abuse or misuse of this /* code. /*****************************************************************************/ #include #include #include #include #include /* definition for command widget entry in linked list */ struct cmdwid{ WINDOW *widget; int id; char msg[100]; char acpt; int (*func)(); int length; int x,y; int active; struct cmdwid *next; } *cmdlist; /* definition for label widget entry in linked list */ struct lblwid{ WINDOW *widget; int id; char msg[100]; char pos; int length; int difference; int x,y; struct lblwid *next; } *lbllist; /* definition for togle widget entry in linked list */ struct tglwid{ WINDOW *widget; int id; char msg[100]; char tgl[10][20]; char toggle; int cur; int total; int length; int xtgl; int x,y; int active; struct tglwid *next; } *tgllist; /* definition for input widget entry in linked list */ struct inpwid{ WINDOW *widget; int id; char msg[100]; char acpt; char *input; int sofi; int exec; int lofs; int length; int x,y; int active; struct inpwid *next; } *inplist; /* linked list of characters used for activating widgets */ struct chentry { char ch; int type; int id; struct chentry *next; } *actlist; /* null entries in the various linked list */ #define NULLCMD (struct cmdwid *)NULL #define NULLLBL (struct lblwid *)NULL #define NULLTGL (struct tglwid *)NULL #define NULLINP (struct inpwid *)NULL #define NULLCH (struct chentry *)NULL /* part of the specifications for label widgets */ #define CENTRE 1 #define LEFTJUST 2 #define RIGHTJUST 4 #define NOHIGH 8 /* the types of the widgets */ #define CMD 1 #define TGL 2 #define LBL 3 #define INP 4 #define BLANK 1 #define NOBLANK 0 #define NULLWIDGET 0 #define EXEC 1 #define NOEXEC 0 #define VERTICAL 1 #define HORIZONTAL 2 typedef int WIDGET; typedef int WIDGETTYPE; __EXTERN int activate __PROTO((WIDGET)); __EXTERN int addtochlist __PROTO((int, int, WIDGETTYPE)); __EXTERN void boxwidget __PROTO((WINDOW *, int)); __EXTERN int chactive __PROTO((WIDGET, int, int)); __EXTERN int changelblwidget __PROTO((WIDGET, char *, int)); __EXTERN void cleartextwindow __PROTO((void)); __EXTERN int deactivate __PROTO((WIDGET, int)); __EXTERN int dehighlight __PROTO((WIDGET)); __EXTERN void deletechentry __PROTO((int)); __EXTERN void drawcmdwidget __PROTO((WINDOW *, char *, int, int, int)); __EXTERN void drawinpwidget __PROTO((WINDOW *, char *, int, int, int, int)); __EXTERN void drawlblwidget __PROTO((WINDOW *, char *, int, int, int, int)); __EXTERN void drawtextwindow __PROTO((int)); __EXTERN void drawtglwidget __PROTO((WINDOW *, char *, char *, int, int, int)); __EXTERN void endwidgets __PROTO((void)); __EXTERN int getinput __PROTO((WIDGET)); __EXTERN int highlight __PROTO((WIDGET)); __EXTERN void home __PROTO((void)); __EXTERN void initialisewidgets __PROTO((void)); __EXTERN void killcmdwidget __PROTO((WIDGET)); __EXTERN void killinpwidget __PROTO((WIDGET)); __EXTERN void killlblwidget __PROTO((WIDGET)); __EXTERN void killtextwindow __PROTO((void)); __EXTERN void killtglwidget __PROTO((WIDGET)); __EXTERN int killwidget __PROTO((WIDGET)); __EXTERN int light __PROTO((WIDGET, int)); __EXTERN WIDGET mkcmdwidget __PROTO((char *, int, int (*)(), int)); __EXTERN WIDGET mkinpwidget __PROTO((char *, int, char *, int, int, int, int)); __EXTERN WIDGET mklblwidget __PROTO((char *, int, int, int)); __EXTERN WIDGET mktglwidget __PROTO((char *, int, char **, int, int)); __EXTERN int opentextwindow __PROTO((int, int)); __EXTERN void report __PROTO((char *)); __EXTERN void screenrefresh __PROTO((void)); __EXTERN void togglewidget __PROTO((WIDGET)); __EXTERN int tsttglwidget __PROTO((WIDGET)); __EXTERN WIDGET widgetinput __PROTO((void)); __EXTERN WIDGETTYPE widgettype __PROTO((WIDGET)); #endif /* _WIDGET_H */