Re: Table view containing cells with both an image and text
Re: Table view containing cells with both an image and text
- Subject: Re: Table view containing cells with both an image and text
- From: Eric Gorr <email@hidden>
- Date: Wed, 10 Dec 2008 16:13:17 -0500
On Dec 10, 2008, at 3:41 PM, Corbin Dunn wrote:
On Dec 10, 2008, at 11:54 AM, Eric Gorr wrote:
I need a column in my NSTableView with cells that contain both an
image and some text.
My first inclination is to subclass NSCell and have my subclass
manage both a NSImageCell and a NSTextFieldCell. Basically, I would
imagine would override:
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
and have it call drawWithFrame on the internal image cell and text
cell with the appropriate frames.
Then, assuming I am on the right track, is it also then correct
that what
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:
(NSTableColumn*)aTableColumn row:(NSInteger)rowIndex
would return is what NSCell's setObjectValue gets called with?
Can't think of any reason why this wouldn't be the case...
Yeah, you are right, that is the case.
However, I'd recommend subclassing NSTextFieldCell and having it
draw an image. It'll make other stuff work for you automatically
(cell expansion tooltips, type selection). See: <http://developer.apple.com/samplecode/PhotoSearch/
>
Interesting.
So, it looks like what is going on here is:
willDisplayCell
is essentially be used to assign the additional information (such as
the image) the cell needs while objectValueForTableColumn returns the
primary text to be displayed.
Perhaps not quite a clean as I might have liked - would have preferred
to be able to simply return all of information needed by the cell in
objectValueForTableColumn rather then splitting it between
objectValueForTableColumn and willDisplayCell.
But, as you pointed out, the benefits gained by not writing all of the
extra code to support type selection, etc. makes it quite worthwhile.
_______________________________________________
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