X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/587151f730be88de8fcba82004c2bb93f8362342..ab332136e4f44d57ceb5093b1b92c0ceaa160d9b:/src/aui/auibar.cpp diff --git a/src/aui/auibar.cpp b/src/aui/auibar.cpp index 8715e6a456..9d86d69a0c 100644 --- a/src/aui/auibar.cpp +++ b/src/aui/auibar.cpp @@ -463,6 +463,15 @@ void wxAuiDefaultToolBarArt::DrawDropDownButton( dc.DrawRectangle(button_rect); dc.DrawRectangle(dropdown_rect); } + else if (item.GetState() & wxAUI_BUTTON_STATE_CHECKED) + { + // Notice that this branch must come after the hover one to ensure the + // correct appearance when the mouse hovers over a checked item. + dc.SetPen(wxPen(m_highlight_colour)); + dc.SetBrush(wxBrush(m_highlight_colour.ChangeLightness(170))); + dc.DrawRectangle(button_rect); + dc.DrawRectangle(dropdown_rect); + } wxBitmap bmp; wxBitmap dropbmp; @@ -2444,8 +2453,11 @@ void wxAuiToolBar::OnPaint(wxPaintEvent& WXUNUSED(evt)) } else if (item.kind == wxITEM_CHECK) { - // draw a toggle button - m_art->DrawButton(dc, this, item, item_rect); + // draw either a regular or dropdown toggle button + if (!item.dropdown) + m_art->DrawButton(dc, this, item, item_rect); + else + m_art->DrawDropDownButton(dc, this, item, item_rect); } else if (item.kind == wxITEM_RADIO) {