X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a310c91c7c51703f88cbcf4f2c6975e7c0db3cda..c81394808bf7efd84e4294e44a9a9a7b7f6dd8a9:/src/aui/auibook.cpp diff --git a/src/aui/auibook.cpp b/src/aui/auibook.cpp index bc109ddec5..d308cdd4dd 100644 --- a/src/aui/auibook.cpp +++ b/src/aui/auibook.cpp @@ -206,6 +206,7 @@ wxAuiDefaultTabArt::wxAuiDefaultTabArt() base_colour = base_colour.ChangeLightness(92); } + m_active_colour = base_colour; m_base_colour = base_colour; wxColor border_colour = base_colour.ChangeLightness(75); @@ -438,8 +439,8 @@ void wxAuiDefaultTabArt::DrawTab(wxDC& dc, // draw base background color wxRect r(tab_x, tab_y, tab_width, tab_height); - dc.SetPen(m_base_colour_pen); - dc.SetBrush(m_base_colour_brush); + dc.SetPen(wxPen(m_active_colour)); + dc.SetBrush(wxBrush(m_active_colour)); dc.DrawRectangle(r.x+1, r.y+1, r.width-1, r.height-4); // this white helps fill out the gradient at the top of the tab @@ -448,20 +449,20 @@ void wxAuiDefaultTabArt::DrawTab(wxDC& dc, dc.DrawRectangle(r.x+2, r.y+1, r.width-3, r.height-4); // these two points help the rounded corners appear more antialiased - dc.SetPen(m_base_colour_pen); + dc.SetPen(wxPen(m_active_colour)); dc.DrawPoint(r.x+2, r.y+1); dc.DrawPoint(r.x+r.width-2, r.y+1); // set rectangle down a bit for gradient drawing r.SetHeight(r.GetHeight()/2); r.x += 2; - r.width -= 2; + r.width -= 3; r.y += r.height; r.y -= 2; // draw gradient background wxColor top_color = *wxWHITE; - wxColor bottom_color = m_base_colour; + wxColor bottom_color = m_active_colour; dc.GradientFillLinear(r, bottom_color, top_color, wxNORTH); } else @@ -831,6 +832,18 @@ void wxAuiDefaultTabArt::SetMeasuringFont(const wxFont& font) m_measuring_font = font; } +void wxAuiDefaultTabArt::SetColour(const wxColour& colour) +{ + m_base_colour = colour; + m_border_pen = wxPen(m_base_colour.ChangeLightness(75)); + m_base_colour_pen = wxPen(m_base_colour); + m_base_colour_brush = wxBrush(m_base_colour); +} + +void wxAuiDefaultTabArt::SetActiveColour(const wxColour& colour) +{ + m_active_colour = colour; +} // -- wxAuiSimpleTabArt class implementation -- @@ -876,10 +889,9 @@ wxAuiSimpleTabArt::~wxAuiSimpleTabArt() wxAuiTabArt* wxAuiSimpleTabArt::Clone() { - return static_cast(new wxAuiSimpleTabArt); + return new wxAuiSimpleTabArt(*this); } - void wxAuiSimpleTabArt::SetFlags(unsigned int flags) { m_flags = flags; @@ -913,6 +925,19 @@ void wxAuiSimpleTabArt::SetSizingInfo(const wxSize& tab_ctrl_size, m_fixed_tab_width = 220; } +void wxAuiSimpleTabArt::SetColour(const wxColour& colour) +{ + m_bkbrush = wxBrush(colour); + m_normal_bkbrush = wxBrush(colour); + m_normal_bkpen = wxPen(colour); +} + +void wxAuiSimpleTabArt::SetActiveColour(const wxColour& colour) +{ + m_selected_bkbrush = wxBrush(colour); + m_selected_bkpen = wxPen(colour); +} + void wxAuiSimpleTabArt::DrawBackground(wxDC& dc, wxWindow* WXUNUSED(wnd), const wxRect& rect) @@ -1365,6 +1390,16 @@ void wxAuiTabContainer::SetMeasuringFont(const wxFont& font) m_art->SetMeasuringFont(font); } +void wxAuiTabContainer::SetColour(const wxColour& colour) +{ + m_art->SetColour(colour); +} + +void wxAuiTabContainer::SetActiveColour(const wxColour& colour) +{ + m_art->SetActiveColour(colour); +} + void wxAuiTabContainer::SetRect(const wxRect& rect) { m_rect = rect; @@ -2931,7 +2966,7 @@ void wxAuiNotebook::SetArtProvider(wxAuiTabArt* art) // specified tab ctrl height, overriding all other considerations, // such as text or bitmap height. It overrides any call to // SetUniformBitmapSize(). Specifying a height of -1 reverts -// any previous call and returns to the default behavior +// any previous call and returns to the default behaviour void wxAuiNotebook::SetTabCtrlHeight(int height) {