On Wed, Jan 7, 2009 at 7:39 PM, David <enki1...@gmail.com> wrote:
> I must complain again. Cocoa does not have a clean well designed object
> model. It seems haphazard. Someone needed a function here, but not there.
> Apple doesn't go back and look at making general purpose classes and
> methods.
> Some of the cell classes seem very specialized. I had assumed that
> NSTextFieldCell could display an icon. Frequently there are outline views of
> files which display icons and names, yet there is no simple class which
> implements this functionality. Instead everyone needs to write their own
> with inconsistent behavior.
>
> I've been able to get NSBrowserCell to work somewhat by setting
> setLeaf:TRUE. However, now I get the icon smashed up right next to the
> disclosure triangle. There again, there are no basic controls to add some
> spacing. Argh.
>
> Thanks for the responses. I guess I'll have to bail on the NSBrowserCell and
> write my own NSCell subclass unless I can come up with a way to add some
> spacing.

Cocoa can't very well do *everything* for you. If it did, we'd all be
out of a job, for one.... Personally I find that Cocoa provides plenty
of facilities and building blocks for more. Just because it doesn't do
what you want in this one particular case certainly doesn't make it
generally deficient.

However in this case Cocoa is able to do what you want, using built-in
features and nothing more. Simply create an NSAttributedString
containing your image and your text, and using the available
attributes to control horizontal and vertical spacing. A plain
NSTextFieldCell can display an NSAttributedString with no
customization.

Mike
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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 arch...@mail-archive.com

Reply via email to