Yes, I was inserting spaces to achieve a fixed-width indent; things are working much better now, thanks to your suggestion.

I tried overriding -titleRectForBounds in my NSTextViewCell subclass, but for some reason, it never gets called (not really sure why). What I ended up doing was overriding -drawInteriorWithFrame:inView:, which does get called, and allowed me to reposition the frame prior to calling super.

One problem I ran into is that i need to have a different position for the rect based on the row, but I had no way for the subclass of NSTextViewCell to know which table cell was being drawn. I solved this by creating a variable in the table that gets set with calls in the delegate to -tableView:willDisplayCell:forTableColumn:row:, and this variable can then be read in -drawInteriorWithFrame:inView:. Is there a better way to determine which table cell is getting drawn? Seems a bit kludgy.

Thanks for your help.

On 30-Apr-09, at 8:49 PM, Jim Correia wrote:

On Thu, Apr 30, 2009 at 11:38 PM, K. Darcy Otto <[email protected]> wrote:

Option 2: Moving the text displayed by the NSTableView to the right by some way other than inserting spaces. This might be the best way, alleviating the need for a custom field editor and editing the field editor text prior
to display.  I'm not really sure how to do this though.

So you are inserted spaces into the value to achieve an fixed width indent?

Subclass NSTextFieldCell, and override -titleRectForBounds: to add
your left padding.

- Jim

_______________________________________________

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

This email sent to [email protected]

Reply via email to