Annotation of researchv10dc/630/include/menu.h, revision 1.1.1.1

1.1       root        1: /*       Copyright (c) 1987 AT&T   */
                      2: /*       All Rights Reserved       */
                      3: 
                      4: /*       THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T   */
                      5: /*       The copyright notice above does not evidence any      */
                      6: /*       actual or intended publication of such source code.   */
                      7: 
                      8: #include <sccsid.h>
                      9: HVERSION(menu, @(#)menu.h      1.1.1.2 (5/12/87));
                     10: 
                     11: /*
                     12:  *     Defines for Tmenu and Titem menu structures.
                     13:  *     Old menu structures can be found in <dmd.h>.
                     14:  */
                     15: 
                     16: typedef struct Titem
                     17: {
                     18:     char           *text;      /* string for menu */
                     19:     struct {
                     20:        unsigned short    uval; /* user field */
                     21:        unsigned short    grey; /* flag indicates invalid selection */
                     22:     } ufield;
                     23:     struct Tmenu    *next;     /* pointer to sub-menu */
                     24:     Bitmap         *icon;      /* pointer to the icons bitmap */
                     25:     struct Font            *font;      /* font defined for this item */
                     26:     void           (*dfn)();   /* execute function before sub-menu */
                     27:     void           (*bfn)();   /* execute function after sub-menu */
                     28:     void           (*hfn)();   /* execute function on selection */
                     29: } Titem;
                     30: 
                     31: typedef struct Tmenu
                     32: {
                     33:     Titem    *item;            /* Titem array, ending with text=0 */
                     34:     short    prevhit;          /* private to menuhit() */
                     35:     short    prevtop;          /* private to menuhit() */
                     36:     Titem    *(*generator)();  /* used if item == 0 */
                     37:     short    menumap;          /* bit definition for user Titem structure */
                     38: } Tmenu;
                     39: 
                     40: /*
                     41:  *     The following bit definitions are for the user to define
                     42:  *     the structure of the user Titem structure.  These bits are
                     43:  *     stored in the menumap data member, which converts the user
                     44:  *     Titem structure into that of the Titem structure defined above.
                     45:  */
                     46: #define TM_TEXT                0x0001          /* defines the text field */
                     47: #define        TM_UFIELD       0x0002          /* defines the ufield field */
                     48: #define TM_NEXT                0x0004          /* defines the next field */
                     49: #define TM_ICON                0x0008          /* defines the icon field */
                     50: #define TM_FONT                0x0010          /* defines the font field */
                     51: #define TM_DFN         0x0020          /* defines the dfn field */
                     52: #define TM_BFN         0x0040          /* defines the bfn field */
                     53: #define TM_HFN         0x0080          /* defines the hfn field */
                     54: 
                     55: #define TM_EXPAND      1               /* expand submenus on invocation */
                     56: #define TM_NORET       2               /* don't return until non-selection */
                     57: #define TM_STATIC      4               /* select on button depression */
                     58: #define TM_POINT       8               /* specify a point for the root menu */
                     59: 
                     60: #define MAX_TMFIELDS   9               /* number of fields in Titem */
                     61: #define MAX_MASK       0x0100          /* upper limit bit definition */
                     62: 
                     63: 
                     64: /*
                     65:  *     Definition of an item in the More submenu 
                     66:  */
                     67: typedef struct Titem1 {
                     68:        char *text;
                     69:        struct {
                     70:                unsigned short uval;
                     71:                unsigned short grey;
                     72:        } ufield;
                     73:        struct Tmenu *next;
                     74:        Bitmap *icon;
                     75:        void (*dfn)();
                     76: } Titem1;
                     77: 
                     78: 
                     79: extern void tm_ret();                  /* return function from TM_NORET */
                     80: extern Titem *tmenuhit();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.