From 9f2968ad0ba775e6785c3eb4a3fea5ad19352e26 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 25 Dec 2008 13:03:24 +0000 Subject: [PATCH] make colours used by list and tree controls more consistent with the system theme settings; also use the correct colour for the status bar (closes #10089) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57542 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/settings.h | 1 + interface/wx/settings.h | 8 +++++++- src/generic/listctrl.cpp | 2 +- src/generic/treectlg.cpp | 2 +- src/gtk/settings.cpp | 4 ++++ src/gtk1/settings.cpp | 1 + src/msw/settings.cpp | 7 ++++++- src/osx/carbon/settings.cpp | 1 + 8 files changed, 22 insertions(+), 4 deletions(-) diff --git a/include/wx/settings.h b/include/wx/settings.h index 76500b4eb8..3fe46534e0 100644 --- a/include/wx/settings.h +++ b/include/wx/settings.h @@ -79,6 +79,7 @@ enum wxSystemColour wxSYS_COLOUR_GRADIENTINACTIVECAPTION, wxSYS_COLOUR_MENUHILIGHT, wxSYS_COLOUR_MENUBAR, + wxSYS_COLOUR_LISTBOXTEXT, wxSYS_COLOUR_MAX }; diff --git a/interface/wx/settings.h b/interface/wx/settings.h index aab3f0cfdb..9acd7d301e 100644 --- a/interface/wx/settings.h +++ b/interface/wx/settings.h @@ -67,12 +67,18 @@ enum wxSystemColour wxSYS_COLOUR_3DHIGHLIGHT = wxSYS_COLOUR_BTNHIGHLIGHT, wxSYS_COLOUR_3DHILIGHT = wxSYS_COLOUR_BTNHIGHLIGHT, - wxSYS_COLOUR_LISTBOX, + wxSYS_COLOUR_LISTBOX, ///< Background colour for list-like contols. wxSYS_COLOUR_HOTLIGHT, wxSYS_COLOUR_GRADIENTACTIVECAPTION, wxSYS_COLOUR_GRADIENTINACTIVECAPTION, wxSYS_COLOUR_MENUHILIGHT, wxSYS_COLOUR_MENUBAR, + /** + Text colour for list-like controls. + + @since 2.9.0 + */ + wxSYS_COLOUR_LISTBOXTEXT, wxSYS_COLOUR_MAX }; diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 66710677d1..bf9e05c417 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -5763,7 +5763,7 @@ wxGenericListCtrl::GetClassDefaultAttributes(wxWindowVariant variant) #else wxUnusedVar(variant); wxVisualAttributes attr; - attr.colFg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT); + attr.colFg = wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOXTEXT); attr.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOX); attr.font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); return attr; diff --git a/src/generic/treectlg.cpp b/src/generic/treectlg.cpp index 52868f9226..5baa32ad7f 100644 --- a/src/generic/treectlg.cpp +++ b/src/generic/treectlg.cpp @@ -3934,7 +3934,7 @@ wxGenericTreeCtrl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) return wxListBox::GetClassDefaultAttributes(variant); #else wxVisualAttributes attr; - attr.colFg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT); + attr.colFg = wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOXTEXT); attr.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOX); attr.font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); return attr; diff --git a/src/gtk/settings.cpp b/src/gtk/settings.cpp index 2db3089d23..6e5e0f363f 100644 --- a/src/gtk/settings.cpp +++ b/src/gtk/settings.cpp @@ -185,6 +185,10 @@ wxColour wxSystemSettingsNative::GetColour( wxSystemColour index ) color = wxColor(ListStyle()->base[GTK_STATE_NORMAL]); break; + case wxSYS_COLOUR_LISTBOXTEXT: + color = wxColor(ListStyle()->text[GTK_STATE_NORMAL]); + break; + case wxSYS_COLOUR_MENUTEXT: case wxSYS_COLOUR_WINDOWTEXT: case wxSYS_COLOUR_CAPTIONTEXT: diff --git a/src/gtk1/settings.cpp b/src/gtk1/settings.cpp index 18cef0de2c..34887192ba 100644 --- a/src/gtk1/settings.cpp +++ b/src/gtk1/settings.cpp @@ -250,6 +250,7 @@ wxColour wxSystemSettingsNative::GetColour( wxSystemColour index ) case wxSYS_COLOUR_CAPTIONTEXT: case wxSYS_COLOUR_INACTIVECAPTIONTEXT: case wxSYS_COLOUR_BTNTEXT: + case wxSYS_COLOUR_LISTBOXTEXT: if (!gs_objects.m_colBtnText.Ok()) { int red, green, blue; diff --git a/src/msw/settings.cpp b/src/msw/settings.cpp index 476873b4af..591b4f7c63 100644 --- a/src/msw/settings.cpp +++ b/src/msw/settings.cpp @@ -127,7 +127,12 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) 0, // MENUBAR (unused) }; - if ( index == wxSYS_COLOUR_LISTBOX ) + if ( index == wxSYS_COLOUR_LISTBOXTEXT) + { + // there is no standard colour with this index, map to another one + index = wxSYS_COLOUR_WINDOWTEXT; + } + else if ( index == wxSYS_COLOUR_LISTBOX ) { // there is no standard colour with this index, map to another one index = wxSYS_COLOUR_WINDOW; diff --git a/src/osx/carbon/settings.cpp b/src/osx/carbon/settings.cpp index be6c68ca1b..ad5c4f7987 100644 --- a/src/osx/carbon/settings.cpp +++ b/src/osx/carbon/settings.cpp @@ -75,6 +75,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) case wxSYS_COLOUR_CAPTIONTEXT: case wxSYS_COLOUR_INFOTEXT: case wxSYS_COLOUR_INACTIVECAPTIONTEXT: + case wxSYS_COLOUR_LISTBOXTEXT: resultColor = *wxBLACK; break ; -- 2.49.0