• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: nstableview text selection
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nstableview text selection


  • Subject: Re: nstableview text selection
  • From: Richard <email@hidden>
  • Date: Mon, 23 Nov 2009 13:29:35 +0100

thank you jens, that is most helpful, i will take a look at the webview.

On Sun, Nov 22, 2009 at 6:47 PM, Jens Alfke <email@hidden> wrote:

>
> On Nov 22, 2009, at 2:06 AM, Richard wrote:
>
> > as part of an application i am working on, i have made a chat client in
> the
> > style of ichat with pics and bubbles and such. i am currently doing this
> > using an NSTableView
>
> This works, but you'll find it difficult to handle multi-line messages.
> NSTableView can have variable row heights these days, but whenever the view
> width changes you'd have to scan every message counting the number of line
> breaks and set the row's height accordingly.
>
> > now, i would like to be able to select and copy sections of the text
> > displayed in each chat bubble, but i am unable to work out how to do
> this. i
> > would also like to be able to make text links clickable. i understand
> that
> > NSTextView has both these capabilities, but am i correct in thinking that
> > you cannot have an NSView in an NSCell?
>
> That's basically correct. The reason is that the cell doesn't have a
> specific position in the view; it's used to draw every single row; but a
> view has to have a single position. There are some workarounds for this but
> they involve adding a subview for every row, which doesn't scale well.
>
> The way iChat worked originally was to use a single NSTextView for the
> whole chat, with a paragraph per message, and draw a custom background that
> looked up the layout bounds of each paragraph to find the bounding box of
> its balloon. This sounds simple, but the details got very messy, and I don't
> recommend it.
>
> These days the best way is to use a WebView and a custom CSS stylesheet.
> Make each message a <div> element with a particular class, and the
> stylesheet describes the background and border. WebKit supports some
> nonstandard CSS border attributes that make it easy to draw the border by
> tiling a single image. You use the DOM API to insert a <div> when there's a
> new message.
>
> —Jens
>
>
_______________________________________________

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

References: 
 >nstableview text selection (From: Richard <email@hidden>)
 >Re: nstableview text selection (From: Jens Alfke <email@hidden>)

  • Prev by Date: Re: NSTreeController content array bindings
  • Next by Date: drawRect method not called after several hours...
  • Previous by thread: Re: nstableview text selection
  • Next by thread: CoreData abstract entity migration issue
  • Index(es):
    • Date
    • Thread