mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 16:31:01 +00:00
0ba83392d4
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
245 lines
8.3 KiB
OpenEdge ABL
245 lines
8.3 KiB
OpenEdge ABL
|
|
{
|
|
Created: Saturday, July 27, 1991 at 9:45 PM
|
|
Menus.p
|
|
Pascal Interface to the Macintosh Libraries
|
|
|
|
Copyright Apple Computer, Inc. 1985-1992
|
|
All rights reserved
|
|
|
|
|
|
Change History (most recent first):
|
|
|
|
<24> 6/26/92 DCL Miner Formatting Changes. Digging deep for things to do. Getting
|
|
the file ready for ETO 8.
|
|
<23> 3/27/92 DC number not known <KSM> - added InsertIntlResMenu and
|
|
reindtroduced InsertFontResMenu
|
|
<22> 3/9/92 DCL For New Improved Inside Mac: Added Call names without Abbrevs.:
|
|
AppendResMenu (AddResMenu), DeleteMCEntries (DelMCEntries),
|
|
DeleteMenuItem (DelMenuItem), DisposeMCInfo (DispMCInfo),
|
|
GetMenuHandle (GetMHandle), InsertMenuItem (InsMenuItem),
|
|
SetMenuItemText (SetItem), GetMenuItemText (GetItem). Affected
|
|
Files: Menus.[ph], Traps.[aph].
|
|
<21> 2/28/92 DCL Moved GetMBarHeight from Script.p to Menus.p
|
|
<20> 2/17/92 MH Remove defintion of InsertFontResMenu. Not part of public
|
|
interface (yet?)
|
|
<19> 9/17/91 MH params of InsertFontResMenu to standard DB output format
|
|
<18> 8/22/91 KSM DCC,#Bruges: Added utility routine InsertFontResMenu for Finder.
|
|
<17> 7/30/91 JL Updated Copyright.
|
|
<16> 6/14/91 JL Moved SavedBits to the Private Interface File: MenuMgrPriv.p.
|
|
<15> 2/4/91 JL changed parameter name iconNum to iconIndex.
|
|
<14> 1/30/91 gbm abcdfsn: Well, when you move identifiers to another file I think
|
|
you should remove them from the one they are in...
|
|
<13> 1/29/91 JL Moved SaveBits, RestoreBits, and DiscardBits to MenuMgrPriv
|
|
<12> 1/28/91 LN Checked in Database Generated File from DSG. Added
|
|
<11> 11/3/90 JAL Fixing MCTable putting back to an Array [0..0].
|
|
<10> 10/3/90 JAL Updated MenuCRsrc.
|
|
<9> 5/31/90 KSM Now that I did the thing in the To Do section, remove the To Do
|
|
reminder comment...
|
|
<8> 5/31/90 KSM Forgot to declare type for SaveBits.
|
|
<7> 5/31/90 KSM Add Save/Restore/Discard Bits calls.
|
|
<6> 4/11/90 KSM Add the InvalMenuBar trap.
|
|
<5> 3/5/90 BBH Added mDrawItemMsg and mCalcItemMsg
|
|
<4> 3/2/90 BBH Added mDrawItemMsg and mCalcItemMsg
|
|
|
|
To Do:
|
|
}
|
|
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT Menus;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingMenus}
|
|
{$SETC UsingMenus := 1}
|
|
|
|
{$I+}
|
|
{$SETC MenusIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingQuickdraw}
|
|
{$I $$Shell(PInterfaces)Quickdraw.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := MenusIncludes}
|
|
|
|
CONST
|
|
noMark = 0; {mark symbol for MarkItem}
|
|
|
|
{ menu defProc messages }
|
|
mDrawMsg = 0;
|
|
mChooseMsg = 1;
|
|
mSizeMsg = 2;
|
|
mDrawItemMsg = 4;
|
|
mCalcItemMsg = 5;
|
|
textMenuProc = 0;
|
|
hMenuCmd = 27; {itemCmd == 0x001B ==> hierarchical menu}
|
|
hierMenu = -1; {a hierarchical menu - for InsertMenu call}
|
|
mPopUpMsg = 3; {menu defProc messages - place yourself}
|
|
mctAllItems = -98; {search for all Items for the given ID}
|
|
mctLastIDIndic = -99; {last color table entry has this in ID field}
|
|
|
|
TYPE
|
|
MenuPtr = ^MenuInfo;
|
|
MenuHandle = ^MenuPtr;
|
|
MenuInfo = RECORD
|
|
menuID: INTEGER;
|
|
menuWidth: INTEGER;
|
|
menuHeight: INTEGER;
|
|
menuProc: Handle;
|
|
enableFlags: LONGINT;
|
|
menuData: Str255;
|
|
END;
|
|
|
|
MCEntryPtr = ^MCEntry;
|
|
MCEntry = RECORD
|
|
mctID: INTEGER; {menu ID. ID = 0 is the menu bar}
|
|
mctItem: INTEGER; {menu Item. Item = 0 is a title}
|
|
mctRGB1: RGBColor; {usage depends on ID and Item}
|
|
mctRGB2: RGBColor; {usage depends on ID and Item}
|
|
mctRGB3: RGBColor; {usage depends on ID and Item}
|
|
mctRGB4: RGBColor; {usage depends on ID and Item}
|
|
mctReserved: INTEGER; {reserved for internal use}
|
|
END;
|
|
|
|
|
|
MCTablePtr = ^MCTable;
|
|
MCTableHandle = ^MCTablePtr;
|
|
|
|
MCTable = ARRAY [0..0] OF MCEntry; { the entries themselves }
|
|
|
|
MenuCRsrcPtr = ^MenuCRsrc;
|
|
MenuCRsrcHandle = ^MenuCRsrcPtr;
|
|
MenuCRsrc = RECORD
|
|
numEntries: INTEGER; {number of entries}
|
|
mcEntryRecs: MCTable; {ARRAY [1..numEntries] of MCEntry}
|
|
END;
|
|
|
|
|
|
PROCEDURE InitMenus;
|
|
INLINE $A930;
|
|
FUNCTION NewMenu(menuID: INTEGER;menuTitle: Str255): MenuHandle;
|
|
INLINE $A931;
|
|
FUNCTION GetMenu(resourceID: INTEGER): MenuHandle;
|
|
INLINE $A9BF;
|
|
PROCEDURE DisposeMenu(theMenu: MenuHandle);
|
|
INLINE $A932;
|
|
PROCEDURE AppendMenu(menu: MenuHandle;data: Str255);
|
|
INLINE $A933;
|
|
PROCEDURE AddResMenu(theMenu: MenuHandle;theType: ResType);
|
|
INLINE $A94D;
|
|
PROCEDURE AppendResMenu(theMenu: MenuHandle;theType: ResType);
|
|
INLINE $A94D;
|
|
PROCEDURE InsertResMenu(theMenu: MenuHandle;theType: ResType;afterItem: INTEGER);
|
|
INLINE $A951;
|
|
PROCEDURE InsertMenu(theMenu: MenuHandle;beforeID: INTEGER);
|
|
INLINE $A935;
|
|
PROCEDURE DrawMenuBar;
|
|
INLINE $A937;
|
|
PROCEDURE InvalMenuBar;
|
|
INLINE $A81D;
|
|
PROCEDURE DeleteMenu(menuID: INTEGER);
|
|
INLINE $A936;
|
|
PROCEDURE ClearMenuBar;
|
|
INLINE $A934;
|
|
FUNCTION GetNewMBar(menuBarID: INTEGER): Handle;
|
|
INLINE $A9C0;
|
|
FUNCTION GetMenuBar: Handle;
|
|
INLINE $A93B;
|
|
FUNCTION GetMBarHeight: INTEGER;
|
|
INLINE $3EB8,$0BAA;
|
|
PROCEDURE SetMenuBar(menuList: Handle);
|
|
INLINE $A93C;
|
|
PROCEDURE InsMenuItem(theMenu: MenuHandle;itemString: Str255;afterItem: INTEGER);
|
|
INLINE $A826;
|
|
PROCEDURE InsertMenuItem(theMenu: MenuHandle;itemString: Str255;afterItem: INTEGER);
|
|
INLINE $A826;
|
|
PROCEDURE DelMenuItem(theMenu: MenuHandle;item: INTEGER);
|
|
INLINE $A952;
|
|
PROCEDURE DeleteMenuItem(theMenu: MenuHandle;item: INTEGER);
|
|
INLINE $A952;
|
|
FUNCTION MenuKey(ch: CHAR): LONGINT;
|
|
INLINE $A93E;
|
|
PROCEDURE HiliteMenu(menuID: INTEGER);
|
|
INLINE $A938;
|
|
PROCEDURE SetItem(theMenu: MenuHandle;item: INTEGER;itemString: Str255);
|
|
INLINE $A947;
|
|
PROCEDURE SetMenuItemText(theMenu: MenuHandle;item: INTEGER;itemString: Str255);
|
|
INLINE $A947;
|
|
PROCEDURE GetItem(theMenu: MenuHandle;item: INTEGER;VAR itemString: Str255);
|
|
INLINE $A946;
|
|
PROCEDURE GetMenuItemText(theMenu: MenuHandle;item: INTEGER;VAR itemString: Str255);
|
|
INLINE $A946;
|
|
PROCEDURE DisableItem(theMenu: MenuHandle;item: INTEGER);
|
|
INLINE $A93A;
|
|
PROCEDURE EnableItem(theMenu: MenuHandle;item: INTEGER);
|
|
INLINE $A939;
|
|
PROCEDURE CheckItem(theMenu: MenuHandle;item: INTEGER;checked: BOOLEAN);
|
|
INLINE $A945;
|
|
PROCEDURE SetItemMark(theMenu: MenuHandle;item: INTEGER;markChar: CHAR);
|
|
INLINE $A944;
|
|
PROCEDURE GetItemMark(theMenu: MenuHandle;item: INTEGER;VAR markChar: CHAR);
|
|
INLINE $A943;
|
|
PROCEDURE SetItemIcon(theMenu: MenuHandle;item: INTEGER;iconIndex: Byte);
|
|
INLINE $A940;
|
|
PROCEDURE GetItemIcon(theMenu: MenuHandle;item: INTEGER;VAR iconIndex: Byte);
|
|
INLINE $A93F;
|
|
PROCEDURE SetItemStyle(theMenu: MenuHandle;item: INTEGER;chStyle: Style);
|
|
INLINE $A942;
|
|
PROCEDURE GetItemStyle(theMenu: MenuHandle;item: INTEGER;VAR chStyle: Style);
|
|
PROCEDURE CalcMenuSize(theMenu: MenuHandle);
|
|
INLINE $A948;
|
|
FUNCTION CountMItems(theMenu: MenuHandle): INTEGER;
|
|
INLINE $A950;
|
|
FUNCTION GetMHandle(menuID: INTEGER): MenuHandle;
|
|
INLINE $A949;
|
|
FUNCTION GetMenuHandle(menuID: INTEGER): MenuHandle;
|
|
INLINE $A949;
|
|
PROCEDURE FlashMenuBar(menuID: INTEGER);
|
|
INLINE $A94C;
|
|
PROCEDURE SetMenuFlash(count: INTEGER);
|
|
INLINE $A94A;
|
|
FUNCTION MenuSelect(startPt: Point): LONGINT;
|
|
INLINE $A93D;
|
|
PROCEDURE InitProcMenu(resID: INTEGER);
|
|
INLINE $A808;
|
|
PROCEDURE GetItemCmd(theMenu: MenuHandle;item: INTEGER;VAR cmdChar: CHAR);
|
|
INLINE $A84E;
|
|
PROCEDURE SetItemCmd(theMenu: MenuHandle;item: INTEGER;cmdChar: CHAR);
|
|
INLINE $A84F;
|
|
FUNCTION PopUpMenuSelect(menu: MenuHandle;top: INTEGER;left: INTEGER;popUpItem: INTEGER): LONGINT;
|
|
INLINE $A80B;
|
|
FUNCTION MenuChoice: LONGINT;
|
|
INLINE $AA66;
|
|
PROCEDURE DelMCEntries(menuID: INTEGER;menuItem: INTEGER);
|
|
INLINE $AA60;
|
|
PROCEDURE DeleteMCEntries(menuID: INTEGER;menuItem: INTEGER);
|
|
INLINE $AA60;
|
|
FUNCTION GetMCInfo: MCTableHandle;
|
|
INLINE $AA61;
|
|
PROCEDURE SetMCInfo(menuCTbl: MCTableHandle);
|
|
INLINE $AA62;
|
|
PROCEDURE DispMCInfo(menuCTbl: MCTableHandle);
|
|
INLINE $AA63;
|
|
PROCEDURE DisposeMCInfo(menuCTbl: MCTableHandle);
|
|
INLINE $AA63;
|
|
FUNCTION GetMCEntry(menuID: INTEGER;menuItem: INTEGER): MCEntryPtr;
|
|
INLINE $AA64;
|
|
PROCEDURE SetMCEntries(numEntries: INTEGER; menuCEntries: MCTablePtr);
|
|
INLINE $AA65;
|
|
PROCEDURE InsertFontResMenu(theMenu: MenuHandle; afterItem: INTEGER;scriptFilter: INTEGER);
|
|
INLINE $303C, $0400, $A825;
|
|
PROCEDURE InsertIntlResMenu(theMenu: MenuHandle; theType: ResType;afterItem: INTEGER;
|
|
scriptFilter: INTEGER);
|
|
INLINE $303C, $0601, $A825;
|
|
|
|
{$ENDC} { UsingMenus }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|