mirror of
https://github.com/byteworksinc/ORCA-C.git
synced 2024-09-29 02:02:32 +00:00
1 line
9.4 KiB
C
1 line
9.4 KiB
C
|
/********************************************
*
* Menu Manager
*
* Copyright Apple Computer, Inc. 1986-91
* All Rights Reserved
*
* CopyRight 1992, Byte Works, Inc.
*
********************************************/
#ifndef __TYPES__
#include <TYPES.h>
#endif
#ifndef __MENU__
#define __MENU__
/* error codes */
#define menuStarted 0x0F01
#define menuItemNotFound 0x0F02
#define menuNoStruct 0x0F03
#define dupMenuID 0x0F04
/* InsertPathMItems bit flags */
#define ipmiNotExpanded 0x0010
#define ipmiDevNumValid 0x0008
#define ipmiOpenFolders 0x0004
#define ipmiDeviceAtTop 0x0001
/* MenuDefProc Codes */
#define mDrawMsg 0x0000
#define mChooseMsg 0x0001
#define mSizeMsg 0x0002
#define mDrawTitle 0x0003
#define mDrawMItem 0x0004
#define mGetMItemID 0x0005
/* Reference Flags */
#define menuRefPtr 0x0000
#define mRefHandle 0x4000
#define mRefResource 0x8000
/* Menu Flags */
#define menuAllowCache 0x0008
#define menuCustom 0x0010
#define menuXOR 0x0020
#define menuDisabled 0x0080
#define menuAlwaysCallMChoose 0x0100
/* Item Flags */
#define itemBold 0x0001
#define itemItalic 0x0002
#define itemUnderline 0x0004
#define itemXOR 0x0020
#define itemDivider 0x0040
#define itemDisabled 0x0080
#define itemOutline 0x0800
#define itemShadow 0x1000
/* Old Menu Flags */
#define mInvis 0x0004
#define mCustom 0x0010
#define mXor 0x0020
#define mSelected 0x0040
#define mDisabled 0x0080
/* MenuFlag Masks */
#define menuCacheMask 0x0008
#define customMenu 0x0010
#define xorMItemHilite 0x0020
#define xorTitleHilite 0x0020
#define underMItem 0x0040
#define disableItem 0x0080
#define disableMenu 0x0080
#define enableItem 0xFF7F
#define enableMenu 0xFF7F
#define noUnderMItem 0xFFBF
#define colorMItemHilite 0xFFDF
#define colorTitleHilite 0xFFDF
#define colorReplace 0xFFDF
#define standardMenu 0xFFEF
/* Other misc constants */
#define type2 0x0040
#ifndef mtItemRefArrayLength /* MenuTemplate - default number of Ref's */
#define mtItemRefArrayLength 0x0005
#endif
#ifndef mbtMenuRefArrayLength /* MenuBarTemplate - default number of Ref's */
#define mbtMenuRefArrayLength 0x0005
#endif
typedef CtlRec MenuBarRec, *MenuBarRecPtr, **MenuBarRecHndl;
struct MenuRec {
Word menuID; /* Menu's ID number */
Word menuWidth; /* Width of menu */
Word menuHeight; /* Height of menu */
WordProcPtr menuProc; /* Menu's definition procedure */
Word menuFlag; /* Bit flags */
Word numOfItems;
Word titleWidth; /* Width of menu's title */
Pointer titleName;
Handle menuCache;
};
typedef struct MenuRec MenuRec, *MenuRecPtr, **MenuRecHndl;
struct MenuItemTemplate {
Word version; /* Version number (must be 0) */
Word itemID; /* Menu item ID */
Byte itemChar; /* Primary keystroke character */
Byte itemAltChar; /* Alternate keystroke character */
Word itemCheck; /* Character code for checked items */
Word itemFlag; /* Menu item flag word */
Ref itemTitleRef; /* Reference to item title string */
} ;
typedef struct MenuItemTemplate MenuItemTemplate;
struct MenuTemplate {
Word version; /* Version number (must be 0) */
Word menuID; /* Menu ID */
Word menuFlag; /* Menu flag word */
Ref menuTitleRef; /* Reference to menu title string */
Ref itemRefArray[mtItemRefArrayLength]; /* mtItemRefArrayLength references to menu items */
};
typedef struct MenuTemplate MenuTemplate;
struct MenuBarTemplate {
Word version; /* Version number (must be 0) */
Word menuFlag; /* MenuBar flag word */
Ref menuRefArray[mbtMenuRefArrayLength]; /* mbtMenuRefArrayLength references to menus */
};
typedef struct MenuBarTemplate MenuBarTemplate;
typedef struct itemStruct {
Word itemFlag2;
Ref itemTit
|