Setting NSDocument as delegate of NSMenu
I have a menu item whose state should depend on whichever NSDocument
is open. From my understanding, to make its state change dynamically I should use the NSMenu
delegate method menuNeedsUpdate:
.
It seems like I would want to have the menu's delegate be the First Responder in MainMenu.xib
. However, Interface Builder won't let me set it as the Main Menu's delegate. How can I make开发者_开发技巧 a delegate which will be able to access the currently active document?
I generally make such changes in the validateMenuItem:
method being called before the menu is shown. The receiver of the action is asked whether the item is to be enabled or not. But you can do pretty much any change there. Since 10.5 it is also safe to add and remove items during such a call.
精彩评论