home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / progrmng / mlpmodul.sit / MacLogimoPlus Documentation / DEF3 Files / MenuMgr.DEF < prev    next >
Encoding:
Modula Definition  |  1990-06-14  |  5.0 KB  |  94 lines  |  [TEXT/PMED]

  1. DEFINITION MODULE MenuMgr;     (* Christoph Fleischer 01.02.85 *)
  2.                                (* MacIntosh Toolbox Menu Manager Routines *)
  3.                                (* last modification   15.05.85 fxk*)
  4.  
  5. FROM SYSTEM IMPORT ADDRESS;
  6. FROM MacBase IMPORT LongInt,Handle;
  7. FROM QuickDraw IMPORT Style,Point;
  8. IMPORT MacBase;
  9. EXPORT QUALIFIED
  10.      noMark,checkMark,appleSymbol,cmdSymbol,textMenuProc,maxItem,
  11.      mDrawMsg,mChooseMsg,mSizeMsg,
  12.      MenuHandle,MenuPtr,MenuInfo,StrPtr,
  13.      InitMenus,NewMenu,GetMenu,DisposeMenu,AppendMenu,AddResMenu,InsertResMenu,
  14.      InsertMenu,DrawMenuBar,DeleteMenu,ClearMenuBar,GetNewMBar,GetMenuBar,
  15.      SetMenuBar,MenuSelect,MenuKey,HiliteMenu,SetItem,GetItem,DisableItem,
  16.      EnableItem,CheckItem,SetItemIcon,GetItemIcon,SetItemStyle,GetItemStyle,
  17.      SetItemMark,GetItemMark,SetMenuFlash,CalcMenuSize,CountMItems,GetMHandle,
  18.      FlashMenuBar;
  19.  
  20. CONST
  21.   noMark      =  0;  appleSymbol = 20;        (* mark symbols for MarkItem *)
  22.   cmdSymbol   = 17;  checkMark   = 18;
  23.  
  24.   textMenuProc=  0; maxItem     = 31;         (* max number of items in a text menu *)
  25.  
  26.   mDrawMsg    =  0;  mChooseMsg  =  1;  mSizeMsg    =  2;(* menu defProc messages *)
  27.  
  28. TYPE
  29.   Ptr=ADDRESS;StrPtr = MacBase.StrPtr; (* pointer to a Pascal String *)
  30.   ResType = MacBase.OsType;
  31.   MenuHandle  = POINTER TO MenuPtr;
  32.   MenuPtr     = POINTER TO MenuInfo;
  33.   MenuInfo    = RECORD
  34.                   menuId:       INTEGER;
  35.                   menuWidth:    INTEGER;
  36.                   menuHeight:   INTEGER;
  37.                   menuProc:     Handle;
  38.                   enableFlags:  ARRAY[0..1] OF BITSET;
  39.                   menuData:     ARRAY[0..255] OF CHAR;
  40.                 END;
  41.  
  42.  
  43. PROCEDURE InitMenus;                                          (*INLINE $A930*)
  44. PROCEDURE NewMenu(menuID: INTEGER; menuTitle: StrPtr): MenuHandle;(*INLINE $A931*)
  45. PROCEDURE GetMenu(menuID:  INTEGER): MenuHandle;              (*INLINE $A9BF*)
  46. PROCEDURE DisposeMenu(menu: MenuHandle);                      (*INLINE $A932*)
  47. PROCEDURE AppendMenu(menu: MenuHandle; data: StrPtr);      (*INLINE $A933*)
  48.  
  49. PROCEDURE InsertMenu (menu: MenuHandle; beforeId: INTEGER);   (*INLINE $A935*)
  50. PROCEDURE DeleteMenu (menuId: INTEGER);                       (*INLINE $A936*)
  51. PROCEDURE DrawMenuBar;                                        (*INLINE $A937*)
  52. PROCEDURE ClearMenuBar;                                       (*INLINE $A934*)
  53.  
  54. PROCEDURE GetMenuBar():Handle;                                (*INLINE $A93B*)
  55. PROCEDURE GetNewMBar(menuBarID:  INTEGER): Handle;            (*INLINE $A9C0*)
  56. PROCEDURE SetMenuBar(menuBar: Handle);                        (*INLINE $A93C*)
  57.  
  58. PROCEDURE MenuSelect (startPt: Point): LongInt;               (*INLINE $A93D*)
  59. PROCEDURE MenuKey    (ch: CHAR): LongInt;                     (*INLINE $A93E*)
  60. PROCEDURE HiliteMenu (menuId: INTEGER);                       (*INLINE $A938*)
  61.  
  62. PROCEDURE SetItem    (menu: MenuHandle; item: INTEGER; itemString: StrPtr);
  63.                                                               (*INLINE $A947*)
  64. PROCEDURE GetItem    (menu: MenuHandle; item: INTEGER; itemString: StrPtr);
  65.                                                               (*INLINE $A946*)
  66. PROCEDURE EnableItem (menu: MenuHandle; item: INTEGER);       (*INLINE $A939*)
  67. PROCEDURE DisableItem(menu: MenuHandle; item: INTEGER);       (*INLINE $A93A*)
  68. PROCEDURE CheckItem  (menu: MenuHandle; item: INTEGER; checked: BOOLEAN);
  69.                                                               (*INLINE $A945*)
  70.  
  71. PROCEDURE SetItemIcon(menu: MenuHandle; item: INTEGER; iconNum: INTEGER);
  72.                                                               (*INLINE $A940*)
  73. PROCEDURE GetItemIcon(menu: MenuHandle; item: INTEGER; VAR iconNum: INTEGER);
  74.                                                               (*INLINE $A93F*)
  75. PROCEDURE SetItemStyle(menu: MenuHandle; item: INTEGER; styleVal: Style);
  76.                                                               (*INLINE $A942*)
  77. PROCEDURE GetItemStyle(menu: MenuHandle; item: INTEGER; VAR styleVal: Style);
  78.                                                               (*INLINE $A941*)
  79. PROCEDURE SetItemMark(menu: MenuHandle; item: INTEGER; markChar: CHAR);
  80.                                                               (*INLINE $A944*)
  81. PROCEDURE GetItemMark(menu: MenuHandle; item: INTEGER; VAR markChar: CHAR);
  82.                                                               (*INLINE $A943*)
  83. PROCEDURE SetMenuFlash(menu: MenuHandle; flashCount: INTEGER);(*INLINE $A94A*)
  84. PROCEDURE FlashMenuBar(menuID: INTEGER);                      (*INLINE $A94C*)
  85.  
  86. PROCEDURE GetMHandle(menuID: INTEGER): MenuHandle;            (*INLINE $A949*)
  87. PROCEDURE CountMItems(menu:  MenuHandle):  INTEGER;           (*INLINE $A950*)
  88. PROCEDURE AddResMenu(menu: MenuHandle; theType:ResType);      (*INLINE $A94D*)
  89. PROCEDURE InsertResMenu(menu: MenuHandle; theType:ResType; afterItem: INTEGER);
  90.                                                               (*INLINE $A951*)
  91. PROCEDURE CalcMenuSize(menu: MenuHandle);                     (*INLINE $A948*)
  92.  
  93. END MenuMgr.
  94.