home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-01-26 | 2.6 KB | 108 lines | [TEXT/CWIE] |
- unit MyMenus;
-
- interface
-
- uses
- Types, Menus;
-
- procedure SetIDItem (menu, item: integer; s: Str255);
- function GetIDItem (menu, item: integer): Str255;
- procedure SetItemEnable (mh: MenuHandle; item: integer; enable: boolean);
- function GetItemEnable (mh: MenuHandle; item: integer): boolean;
- procedure SetIDItemEnable (menu, item: integer; enable: boolean);
- function GetIDItemEnable (menu, item: integer): boolean;
- procedure DotItem (mh: MenuHandle; item: integer; dotted: boolean);
- procedure ClearMenuHandle (mh: MenuHandle);
- procedure SafeAppendMenu (mh: MenuHandle; item: Str255);
-
- implementation
-
- uses
- Balloons,
- MyAssertions;
-
- {$ifc not do_debug}
- {$definec AssertValidMenuID(m)}
- {$elsec}
- {$definec AssertValidMenuID(m) AssertValidMenuIDCode(m)}
- {$endc}
-
- procedure AssertValidMenuIDCode( menu: integer );
- begin
- Assert( (menu = kHMHelpMenuID) | (menu > 0) );
- end;
-
-
- procedure ClearMenuHandle (mh: MenuHandle);
- begin
- Assert( mh <> nil );
- while (CountMItems(mh) > 0) do begin
- DeleteMenuItem(mh, 1);
- end;
- end;
-
- procedure SafeAppendMenu (mh: MenuHandle; item: Str255);
- begin
- Assert( (mh <> nil) & (item <> '') );
- AppendMenu(mh, 'fred');
- SetMenuItemText(mh, CountMItems(mh), item);
- end;
-
- procedure SetIDItem (menu, item: integer; s: Str255);
- begin
- AssertValidMenuID( menu );
- Assert( (item > 0) & (s <> '') );
- SetMenuItemText(GetMenuHandle(menu), item, s);
- end;
-
- function GetIDItem (menu, item: integer): Str255;
- var
- s: Str255;
- begin
- AssertValidMenuID( menu );
- Assert( item > 0 );
- GetMenuItemText(GetMenuHandle(menu), item, s);
- GetIDItem := s;
- end;
-
- procedure SetItemEnable (mh: MenuHandle; item: integer; enable: boolean);
- begin
- Assert( (mh <> nil) & (item >= 0) );
- if enable then begin
- EnableItem(mh, item);
- end else begin
- DisableItem(mh, item);
- end;
- end;
-
- procedure SetIDItemEnable (menu, item: integer; enable: boolean);
- begin
- AssertValidMenuID( menu );
- Assert( item >= 0 );
- SetItemEnable(GetMenuHandle(menu), item, enable);
- end;
-
- function GetItemEnable (mh: MenuHandle; item: integer): boolean;
- begin
- Assert( (mh <> nil) & (item >= 0) );
- GetItemEnable := (item > 31) | btst(mh^^.enableFlags, item);
- end;
-
- function GetIDItemEnable (menu, item: integer): boolean;
- begin
- AssertValidMenuID( menu );
- Assert( item >= 0 );
- GetIDItemEnable := GetItemEnable(GetMenuHandle(menu), item);
- end;
-
- procedure DotItem (mh: MenuHandle; item: integer; dotted: boolean);
- begin
- Assert( (mh <> nil) & (item > 0) );
- if dotted then begin
- SetItemMark(mh, item, '•');
- end else begin
- SetItemMark(mh, item, chr(0));
- end;
- end;
-
- end.