Re: How do you get an NSCell subclass into a Palette?
Re: How do you get an NSCell subclass into a Palette?
- Subject: Re: How do you get an NSCell subclass into a Palette?
- From: Jerry Krinock <email@hidden>
- Date: Fri, 1 Jun 2007 07:47:36 -0700
On 2007 May, 31, at 13:34, Ricky Sharp wrote:
Look again at /Developer/Examples/InterfaceBuilder/BusyPalette/
Specifically, look in BusyPalette.m for handling of the custom
BPCellPboardType pasteboard type.
The item on the palette window that you'll drag will still be a
view (cells can only render themselves when inside a view). The
custom pasteboard type above is used to establish acceptable drop-
targets as well as handling when pastes actually occur (basically
grab the cell in the dragged view and assign that cell to the drop-
target object)
Thank you, Ricky. That was the hint which I needed. After building
BusyPalette and looking at its 'ExpressionFormatter', I see how it
works...
In the "Palette View" window, icons representing NSView subclasses
are in fact the actual object. That's fine, because IB allows views
to be dragged into windows. But what if the object is a subclass or
NSCell or some other class which cannot be dragged into a window?
Well, they did a little trick. Instead of being the actual object,
the icon in this case is a proxy NSImageView, which method -
[YourSubclassOfIBPalette finishInstantiate] "associates" with the
actual object.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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