Re: [Q] Cocoa newbie question
Re: [Q] Cocoa newbie question
- Subject: Re: [Q] Cocoa newbie question
- From: Steve Christensen <email@hidden>
- Date: Wed, 10 Dec 2003 19:25:33 -0800
On Dec 10, 2003, at 7:02 PM, James Chen wrote:
On Dec 11, 2003, at 10:17 AM, Sherm Pendley wrote:
On Dec 10, 2003, at 8:50 PM, Steve Christensen wrote:
I've been playing around writing some small apps to try stuff out. I
did a custom about box (i.e., call my own code instead of calling
-orderFrontStandardAboutPanel) and noticed that the Print item was
enabled
etc.? Or is there a "better practices" way of doing it that I
haven't yet figured out?
Implement the NSMenuValidation protocol in your controller object -
that is, implement the validateMenuItem: method.
Here's another solution.
Default target and action of menu item "Print" in nib file are "First
Responder" and "print:" respectively.
The menu item "Print" will be always enabled since NSView implement
message/method "print:".
If you change the action of "Print" to "printDocument:" in "First
Responder", the "Print" will be always disabled except
one of the instance implements "printDocument:" in the responder
chain. (only NSDocument implements this action by default)
So you may implement "printDocument:" in your window's delegate to
enable "Print" only if this window is printable in your aspect of
view. Further more, you may implement "validateMenuItem:" to determine
the state of "Print" dynamically.
For precise information please visit
http://developer.apple.com/documentation/Cocoa/Conceptual/MenuList/
index.html?http://developer.apple.com/documentation/Cocoa/Conceptual/
MenuList/Tasks/EnablingMenuItems.html
Yes, that makes sense and reduces the code I have to write since the
framework handles the details.
Thanks!
steve
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.