In Interface Builder, the "Data" palette contains several items
that are subclasses of NSActionCell: NSSliderCell, NSStepperCell,
NSTextFieldCell, etc. I want to build a Palette which contains an
NSActionCell subclass like that.
In my Palette project, I have a window, the "Palette View" into
which my palette items need to be instantiated.
To instantiate a subclass of NSView, I drag in the "Custom View"
and subclass it.
But how do I instantiate a subclass of NSActionCell? There is no
generic "NSActionCell" in any of the palettes to drag in, and the
"Instantiate..." menu item is always disabled.
I looked through all the Interface Builder - Palette examples I
could find, but none of them do any cells, only views. How did
they do that?
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)