I now have changed the actions in the menu to go through my controller
which (at least in this case) is just fine. Now I can start and
configure the NSPrintOperation myself.

But I am still wondering what was wrong with going through the first responder.

cheers,
Torsten

On Tue, Oct 4, 2011 at 12:23 PM, Torsten Curdt <tcu...@vafer.org> wrote:
> I have a non-document based app. It's a master detail layout with a
> NSOutlineView and a custom NSView (in a NSScrollView in a NSSplitView)
> on the right. Now when I initiate a "Print" from the menu all that
> shows up in the print preview is the outline view.
>
> Reading the documentation from
> http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Printing/Concepts/architecture.html#//apple_ref/doc/uid/20001053-BAJCHHJG
>
> "Printing is generally initiated by the user choosing the Print menu
> command, which usually sends either a print: or printDocument:
> message, depending on whether the application is NSDocument-based or
> not, up the responder chain. You receive the message either in a
> custom NSView object (if it has the keyboard focus), a window
> delegate, or an NSDocument object. Upon receipt, you create an
> NSPrintOperation object to manage the print job, tell it which NSView
> to print, add an accessory view to its print panel, if desired, and
> then run the operation. The NSView class defines several methods that
> you can override to control how the view is divided between multiple
> pages. From there, the view’s drawRect: method draws the view’s
> contents"
>
> So I thought I could just implement "print:" in my custom view and
> make that view the first responder.
>
>  @implementation CustomView
>  - (void) print:(id)sender
>  {
>      NSLog(@"PRINT");
>  }
>  @end
>
>  ...
>
>  - (void)awakeFromNib
>  {
>      [[self window] makeFirstResponder:self.customView];
>
> Now I expected "Print" would only execute the NSLog. But still the
> print dialog comes up and has the NSOutlineView only in the preview.
>
> What am I missing here?
>
> cheers,
> Torsten
>
_______________________________________________

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