Correct the drawing of check tools with a drop down button in wxAuiToolBar.

This combination was simply not covered by the existing code, add the missing
DrawDropDownButton() call.

Closes #11139.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2011-05-14 14:18:14 +00:00
parent 587151f730
commit 026c6eff70

View File

@ -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)
{