Our app allows the user to write programs and to create custom menus and menu 
items, including setting key equivalents.

Because the key equivalents are under user control and because we re-use some 
for multiple purposes, menu items' key equivalents change a lot.

We need to get a chance to update/modify the menus and key equivalents *before* 
Cocoa starts looking for menu items that match the key equivalent.

At that time we need the ability to add/remove menus and menu items, set key 
equivalents, and enable/disable menu items.

menuNeedsUpdate: is an NSMenuDelegate Procotol that allows us to do exactly 
that when the user clicks in the menubar.

        
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSMenuDelegate_Protocol/Reference/Reference.html

We'd love to have menuNeedsUpdate: be called before Cocoa starts calling 
menuHasKeyEquivalent:forEvent:target:action:.

menuDidOpen: is too late, according to the docs:

        "Special Considerations: Don’t modify the structure of the menu or the 
menu items during this method."

Is there any way with OS X 10.6 and later to get this kind of advanced 
opportunity to modify menus and items for key presses?

Maybe some other class's delegate?

(Some our customers have 20 years worth of documents/programs which make rely 
on this feature, which Carbon's MenuSelect provides to this day.
That is, MenuSelect allowed us to rebuild the menus for both key events and 
menu bar events.)

--Jim

========================================================================

Jim "How does it work?" Prouty

Voice: (503) 620-3001, FAX: (503) 620-6754
Makers of IGOR Pro, scientific data analysis and graphing for Mac and PC
http://www.wavemetrics.com


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please 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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to