Re: NSPasteboard Delegate
Re: NSPasteboard Delegate
- Subject: Re: NSPasteboard Delegate
- From: Graham Cox <email@hidden>
- Date: Thu, 22 May 2008 22:18:33 +1000
- Resent-cc: Cocoa-Dev List <email@hidden>
- Resent-date: Thu, 22 May 2008 22:19:05 +1000
- Resent-from: Graham Cox <email@hidden>
- Resent-message-id: <email@hidden>
- Resent-to: Adil Saleem <email@hidden>
Well, Paste doesn't work like this.
You don't get notified when there's something new to paste. Instead,
the user tries to perform the paste, at which point you can check if
the pasteboard contains anything you can use. You can also perform
this check when validating the "paste" menu item so that Paste is
disabled (greyed out) when there's nothing to paste.
Much cleaner this way, since you are then driven by the user's actual
needs instead of keeping track of all sorts of potential state
information "just in case".
Do read this:
file:///Developer/Documentation/DocSets/com.apple.ADC_Reference_Library.CoreReference.docset/Contents/Resources/Documents/documentation/Cocoa/Conceptual/CopyandPaste/Articles/pbFundamentals.html
(by the way, does pasting the file URL here actually work? I assume
everyone will have the same Xcode installation... is there a way to
get the URL of the equivalent online site from the Xcode documentation
browser?)
G.
On 22 May 2008, at 10:08 pm, Adil Saleem wrote:
Let me be more precise this time. I haven't used
pasteboards before. I think i asked wrong question.
Actually i want my application to be notified whenever
there is a new text copied/cutted. So that i can paste
it in my application. So please guide me how that can
be achieved? (with or without delegates. whatever
works)
Thank you for your patience.
--- Graham Cox <email@hidden> wrote:
NSPasteboard indeed does not implement a
setDelegate: method.
The object you pass as <owner> in
-declareTypes:owner: can act as the
pasteboard's delegate in the case of when you
promise (but do not
actually provide) data when writing your data types
to the pasteboard.
What are you trying to do? Seems to me that
attempting to become a
"permanent" delegate of the general pasteboard in an
awakeFromNib
method is a very weird thing to do.
Have you read this?:
file:///Developer/Documentation/DocSets/com.apple.ADC_Reference_Library.CoreReference.docset/Contents/Resources/Documents/documentation/Cocoa/Conceptual/CopyandPaste/Articles/pbImplementing.html
#//apple_ref/doc/uid/TP40004255-SW2
In particular the section on "Lazy Writing". This is
about the only
time that the delegation pattern is used by
NSPasteboard.
hth,
G.
On 22 May 2008, at 5:57 pm, Adil Saleem wrote:
Hi,
I am trying to set my object as delegate of
NSPasteBoard. I am calling from awakeFromNib
NSPasteboard *pb = [NSPasteboard
generalPasteboard];
[pb setDelegate:self];
However, on running, it raises exception. There is
also a warning at compile time that says
NSPasteboard
may not respond to method setDelegate.
Please tell me how can i set my own class as
delegate
of NSPasteboard.
Thanx
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden