Thank you,

I needed to know about the responder chain...  The thing is well thought out. 

Bruce


On Jan 31, 2011, at 3:43 PM, Sherm Pendley wrote:

> On Mon, Jan 31, 2011 at 5:25 PM, Bruce Cresanta <cresa...@me.com> wrote:
>> 
>>        I've been scouring through the docs trying to figure out how to get a 
>> reference to the main menu in an NSDocument based app.    I need to make 
>> programmatic changes to the menu depending on which NSDocument is key.   
>> Would you please help me find a pointer to the main menu?
> 
> What kind of changes? In general, adding and removing menu items is
> discouraged in Mac apps. Disabling menu items that don't apply to the
> current document and/or selection is the preferred approach, and for
> that you don't need a pointer to the menu. The current document is in
> the responder chain, so if it doesn't respond to a menu item's action
> message, that menu item will be disabled automatically. For more
> detailed control, for example to disable a menu item based on the
> current selection in a document, one can write a -validateMenuItem:
> method to decide whether the given menu item should be enabled or not.
> 
> I'm not trying to give you the "HIG lecture," I'm just saying -
> depending on what you want to do, there might be an easier way to do
> it that doesn't actually need a pointer to the main menu. On the other
> hand, there are certainly reasons to alter the main menu in other ways
> that *do* require such a pointer. So, if you do need it, there's
> NSApplications's mainMenu method, which you can call using the NSApp
> global, as in:
> 
>  NSMenu *menu = [NSApp mainMenu];
> 
> sherm--
> 
> -- 
> Cocoa programming in Perl:
> http://camelbones.sourceforge.net

_______________________________________________

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

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

Reply via email to