Handle wxEVT_SYS_COLOUR_CHANGED in wxAUI classes
Update the colours used when the system theme changes. This is especially important to use the colour scheme compatible with macOS 10.14+ dark mode. Note that this commit is best viewed with "git diff --color-moved". Closes https://github.com/wxWidgets/wxWidgets/pull/916
This commit is contained in:
committed by
Vadim Zeitlin
parent
974b7c0990
commit
727a100a6a
@@ -141,6 +141,7 @@ All (GUI):
|
|||||||
- Add wxJoystickEvent::GetButtonOrdinal() (Mick Phillips).
|
- Add wxJoystickEvent::GetButtonOrdinal() (Mick Phillips).
|
||||||
- Add wxGraphicsContext::GetWindow() and implement wxGraphicsContext::GetDPI().
|
- Add wxGraphicsContext::GetWindow() and implement wxGraphicsContext::GetDPI().
|
||||||
- Add wxToolbook::EnablePage() (Stefan Ziegler).
|
- Add wxToolbook::EnablePage() (Stefan Ziegler).
|
||||||
|
- Adapt AUI colours to system colour changes (Daniel Kulp).
|
||||||
|
|
||||||
wxGTK:
|
wxGTK:
|
||||||
|
|
||||||
|
@@ -344,6 +344,10 @@ public:
|
|||||||
virtual int ShowDropDown(
|
virtual int ShowDropDown(
|
||||||
wxWindow* wnd,
|
wxWindow* wnd,
|
||||||
const wxAuiToolBarItemArray& items) = 0;
|
const wxAuiToolBarItemArray& items) = 0;
|
||||||
|
|
||||||
|
// Provide opportunity for subclasses to recalculate colours
|
||||||
|
virtual void UpdateColoursFromSystem() {}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -429,6 +433,8 @@ public:
|
|||||||
virtual int ShowDropDown(wxWindow* wnd,
|
virtual int ShowDropDown(wxWindow* wnd,
|
||||||
const wxAuiToolBarItemArray& items) wxOVERRIDE;
|
const wxAuiToolBarItemArray& items) wxOVERRIDE;
|
||||||
|
|
||||||
|
virtual void UpdateColoursFromSystem() wxOVERRIDE;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
wxBitmap m_buttonDropDownBmp;
|
wxBitmap m_buttonDropDownBmp;
|
||||||
@@ -651,6 +657,7 @@ protected: // handlers
|
|||||||
void OnLeaveWindow(wxMouseEvent& evt);
|
void OnLeaveWindow(wxMouseEvent& evt);
|
||||||
void OnCaptureLost(wxMouseCaptureLostEvent& evt);
|
void OnCaptureLost(wxMouseCaptureLostEvent& evt);
|
||||||
void OnSetCursor(wxSetCursorEvent& evt);
|
void OnSetCursor(wxSetCursorEvent& evt);
|
||||||
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@@ -226,6 +226,7 @@ protected:
|
|||||||
void OnKillFocus(wxFocusEvent& event);
|
void OnKillFocus(wxFocusEvent& event);
|
||||||
void OnChar(wxKeyEvent& event);
|
void OnChar(wxKeyEvent& event);
|
||||||
void OnCaptureLost(wxMouseCaptureLostEvent& evt);
|
void OnCaptureLost(wxMouseCaptureLostEvent& evt);
|
||||||
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@@ -408,6 +409,7 @@ protected:
|
|||||||
void OnTabRightUp(wxAuiNotebookEvent& evt);
|
void OnTabRightUp(wxAuiNotebookEvent& evt);
|
||||||
void OnTabBgDClick(wxAuiNotebookEvent& evt);
|
void OnTabBgDClick(wxAuiNotebookEvent& evt);
|
||||||
void OnNavigationKeyNotebook(wxNavigationKeyEvent& event);
|
void OnNavigationKeyNotebook(wxNavigationKeyEvent& event);
|
||||||
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
||||||
|
|
||||||
// set selection to the given window (which must be non-NULL and be one of
|
// set selection to the given window (which must be non-NULL and be one of
|
||||||
// our pages, otherwise an assert is raised)
|
// our pages, otherwise an assert is raised)
|
||||||
|
@@ -76,6 +76,9 @@ public:
|
|||||||
int buttonState,
|
int buttonState,
|
||||||
const wxRect& rect,
|
const wxRect& rect,
|
||||||
wxAuiPaneInfo& pane) = 0;
|
wxAuiPaneInfo& pane) = 0;
|
||||||
|
|
||||||
|
// Provide opportunity for subclasses to recalculate colours
|
||||||
|
virtual void UpdateColoursFromSystem() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -136,6 +139,9 @@ public:
|
|||||||
wxAuiPaneInfo& pane);
|
wxAuiPaneInfo& pane);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
virtual void UpdateColoursFromSystem() wxOVERRIDE;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active);
|
void DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active);
|
||||||
|
@@ -616,6 +616,7 @@ protected:
|
|||||||
void OnChildFocus(wxChildFocusEvent& evt);
|
void OnChildFocus(wxChildFocusEvent& evt);
|
||||||
void OnHintFadeTimer(wxTimerEvent& evt);
|
void OnHintFadeTimer(wxTimerEvent& evt);
|
||||||
void OnFindManager(wxAuiManagerEvent& evt);
|
void OnFindManager(wxAuiManagerEvent& evt);
|
||||||
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@@ -109,6 +109,9 @@ public:
|
|||||||
wxWindow* wnd,
|
wxWindow* wnd,
|
||||||
const wxAuiNotebookPageArray& pages,
|
const wxAuiNotebookPageArray& pages,
|
||||||
const wxSize& requiredBmpSize) = 0;
|
const wxSize& requiredBmpSize) = 0;
|
||||||
|
|
||||||
|
// Provide opportunity for subclasses to recalculate colours
|
||||||
|
virtual void UpdateColoursFromSystem() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -185,6 +188,9 @@ public:
|
|||||||
const wxAuiNotebookPageArray& pages,
|
const wxAuiNotebookPageArray& pages,
|
||||||
const wxSize& requiredBmpSize) wxOVERRIDE;
|
const wxSize& requiredBmpSize) wxOVERRIDE;
|
||||||
|
|
||||||
|
// Provide opportunity for subclasses to recalculate colours
|
||||||
|
virtual void UpdateColoursFromSystem() wxOVERRIDE;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
wxFont m_normalFont;
|
wxFont m_normalFont;
|
||||||
|
@@ -124,28 +124,16 @@ const wxColour DISABLED_TEXT_COLOR(DISABLED_TEXT_GREY_HUE,
|
|||||||
|
|
||||||
wxAuiGenericToolBarArt::wxAuiGenericToolBarArt()
|
wxAuiGenericToolBarArt::wxAuiGenericToolBarArt()
|
||||||
{
|
{
|
||||||
m_baseColour = GetBaseColor();
|
UpdateColoursFromSystem();
|
||||||
|
|
||||||
m_flags = 0;
|
m_flags = 0;
|
||||||
m_textOrientation = wxAUI_TBTOOL_TEXT_BOTTOM;
|
m_textOrientation = wxAUI_TBTOOL_TEXT_BOTTOM;
|
||||||
m_highlightColour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
|
|
||||||
|
|
||||||
m_separatorSize = wxWindow::FromDIP( 7, NULL);
|
m_separatorSize = wxWindow::FromDIP( 7, NULL);
|
||||||
m_gripperSize = wxWindow::FromDIP( 7, NULL);
|
m_gripperSize = wxWindow::FromDIP( 7, NULL);
|
||||||
m_overflowSize = wxWindow::FromDIP(16, NULL);
|
m_overflowSize = wxWindow::FromDIP(16, NULL);
|
||||||
m_dropdownSize = wxWindow::FromDIP(10, NULL);
|
m_dropdownSize = wxWindow::FromDIP(10, NULL);
|
||||||
|
|
||||||
wxColor darker1Colour = m_baseColour.ChangeLightness(85);
|
|
||||||
wxColor darker2Colour = m_baseColour.ChangeLightness(75);
|
|
||||||
wxColor darker3Colour = m_baseColour.ChangeLightness(60);
|
|
||||||
wxColor darker4Colour = m_baseColour.ChangeLightness(50);
|
|
||||||
wxColor darker5Colour = m_baseColour.ChangeLightness(40);
|
|
||||||
|
|
||||||
int pen_width = wxWindow::FromDIP(1, NULL);
|
|
||||||
m_gripperPen1 = wxPen(darker5Colour, pen_width);
|
|
||||||
m_gripperPen2 = wxPen(darker3Colour, pen_width);
|
|
||||||
m_gripperPen3 = wxPen(*wxWHITE, pen_width);
|
|
||||||
|
|
||||||
// TODO: Provide x1.5 and x2.0 versions or migrate to SVG.
|
// TODO: Provide x1.5 and x2.0 versions or migrate to SVG.
|
||||||
static const unsigned char buttonDropdownBits[] = { 0xe0, 0xf1, 0xfb };
|
static const unsigned char buttonDropdownBits[] = { 0xe0, 0xf1, 0xfb };
|
||||||
static const unsigned char overflowBits[] = { 0x80, 0xff, 0x80, 0xc1, 0xe3, 0xf7 };
|
static const unsigned char overflowBits[] = { 0x80, 0xff, 0x80, 0xc1, 0xe3, 0xf7 };
|
||||||
@@ -165,13 +153,27 @@ wxAuiGenericToolBarArt::~wxAuiGenericToolBarArt()
|
|||||||
{
|
{
|
||||||
m_font = *wxNORMAL_FONT;
|
m_font = *wxNORMAL_FONT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxAuiToolBarArt* wxAuiGenericToolBarArt::Clone()
|
wxAuiToolBarArt* wxAuiGenericToolBarArt::Clone()
|
||||||
{
|
{
|
||||||
return static_cast<wxAuiToolBarArt*>(new wxAuiGenericToolBarArt);
|
return static_cast<wxAuiToolBarArt*>(new wxAuiGenericToolBarArt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxAuiGenericToolBarArt::UpdateColoursFromSystem()
|
||||||
|
{
|
||||||
|
m_baseColour = GetBaseColor();
|
||||||
|
m_highlightColour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
|
||||||
|
wxColor darker1Colour = m_baseColour.ChangeLightness(85);
|
||||||
|
wxColor darker2Colour = m_baseColour.ChangeLightness(75);
|
||||||
|
wxColor darker3Colour = m_baseColour.ChangeLightness(60);
|
||||||
|
wxColor darker4Colour = m_baseColour.ChangeLightness(50);
|
||||||
|
wxColor darker5Colour = m_baseColour.ChangeLightness(40);
|
||||||
|
|
||||||
|
int pen_width = wxWindow::FromDIP(1, NULL);
|
||||||
|
m_gripperPen1 = wxPen(darker5Colour, pen_width);
|
||||||
|
m_gripperPen2 = wxPen(darker3Colour, pen_width);
|
||||||
|
m_gripperPen3 = wxPen(*wxStockGDI::GetColour(wxStockGDI::COLOUR_WHITE), pen_width);
|
||||||
|
}
|
||||||
|
|
||||||
void wxAuiGenericToolBarArt::SetFlags(unsigned int flags)
|
void wxAuiGenericToolBarArt::SetFlags(unsigned int flags)
|
||||||
{
|
{
|
||||||
m_flags = flags;
|
m_flags = flags;
|
||||||
@@ -858,6 +860,7 @@ wxBEGIN_EVENT_TABLE(wxAuiToolBar, wxControl)
|
|||||||
EVT_LEAVE_WINDOW(wxAuiToolBar::OnLeaveWindow)
|
EVT_LEAVE_WINDOW(wxAuiToolBar::OnLeaveWindow)
|
||||||
EVT_MOUSE_CAPTURE_LOST(wxAuiToolBar::OnCaptureLost)
|
EVT_MOUSE_CAPTURE_LOST(wxAuiToolBar::OnCaptureLost)
|
||||||
EVT_SET_CURSOR(wxAuiToolBar::OnSetCursor)
|
EVT_SET_CURSOR(wxAuiToolBar::OnSetCursor)
|
||||||
|
EVT_SYS_COLOUR_CHANGED(wxAuiToolBar::OnSysColourChanged)
|
||||||
wxEND_EVENT_TABLE()
|
wxEND_EVENT_TABLE()
|
||||||
|
|
||||||
void wxAuiToolBar::Init()
|
void wxAuiToolBar::Init()
|
||||||
@@ -2428,6 +2431,14 @@ void wxAuiToolBar::UpdateWindowUI(long flags)
|
|||||||
wxControl::UpdateWindowUI(flags);
|
wxControl::UpdateWindowUI(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxAuiToolBar::OnSysColourChanged(wxSysColourChangedEvent& event)
|
||||||
|
{
|
||||||
|
event.Skip();
|
||||||
|
|
||||||
|
m_art->UpdateColoursFromSystem();
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
void wxAuiToolBar::OnPaint(wxPaintEvent& WXUNUSED(evt))
|
void wxAuiToolBar::OnPaint(wxPaintEvent& WXUNUSED(evt))
|
||||||
{
|
{
|
||||||
wxAutoBufferedPaintDC dc(this);
|
wxAutoBufferedPaintDC dc(this);
|
||||||
|
@@ -998,6 +998,7 @@ wxBEGIN_EVENT_TABLE(wxAuiTabCtrl, wxControl)
|
|||||||
EVT_KILL_FOCUS(wxAuiTabCtrl::OnKillFocus)
|
EVT_KILL_FOCUS(wxAuiTabCtrl::OnKillFocus)
|
||||||
EVT_CHAR(wxAuiTabCtrl::OnChar)
|
EVT_CHAR(wxAuiTabCtrl::OnChar)
|
||||||
EVT_MOUSE_CAPTURE_LOST(wxAuiTabCtrl::OnCaptureLost)
|
EVT_MOUSE_CAPTURE_LOST(wxAuiTabCtrl::OnCaptureLost)
|
||||||
|
EVT_SYS_COLOUR_CHANGED(wxAuiTabCtrl::OnSysColourChanged)
|
||||||
wxEND_EVENT_TABLE()
|
wxEND_EVENT_TABLE()
|
||||||
|
|
||||||
|
|
||||||
@@ -1028,6 +1029,16 @@ void wxAuiTabCtrl::OnPaint(wxPaintEvent&)
|
|||||||
Render(&dc, this);
|
Render(&dc, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxAuiTabCtrl::OnSysColourChanged(wxSysColourChangedEvent &event)
|
||||||
|
{
|
||||||
|
event.Skip();
|
||||||
|
|
||||||
|
if (m_art)
|
||||||
|
{
|
||||||
|
m_art->UpdateColoursFromSystem();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void wxAuiTabCtrl::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
|
void wxAuiTabCtrl::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -1669,8 +1680,30 @@ wxBEGIN_EVENT_TABLE(wxAuiNotebook, wxControl)
|
|||||||
wxEVT_AUINOTEBOOK_BG_DCLICK,
|
wxEVT_AUINOTEBOOK_BG_DCLICK,
|
||||||
wxAuiNotebook::OnTabBgDClick)
|
wxAuiNotebook::OnTabBgDClick)
|
||||||
EVT_NAVIGATION_KEY(wxAuiNotebook::OnNavigationKeyNotebook)
|
EVT_NAVIGATION_KEY(wxAuiNotebook::OnNavigationKeyNotebook)
|
||||||
|
EVT_SYS_COLOUR_CHANGED(wxAuiNotebook::OnSysColourChanged)
|
||||||
wxEND_EVENT_TABLE()
|
wxEND_EVENT_TABLE()
|
||||||
|
|
||||||
|
void wxAuiNotebook::OnSysColourChanged(wxSysColourChangedEvent &event)
|
||||||
|
{
|
||||||
|
event.Skip(true);
|
||||||
|
wxAuiTabArt* art = m_tabs.GetArtProvider();
|
||||||
|
art->UpdateColoursFromSystem();
|
||||||
|
|
||||||
|
wxAuiPaneInfoArray& all_panes = m_mgr.GetAllPanes();
|
||||||
|
size_t i, pane_count = all_panes.GetCount();
|
||||||
|
for (i = 0; i < pane_count; ++i)
|
||||||
|
{
|
||||||
|
wxAuiPaneInfo& pane = all_panes.Item(i);
|
||||||
|
if (pane.name == wxT("dummy"))
|
||||||
|
continue;
|
||||||
|
wxTabFrame* tab_frame = (wxTabFrame*)pane.window;
|
||||||
|
wxAuiTabCtrl* tabctrl = tab_frame->m_tabs;
|
||||||
|
tabctrl->GetArtProvider()->UpdateColoursFromSystem();
|
||||||
|
tabctrl->Refresh();
|
||||||
|
}
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
void wxAuiNotebook::Init()
|
void wxAuiNotebook::Init()
|
||||||
{
|
{
|
||||||
m_curPage = -1;
|
m_curPage = -1;
|
||||||
|
@@ -156,48 +156,7 @@ wxString wxAuiChopText(wxDC& dc, const wxString& text, int max_size)
|
|||||||
|
|
||||||
wxAuiDefaultDockArt::wxAuiDefaultDockArt()
|
wxAuiDefaultDockArt::wxAuiDefaultDockArt()
|
||||||
{
|
{
|
||||||
#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON
|
UpdateColoursFromSystem();
|
||||||
wxColor baseColour = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
|
|
||||||
#else
|
|
||||||
wxColor baseColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// the baseColour is too pale to use as our base colour,
|
|
||||||
// so darken it a bit --
|
|
||||||
if ((255-baseColour.Red()) +
|
|
||||||
(255-baseColour.Green()) +
|
|
||||||
(255-baseColour.Blue()) < 60)
|
|
||||||
{
|
|
||||||
baseColour = baseColour.ChangeLightness(92);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_baseColour = baseColour;
|
|
||||||
wxColor darker1Colour = baseColour.ChangeLightness(85);
|
|
||||||
wxColor darker2Colour = baseColour.ChangeLightness(75);
|
|
||||||
wxColor darker3Colour = baseColour.ChangeLightness(60);
|
|
||||||
//wxColor darker4Colour = baseColour.ChangeLightness(50);
|
|
||||||
wxColor darker5Colour = baseColour.ChangeLightness(40);
|
|
||||||
|
|
||||||
m_activeCaptionColour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
|
|
||||||
m_activeCaptionGradientColour = wxAuiLightContrastColour(wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT));
|
|
||||||
m_activeCaptionTextColour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
|
|
||||||
m_inactiveCaptionColour = darker1Colour;
|
|
||||||
m_inactiveCaptionGradientColour = baseColour.ChangeLightness(97);
|
|
||||||
#ifdef __WXMAC__
|
|
||||||
m_inactiveCaptionTextColour = wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTIONTEXT);
|
|
||||||
#else
|
|
||||||
m_inactiveCaptionTextColour = *wxBLACK;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
m_sashBrush = wxBrush(baseColour);
|
|
||||||
m_backgroundBrush = wxBrush(baseColour);
|
|
||||||
m_gripperBrush = wxBrush(baseColour);
|
|
||||||
|
|
||||||
m_borderPen = wxPen(darker2Colour);
|
|
||||||
int pen_width = wxWindow::FromDIP(1, NULL);
|
|
||||||
m_gripperPen1 = wxPen(darker5Colour, pen_width);
|
|
||||||
m_gripperPen2 = wxPen(darker3Colour, pen_width);
|
|
||||||
m_gripperPen3 = wxPen(*wxWHITE, pen_width);
|
|
||||||
|
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
m_captionFont = *wxSMALL_FONT;
|
m_captionFont = *wxSMALL_FONT;
|
||||||
@@ -296,6 +255,53 @@ wxAuiDefaultDockArt::InitBitmaps ()
|
|||||||
m_activePinBitmap = wxAuiBitmapFromBits(pin_bits, 16, 16, m_activeCaptionTextColour);
|
m_activePinBitmap = wxAuiBitmapFromBits(pin_bits, 16, 16, m_activeCaptionTextColour);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxAuiDefaultDockArt::UpdateColoursFromSystem()
|
||||||
|
{
|
||||||
|
#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON
|
||||||
|
wxColor baseColour = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
|
||||||
|
#else
|
||||||
|
wxColor baseColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// the baseColour is too pale to use as our base colour,
|
||||||
|
// so darken it a bit --
|
||||||
|
if ((255-baseColour.Red()) +
|
||||||
|
(255-baseColour.Green()) +
|
||||||
|
(255-baseColour.Blue()) < 60)
|
||||||
|
{
|
||||||
|
baseColour = baseColour.ChangeLightness(92);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_baseColour = baseColour;
|
||||||
|
wxColor darker1Colour = baseColour.ChangeLightness(85);
|
||||||
|
wxColor darker2Colour = baseColour.ChangeLightness(75);
|
||||||
|
wxColor darker3Colour = baseColour.ChangeLightness(60);
|
||||||
|
//wxColor darker4Colour = baseColour.ChangeLightness(50);
|
||||||
|
wxColor darker5Colour = baseColour.ChangeLightness(40);
|
||||||
|
|
||||||
|
m_activeCaptionColour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
|
||||||
|
m_activeCaptionGradientColour = wxAuiLightContrastColour(wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT));
|
||||||
|
m_activeCaptionTextColour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
|
||||||
|
m_inactiveCaptionColour = darker1Colour;
|
||||||
|
m_inactiveCaptionGradientColour = baseColour.ChangeLightness(97);
|
||||||
|
#ifdef __WXMAC__
|
||||||
|
m_inactiveCaptionTextColour = wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTIONTEXT);
|
||||||
|
#else
|
||||||
|
m_inactiveCaptionTextColour = *wxBLACK;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
m_sashBrush = wxBrush(baseColour);
|
||||||
|
m_backgroundBrush = wxBrush(baseColour);
|
||||||
|
m_gripperBrush = wxBrush(baseColour);
|
||||||
|
|
||||||
|
m_borderPen = wxPen(darker2Colour);
|
||||||
|
int pen_width = wxWindow::FromDIP(1, NULL);
|
||||||
|
m_gripperPen1 = wxPen(darker5Colour, pen_width);
|
||||||
|
m_gripperPen2 = wxPen(darker3Colour, pen_width);
|
||||||
|
m_gripperPen3 = wxPen(*wxStockGDI::GetColour(wxStockGDI::COLOUR_WHITE), pen_width);
|
||||||
|
InitBitmaps();
|
||||||
|
}
|
||||||
|
|
||||||
int wxAuiDefaultDockArt::GetMetric(int id)
|
int wxAuiDefaultDockArt::GetMetric(int id)
|
||||||
{
|
{
|
||||||
switch (id)
|
switch (id)
|
||||||
|
@@ -604,6 +604,7 @@ wxBEGIN_EVENT_TABLE(wxAuiManager, wxEvtHandler)
|
|||||||
EVT_MOUSE_CAPTURE_LOST(wxAuiManager::OnCaptureLost)
|
EVT_MOUSE_CAPTURE_LOST(wxAuiManager::OnCaptureLost)
|
||||||
EVT_CHILD_FOCUS(wxAuiManager::OnChildFocus)
|
EVT_CHILD_FOCUS(wxAuiManager::OnChildFocus)
|
||||||
EVT_AUI_FIND_MANAGER(wxAuiManager::OnFindManager)
|
EVT_AUI_FIND_MANAGER(wxAuiManager::OnFindManager)
|
||||||
|
EVT_SYS_COLOUR_CHANGED(wxAuiManager::OnSysColourChanged)
|
||||||
wxEND_EVENT_TABLE()
|
wxEND_EVENT_TABLE()
|
||||||
|
|
||||||
|
|
||||||
@@ -648,6 +649,13 @@ wxAuiManager::~wxAuiManager()
|
|||||||
delete m_art;
|
delete m_art;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxAuiManager::OnSysColourChanged(wxSysColourChangedEvent& event)
|
||||||
|
{
|
||||||
|
m_art->UpdateColoursFromSystem();
|
||||||
|
m_frame->Refresh();
|
||||||
|
event.Skip(true);
|
||||||
|
}
|
||||||
|
|
||||||
// creates a floating frame for the windows
|
// creates a floating frame for the windows
|
||||||
wxAuiFloatingFrame* wxAuiManager::CreateFloatingFrame(wxWindow* parent,
|
wxAuiFloatingFrame* wxAuiManager::CreateFloatingFrame(wxWindow* parent,
|
||||||
const wxAuiPaneInfo& paneInfo)
|
const wxAuiPaneInfo& paneInfo)
|
||||||
|
@@ -164,6 +164,29 @@ wxAuiGenericTabArt::wxAuiGenericTabArt()
|
|||||||
m_fixedTabWidth = wxWindow::FromDIP(100, NULL);
|
m_fixedTabWidth = wxWindow::FromDIP(100, NULL);
|
||||||
m_tabCtrlHeight = 0;
|
m_tabCtrlHeight = 0;
|
||||||
|
|
||||||
|
UpdateColoursFromSystem();
|
||||||
|
|
||||||
|
m_activeCloseBmp = wxAuiBitmapFromBits(close_bits, 16, 16, *wxBLACK);
|
||||||
|
m_disabledCloseBmp = wxAuiBitmapFromBits(close_bits, 16, 16, wxColour(128,128,128));
|
||||||
|
|
||||||
|
m_activeLeftBmp = wxAuiBitmapFromBits(left_bits, 16, 16, *wxBLACK);
|
||||||
|
m_disabledLeftBmp = wxAuiBitmapFromBits(left_bits, 16, 16, wxColour(128,128,128));
|
||||||
|
|
||||||
|
m_activeRightBmp = wxAuiBitmapFromBits(right_bits, 16, 16, *wxBLACK);
|
||||||
|
m_disabledRightBmp = wxAuiBitmapFromBits(right_bits, 16, 16, wxColour(128,128,128));
|
||||||
|
|
||||||
|
m_activeWindowListBmp = wxAuiBitmapFromBits(list_bits, 16, 16, *wxBLACK);
|
||||||
|
m_disabledWindowListBmp = wxAuiBitmapFromBits(list_bits, 16, 16, wxColour(128,128,128));
|
||||||
|
|
||||||
|
m_flags = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxAuiGenericTabArt::~wxAuiGenericTabArt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxAuiGenericTabArt::UpdateColoursFromSystem()
|
||||||
|
{
|
||||||
#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON
|
#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON
|
||||||
wxColor baseColour = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
|
wxColor baseColour = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
|
||||||
#else
|
#else
|
||||||
@@ -186,24 +209,6 @@ wxAuiGenericTabArt::wxAuiGenericTabArt()
|
|||||||
m_borderPen = wxPen(borderColour);
|
m_borderPen = wxPen(borderColour);
|
||||||
m_baseColourPen = wxPen(m_baseColour);
|
m_baseColourPen = wxPen(m_baseColour);
|
||||||
m_baseColourBrush = wxBrush(m_baseColour);
|
m_baseColourBrush = wxBrush(m_baseColour);
|
||||||
|
|
||||||
m_activeCloseBmp = wxAuiBitmapFromBits(close_bits, 16, 16, *wxBLACK);
|
|
||||||
m_disabledCloseBmp = wxAuiBitmapFromBits(close_bits, 16, 16, wxColour(128,128,128));
|
|
||||||
|
|
||||||
m_activeLeftBmp = wxAuiBitmapFromBits(left_bits, 16, 16, *wxBLACK);
|
|
||||||
m_disabledLeftBmp = wxAuiBitmapFromBits(left_bits, 16, 16, wxColour(128,128,128));
|
|
||||||
|
|
||||||
m_activeRightBmp = wxAuiBitmapFromBits(right_bits, 16, 16, *wxBLACK);
|
|
||||||
m_disabledRightBmp = wxAuiBitmapFromBits(right_bits, 16, 16, wxColour(128,128,128));
|
|
||||||
|
|
||||||
m_activeWindowListBmp = wxAuiBitmapFromBits(list_bits, 16, 16, *wxBLACK);
|
|
||||||
m_disabledWindowListBmp = wxAuiBitmapFromBits(list_bits, 16, 16, wxColour(128,128,128));
|
|
||||||
|
|
||||||
m_flags = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxAuiGenericTabArt::~wxAuiGenericTabArt()
|
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxAuiTabArt* wxAuiGenericTabArt::Clone()
|
wxAuiTabArt* wxAuiGenericTabArt::Clone()
|
||||||
@@ -919,7 +924,6 @@ wxAuiSimpleTabArt::wxAuiSimpleTabArt()
|
|||||||
|
|
||||||
m_activeWindowListBmp = wxAuiBitmapFromBits(list_bits, 16, 16, *wxBLACK);
|
m_activeWindowListBmp = wxAuiBitmapFromBits(list_bits, 16, 16, *wxBLACK);
|
||||||
m_disabledWindowListBmp = wxAuiBitmapFromBits(list_bits, 16, 16, wxColour(128,128,128));
|
m_disabledWindowListBmp = wxAuiBitmapFromBits(list_bits, 16, 16, wxColour(128,128,128));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxAuiSimpleTabArt::~wxAuiSimpleTabArt()
|
wxAuiSimpleTabArt::~wxAuiSimpleTabArt()
|
||||||
|
Reference in New Issue
Block a user