There is a blog that outlines how to do this with help of Douglas Davidson:
http://www.dejal.com/blog/2007/11/cocoa-custom-attachment-text-view

The suggestion here is to use a textStorage delegate to insert the custom 
attachment cell into the text. It actually relies on what seems like a bug:

if ([attachment isKindOfClass:[NSTextAttachment class]] &&
                ![[attachment attachmentCell] 
isKindOfClass:[TATextAttachmentCell class]])
            {
            

This is happening in

- (void)textStorageWillProcessEditing:(NSNotification *)note

What I don't understand is that before it's a TATextAttachment with a 
TATextAttachmentCell, being my subclasses, and afterwards when pasting/dropping 
and looking at the debugger, the objects become NSTextAttachment and its cell 
respectively. Why? And how can I make it stop it from turning my subclasses 
into their superclasses?



Am 16.07.2012 um 23:51 schrieb Jens Alfke:

> 
> On Jul 16, 2012, at 2:15 PM, Alexander Reichstadt <[email protected]> wrote:
> 
>> Is there any way to have an NSTextView to hold text and custom data-widgets 
>> that are unrelated to filewrappers? I don't want NSTextAttachmentCell I 
>> think, because without a file it doesn't work
> 
> I have used NSTextAttachmentCell for things that are not files. Note the 
> comment in NSTextAttachment.h that says "An NSTextAttachment *usually* has a 
> fileWrapper" (emphasis mine). It doesn't *have* to have one.
> 
> Unfortunately it's been enough years that I don't remember the details. It 
> may be that you can initialize an NSTextAttachment with a nil fileWrapper, or 
> to set the fileWrapper property to nil after initialization. If not, you may 
> just be able to pass in an arbitrary path to some file, and then the 
> NSTextAttachmentCell methods such that they don't care what the file is.
> 
> —Jens

_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to