diff options
Diffstat (limited to 'lib/libforms/forms.h')
-rw-r--r-- | lib/libforms/forms.h | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/lib/libforms/forms.h b/lib/libforms/forms.h deleted file mode 100644 index d5bd723..0000000 --- a/lib/libforms/forms.h +++ /dev/null @@ -1,189 +0,0 @@ -/*- - * Copyright (c) 1995 - * Paul Richards. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer, - * verbatim and that no modifications are made prior to this - * point in the file. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Paul Richards. - * 4. The name Paul Richards may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY PAUL RICHARDS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL PAUL RICHARDS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#ifndef _FORMS_H_ -#define _FORMS_H_ - -#include <ncurses.h> -#include <strhash.h> - -#define F_DEFATTR 0 -#define F_SELATTR A_REVERSE - -/* Status values */ - -#define ST_ERROR -1 -#define ST_OK 0 -#define ST_DONE 1 -#define ST_CANCEL 2 -#define ST_NOBIND 3 -#define ST_RUNNING 4 - -typedef enum { - TT_ANY, - TT_OBJ_INST, - TT_OBJ_DEF, - TT_FUNC, - TT_DISPLAY, - TT_ATTR -} TupleType; - -typedef enum { - DT_ANY, - DT_NCURSES, - DT_X, - DT_VGA -} DisplayType; - -typedef enum { - OT_ACTION, - OT_COMPOUND, - OT_FUNCTION, - OT_INPUT, - OT_MENU, - OT_SHADOW, - OT_TEXT -} ObjectType; - -#define FUNCP void(*)(void *) - -typedef struct Tuple { - char *name; - int type; - void (*addr)(void *); -} TUPLE; - -typedef struct NcursesDevice { - char *ttyname; - char *input; - char *output; - SCREEN *screen; -} NCURSDEV; - -typedef struct NcursesWindow { - WINDOW *win; -} NCURSES_WINDOW; - -typedef struct Display { - DisplayType type; - int height; - int width; - int virt_height; - int virt_width; - union { - NCURSDEV *ncurses; - } device; - hash_table *bind; -} DISPLAY; - -typedef struct ActionObject { - char *text; - char *action; -} ACTION_OBJECT; - -typedef struct CompoundObject { - char *defobj; -} COMPOUND_OBJECT; - -typedef struct FunctionObject { - char *fn; -} FUNCTION_OBJECT; - -typedef struct InputObject { - int lbl_flag; - char *label; - char *input; - int limit; -} INPUT_OBJECT; - -typedef struct MenuObject { - int selected; - int no_options; - char **options; -} MENU_OBJECT; - -typedef struct TextObject { - char *text; -} TEXT_OBJECT; - -typedef union { - NCURSES_WINDOW *ncurses; -} WIN; - -typedef union { - ACTION_OBJECT *action; - COMPOUND_OBJECT *compound; - FUNCTION_OBJECT *function; - INPUT_OBJECT *input; - MENU_OBJECT *menu; - TEXT_OBJECT *text; -} OBJ_TYPE; - -typedef struct Object { - ObjectType type; - int status; - struct Object *parent; - int y; - int x; - int height; - int width; - char *attributes; - char *highlight; - char *lnext; - char *lup; - char *ldown; - char *lleft; - char *lright; - char *UserDrawFunc; - char *UserProcFunc; - char *OnEntry; - char *OnExit; - OBJ_TYPE object; - hash_table *bind; - struct Display *display; - WIN window; -} OBJECT; - -/* Externally visible variables */ -extern hash_table *root_table; - -/* Function declarations */ -__inline struct Tuple *get_tuple(hash_table *, char *, TupleType); -TUPLE *tuple_search(OBJECT *, char *, TupleType); -int bind_tuple(hash_table *, char *, TupleType, void(*fn)()); -int add_menu_option(MENU_OBJECT *, char *); -void draw_box(OBJECT *); -void draw_shadow(OBJECT *); - -#endif /* _FORMS_H_ */ |