Use equally-sized buttons in wxMSW horizontal toolbars

Only use TBSTYLE_AUTOSIZE, adjusting each button to the size it really needs,
for the toolbars with wxTB_HORZ_LAYOUT style as they don't have any uniform
button size anyhow.

(cherry picked from commit 967bdbf994)
This commit is contained in:
Vadim Zeitlin
2016-06-26 18:51:50 +02:00
parent 722ff6a210
commit 0264b2218c
2 changed files with 12 additions and 5 deletions

View File

@@ -127,6 +127,12 @@ Changes in behaviour not resulting in compilation errors, please read this!
to check if the changes correspond to your expectations. And if you do need to check if the changes correspond to your expectations. And if you do need
the old behaviour please contact us at wx-dev to let us know about it! the old behaviour please contact us at wx-dev to let us know about it!
- Revert to using equally-sized buttons in wxToolBar by default: restore the
behaviour of the pre-3.0 versions in which toolbar buttons had the same
width for the toolbars not using wxTB_HORZ_LAYOUT style. Toolbars with this
style still size their buttons appropriately for their contents as they
already did in the previous 3.0.x releases.
- wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in - wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in
your code you need to override DoFreeze/DoThaw() instead now. your code you need to override DoFreeze/DoThaw() instead now.

View File

@@ -1091,11 +1091,12 @@ bool wxToolBar::Realize()
// Instead of using fixed widths for all buttons, size them // Instead of using fixed widths for all buttons, size them
// automatically according to the size of their bitmap and text // automatically according to the size of their bitmap and text
// label, if present. This particularly matters for toolbars // label, if present. They look hideously ugly without autosizing
// with the wxTB_HORZ_LAYOUT style: they look hideously ugly // when the labels have even slightly different lengths.
// without autosizing when the labels have even slightly if ( HasFlag(wxTB_HORZ_LAYOUT) )
// different lengths. {
button.fsStyle |= TBSTYLE_AUTOSIZE; button.fsStyle |= TBSTYLE_AUTOSIZE;
}
bitmapId++; bitmapId++;
break; break;