Haven't anyone stumbled upon something similar, or a solution to this?

Best regards
Mattias

---------- Forwarded message ----------
From: Mattias Arrelid <[EMAIL PROTECTED]>
Date: Fri, May 30, 2008 at 1:25 PM
Subject: NSTextView and changing the selected text's color
To: cocoa-dev@lists.apple.com


Hi everyone,

We have a subclass of NSTextView (SPTextView). A couple of these have
some text with [NSColor grayColor] set as the
NSForegroundColorAttributeName. It looks good, but when the user
starts selecting text things go bad ™. Since grey on light blue (the
default system selection color) isn't very readable one could argue
that we should change the selection color. That is pretty straight
forward, but we'd rather not mess with this since the user might have
her own highlight color set (through System Preferences / Appearance).

The next approach would be to use NSTextView's
setMarkedTextAttributes:. It takes a dictionary as paramater, with the
following restrictions (according to the documentation): "A dictionary
of attributes used to draw marked text. Text color, background color,
and underline are the only supported attributes for marked text.".
Regardless of how I try to specify these (I assume the attributes that
are valid are NSForegroundColorAttributeName,
NSBackgroundColorAttributeName, NSUnderlineColorAttributeName and
NSUnderlineStyleAttributeName), that call doesn't affect the view.

As a last resort, we could implement
setSelectedRange:affinity:stillSelecting: in our NSTextView subclass,
and set the foreground color of the selected range... but that would
mean that we would have to change it back to whatever color it had
before the selection took place. That doesn't feel right.

Reading 
http://developer.apple.com/documentation/Cocoa/Conceptual/TextEditing/Tasks/SetFocus.html
indicates that setMarkedTextAttributes: should do just this, but I
cannot seem to get it working.

Any suggestions?

Best regards
Mattias
_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to