Re: Adding menu items to the "Help" menu
Re: Adding menu items to the "Help" menu
- Subject: Re: Adding menu items to the "Help" menu
- From: Uli Kusterer <email@hidden>
- Date: Wed, 24 Jan 2007 10:09:12 +0100
Am 24.01.2007 um 07:24 schrieb Mark Manes:
Another interesting find.. I created a menu outlet and when I print
the description of the object that is sent to me when I am in the
awakeFromNib method I don't see the help menu listed. I see Apple,
File and Window.. where did the help go?
Of course when my app runs there is a help menu.
Can you..err, help?
That's a Classic MacOS hold-over. In System 7.5, the help menu was
a system menu at the right end of the menu bar (like an NSMenuExtra
or NSStatusItem). It was alwaqys there, and you could request a
MenuHandle to it to which you could append your own items.
When OS 9 came about, the help menu was changed to look like a
regular menu with the title "Help", immediately following the app's
menus. When Carbon was implemented and the HIToolbox to bring a Mac-
style menu bar to NeXTstep, to give us MacOS X, this was taken along.
So, whenever there's no help menu in your application, HIToolbox
goes and adds one, so any Carbon client code can get the help menu as
it expects. It seems to be smart enough to not do that when there is
already a Cocoa help menu, but I guess you need to somehow tell
AppKit which menu is your help menu.
Have you tried creating a new project from a template and copying
its Help menu to your MainMenu.nib? My guess would be that this help
menu is somehow specially marked as a help menu. Maybe a custom
class? A tag? A special menu item that it looks for to identify your
help menu? Hooked up to some outlet? (unlikely)
Hope that helps you find out more.
Cheers,
-- M. Uli Kusterer
http://www.zathras.de
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden