Fix common system colours values in wxOSX/Cocoa

Reuse Carbon code for some colours which don't seem to have any Cocoa
equivalents.

Also map highlight colours to the selected text colours which seem more
appropriate.

Closes #17218.
This commit is contained in:
Vadim Zeitlin
2016-02-01 01:44:27 +01:00
parent 9b39ffc0cb
commit 023fd88bd7

View File

@@ -18,6 +18,7 @@
#endif #endif
#include "wx/osx/core/private.h" #include "wx/osx/core/private.h"
#include "wx/osx/cocoa/private.h"
#import <AppKit/NSColor.h> #import <AppKit/NSColor.h>
@@ -45,7 +46,6 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
// fall through, window background is reasonable // fall through, window background is reasonable
case wxSYS_COLOUR_MENU: case wxSYS_COLOUR_MENU:
case wxSYS_COLOUR_MENUBAR: case wxSYS_COLOUR_MENUBAR:
case wxSYS_COLOUR_WINDOW:
case wxSYS_COLOUR_WINDOWFRAME: case wxSYS_COLOUR_WINDOWFRAME:
case wxSYS_COLOUR_ACTIVEBORDER: case wxSYS_COLOUR_ACTIVEBORDER:
case wxSYS_COLOUR_INACTIVEBORDER: case wxSYS_COLOUR_INACTIVEBORDER:
@@ -53,9 +53,10 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
case wxSYS_COLOUR_GRADIENTINACTIVECAPTION: case wxSYS_COLOUR_GRADIENTINACTIVECAPTION:
sysColor = [NSColor windowFrameColor]; sysColor = [NSColor windowFrameColor];
break; break;
case wxSYS_COLOUR_WINDOW:
return wxColour(wxMacCreateCGColorFromHITheme( 15 /* kThemeBrushDocumentWindowBackground */ )) ;
case wxSYS_COLOUR_BTNFACE: case wxSYS_COLOUR_BTNFACE:
sysColor = [NSColor controlColor]; return wxColour(wxMacCreateCGColorFromHITheme( 3 /* kThemeBrushDialogBackgroundActive */));
break;
case wxSYS_COLOUR_LISTBOX: case wxSYS_COLOUR_LISTBOX:
sysColor = [NSColor controlBackgroundColor]; sysColor = [NSColor controlBackgroundColor];
break; break;
@@ -72,7 +73,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
sysColor = [NSColor controlTextColor]; sysColor = [NSColor controlTextColor];
break; break;
case wxSYS_COLOUR_HIGHLIGHT: case wxSYS_COLOUR_HIGHLIGHT:
sysColor = [NSColor selectedControlColor]; sysColor = [NSColor selectedTextBackgroundColor];
break; break;
case wxSYS_COLOUR_BTNHIGHLIGHT: case wxSYS_COLOUR_BTNHIGHLIGHT:
sysColor = [NSColor controlHighlightColor]; sysColor = [NSColor controlHighlightColor];
@@ -88,7 +89,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
break; break;
case wxSYS_COLOUR_HIGHLIGHTTEXT: case wxSYS_COLOUR_HIGHLIGHTTEXT:
case wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT: case wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT:
sysColor = [NSColor alternateSelectedControlTextColor]; sysColor = [NSColor selectedTextColor];
break; break;
case wxSYS_COLOUR_INFOBK: case wxSYS_COLOUR_INFOBK:
// tooltip (bogus) // tooltip (bogus)