Respect AUI toolbar buttons sticky state in native MSW theme
Indicate that the items are sticky by always drawing them in a hover-like state, as otherwise stickiness wasn't visible at all. Closes #18496.
This commit is contained in:
committed by
Vadim Zeitlin
parent
93815ad2d2
commit
9d704706cb
@@ -846,6 +846,7 @@ MyFrame::MyFrame(wxWindow* parent,
|
|||||||
wxBitmap tb4_bmp1 = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, FromDIP(wxSize(16,16)));
|
wxBitmap tb4_bmp1 = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, FromDIP(wxSize(16,16)));
|
||||||
tb4->AddTool(ID_DropDownToolbarItem, "Item 1", tb4_bmp1);
|
tb4->AddTool(ID_DropDownToolbarItem, "Item 1", tb4_bmp1);
|
||||||
tb4->AddTool(ID_SampleItem+23, "Item 2", tb4_bmp1);
|
tb4->AddTool(ID_SampleItem+23, "Item 2", tb4_bmp1);
|
||||||
|
tb4->SetToolSticky(ID_SampleItem+23, true);
|
||||||
tb4->AddTool(ID_SampleItem+24, "Item 3", tb4_bmp1);
|
tb4->AddTool(ID_SampleItem+24, "Item 3", tb4_bmp1);
|
||||||
tb4->AddTool(ID_SampleItem+25, "Item 4", tb4_bmp1);
|
tb4->AddTool(ID_SampleItem+25, "Item 4", tb4_bmp1);
|
||||||
tb4->AddSeparator();
|
tb4->AddSeparator();
|
||||||
|
@@ -134,7 +134,7 @@ void wxAuiMSWToolBarArt::DrawButton(
|
|||||||
btnState = TS_HOTCHECKED;
|
btnState = TS_HOTCHECKED;
|
||||||
else if ( item.GetState() & wxAUI_BUTTON_STATE_CHECKED )
|
else if ( item.GetState() & wxAUI_BUTTON_STATE_CHECKED )
|
||||||
btnState = TS_CHECKED;
|
btnState = TS_CHECKED;
|
||||||
else if ( item.GetState() & wxAUI_BUTTON_STATE_HOVER )
|
else if ( (item.GetState() & wxAUI_BUTTON_STATE_HOVER) || item.IsSticky() )
|
||||||
btnState = TS_HOT;
|
btnState = TS_HOT;
|
||||||
else
|
else
|
||||||
btnState = TS_NORMAL;
|
btnState = TS_NORMAL;
|
||||||
@@ -259,7 +259,7 @@ void wxAuiMSWToolBarArt::DrawDropDownButton(
|
|||||||
btnState = TS_DISABLED;
|
btnState = TS_DISABLED;
|
||||||
else if ( item.GetState() & wxAUI_BUTTON_STATE_PRESSED )
|
else if ( item.GetState() & wxAUI_BUTTON_STATE_PRESSED )
|
||||||
btnState = TS_PRESSED;
|
btnState = TS_PRESSED;
|
||||||
else if ( item.GetState() & wxAUI_BUTTON_STATE_HOVER )
|
else if ( (item.GetState() & wxAUI_BUTTON_STATE_HOVER) || item.IsSticky() )
|
||||||
btnState = TS_HOT;
|
btnState = TS_HOT;
|
||||||
else
|
else
|
||||||
btnState = TS_NORMAL;
|
btnState = TS_NORMAL;
|
||||||
|
Reference in New Issue
Block a user