Use NSTextView setTypingAttributes to change the attributes used for the new
text by default as setting them for the selected region didn't do anything
useful under OS X (and did nothing at all when there was no selection).
Closes #12839.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72892
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
- Implement image support in wxNotebook (Malcolm MacLeod).
- Add support for button mnemonics (joostn).
- Implement image support in wxNotebook (Malcolm MacLeod).
- Add support for button mnemonics (joostn).
+- Implemented wxTextCtrl::SetDefaultStyle().
2.9.4: (released 2012-07-09)
2.9.4: (released 2012-07-09)
long end,
const wxTextAttr& style)
{
long end,
const wxTextAttr& style)
{
+ if ( !m_textView )
+ return;
+
+ if ( start == -1 && end == -1 )
+ {
+ NSMutableDictionary* const
+ attrs = [NSMutableDictionary dictionaryWithCapacity:3];
+ if ( style.HasFont() )
+ [attrs setValue:style.GetFont().OSXGetNSFont() forKey:NSFontAttributeName];
+ if ( style.HasBackgroundColour() )
+ [attrs setValue:style.GetBackgroundColour().OSXGetNSColor() forKey:NSBackgroundColorAttributeName];
+ if ( style.HasTextColour() )
+ [attrs setValue:style.GetTextColour().OSXGetNSColor() forKey:NSForegroundColorAttributeName];
+
+ [m_textView setTypingAttributes:attrs];
+ }
+ else // Set the attributes just for this range.
+ {
NSRange range = NSMakeRange(start, end-start);
NSRange range = NSMakeRange(start, end-start);
- if (start == -1 && end == -1)
- range = [m_textView selectedRange];
NSTextStorage* storage = [m_textView textStorage];
if ( style.HasFont() )
NSTextStorage* storage = [m_textView textStorage];
if ( style.HasFont() )
if ( style.HasBackgroundColour() )
[storage addAttribute:NSBackgroundColorAttributeName value:style.GetBackgroundColour().OSXGetNSColor() range:range];
if ( style.HasBackgroundColour() )
[storage addAttribute:NSBackgroundColorAttributeName value:style.GetBackgroundColour().OSXGetNSColor() range:range];
if ( style.HasTextColour() )
[storage addAttribute:NSForegroundColorAttributeName value:style.GetTextColour().OSXGetNSColor() range:range];
}
if ( style.HasTextColour() )
[storage addAttribute:NSForegroundColorAttributeName value:style.GetTextColour().OSXGetNSColor() range:range];
}