|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4165 (0x1045) Types: TextFile Notes: UNIX file Names: »menu.h«
└─⟦7decd0fac⟧ Bits:30004155/disk4.imd SW95713I 386/ix Software Development System Rel. 2.0 └─⟦7decd0fac⟧ UNIX Filesystem └─⟦this⟧ »sd/new/usr/include/menu.h«
/* Copyright (c) 1984, 1986, 1987, 1988 AT&T */ /* All Rights Reserved */ /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ /* The copyright notice above does not evidence any */ /* actual or intended publication of such source code. */ #ident "@(#)menu.h 2.3 - 88/05/27" #include <curses.h> #include "eti.h" #ifndef STI_MENU #define STI_MENU /* Menu options: */ #define O_ONEVALUE 0x01 #define O_SHOWDESC 0x02 #define O_ROWMAJOR 0x04 #define O_IGNORECASE 0x08 #define O_SHOWMATCH 0x10 #define O_NONCYCLIC 0x20 /* Item options: */ #define O_SELECTABLE 0x01 typedef struct { char *str; int length; } TEXT; typedef struct ITEM { TEXT name; TEXT description; int index; /* Item number */ struct MENU *imenu; /* Pointer to parent menu */ int value; char *userptr; OPTIONS opt; int status; short y; /* y and x location of item in menu */ short x; struct ITEM *left; struct ITEM *right; struct ITEM *up; struct ITEM *down; } ITEM; #define _POSTED 0x1 #define _IN_DRIVER 0x2 #define _LINK_NEEDED 0x4 typedef struct MENU { int height; /* Number of chars high */ int width; /* Number of chars wide */ int rows; /* Number of items high */ int cols; /* Number of items wide */ int frows; /* Number of formated items high */ int fcols; /* Number of formated items wide */ int namelen; /* Length of widest name */ int desclen; /* Length of widest description */ int marklen; /* Length of mark */ int itemlen; /* Length of an one item */ char *pattern; /* Buffer used to store match chars */ int pindex; /* Index into pattern buffer */ WINDOW *win; /* Window containing entire menu */ WINDOW *sub; /* Portion of menu displayed */ WINDOW *userwin; /* User's window */ WINDOW *usersub; /* User's subwindow */ ITEM **items; int nitems; /* Total number of items in menu */ ITEM *curitem; /* Current item */ int toprow; /* Top row of menu */ int pad; /* Pad character */ chtype fore; /* Attribute for selection */ chtype back; /* Attribute for nonselection */ chtype grey; /* Attribute for inactive */ PTF_void menuinit; PTF_void menuterm; PTF_void iteminit; PTF_void itemterm; char *userptr; char *mark; OPTIONS opt; int status; } MENU; /* Define keys */ #define REQ_LEFT_ITEM KEY_MAX+1 #define REQ_RIGHT_ITEM KEY_MAX+2 #define REQ_UP_ITEM KEY_MAX+3 #define REQ_DOWN_ITEM KEY_MAX+4 #define REQ_SCR_ULINE KEY_MAX+5 #define REQ_SCR_DLINE KEY_MAX+6 #define REQ_SCR_DPAGE KEY_MAX+7 #define REQ_SCR_UPAGE KEY_MAX+8 #define REQ_FIRST_ITEM KEY_MAX+9 #define REQ_LAST_ITEM KEY_MAX+10 #define REQ_NEXT_ITEM KEY_MAX+11 #define REQ_PREV_ITEM KEY_MAX+12 #define REQ_TOGGLE_ITEM KEY_MAX+13 #define REQ_CLEAR_PATTERN KEY_MAX+14 #define REQ_BACK_PATTERN KEY_MAX+15 #define REQ_NEXT_MATCH KEY_MAX+16 #define REQ_PREV_MATCH KEY_MAX+17 extern ITEM **menu_items (), *current_item (), *new_item (); extern MENU *new_menu (); extern OPTIONS item_opts (), menu_opts (); extern PTF_void item_init (), item_term (), menu_init (), menu_term (); extern WINDOW *menu_sub (), *menu_win (); extern char *item_description (), *item_name (), *item_userptr (), *menu_mark (), *menu_pattern (), *menu_userptr (); extern chtype menu_back (), menu_fore (), menu_grey (); extern int free_item (), free_menu (), item_count (), item_index (), item_opts_off (), item_opts_on (), item_value (), item_visible (), menu_driver (), menu_opts_off (), menu_opts_on (), menu_pad (), pos_menu_cursor (), post_menu (), scale_menu (), set_current_item (), set_item_init (), set_item_opts (), set_item_term (), set_item_userptr (), set_item_value (), set_menu_back (), set_menu_fore (), set_menu_format (), set_menu_grey (), set_menu_init (), set_menu_items (), set_menu_mark (), set_menu_opts (), set_menu_pad (), set_menu_pattern (), set_menu_sub (), set_menu_term (), set_menu_userptr (), set_menu_win (), set_top_row (), top_row (), unpost_menu (); void menu_format (); #endif /* STI_MENU */