Automatically adjust toolbar's tool size if the provided bitmaps
don't fit into the default size. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -146,6 +146,9 @@ protected:
|
|||||||
wxToolBarToolBase *m_pInTool;
|
wxToolBarToolBase *m_pInTool;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// makes sure tool bitmap size is sufficient for all tools
|
||||||
|
void AdjustToolBitmapSize();
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
DECLARE_DYNAMIC_CLASS(wxToolBar)
|
DECLARE_DYNAMIC_CLASS(wxToolBar)
|
||||||
DECLARE_NO_COPY_CLASS(wxToolBar)
|
DECLARE_NO_COPY_CLASS(wxToolBar)
|
||||||
|
@@ -629,6 +629,23 @@ void wxToolBar::CreateDisabledImageList()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxToolBar::AdjustToolBitmapSize()
|
||||||
|
{
|
||||||
|
wxSize s(m_defaultWidth, m_defaultHeight);
|
||||||
|
const wxSize orig_s(s);
|
||||||
|
|
||||||
|
for ( wxToolBarToolsList::const_iterator i = m_tools.begin();
|
||||||
|
i != m_tools.end();
|
||||||
|
++i )
|
||||||
|
{
|
||||||
|
const wxBitmap& bmp = (*i)->GetNormalBitmap();
|
||||||
|
s.IncTo(bmp.GetSize());
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( s != orig_s )
|
||||||
|
SetToolBitmapSize(s);
|
||||||
|
}
|
||||||
|
|
||||||
bool wxToolBar::Realize()
|
bool wxToolBar::Realize()
|
||||||
{
|
{
|
||||||
const size_t nTools = GetToolsCount();
|
const size_t nTools = GetToolsCount();
|
||||||
@@ -636,6 +653,10 @@ bool wxToolBar::Realize()
|
|||||||
// nothing to do
|
// nothing to do
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
// make sure tool size is larger enough for all all bitmaps to fit in
|
||||||
|
// (this is consistent with what other ports do):
|
||||||
|
AdjustToolBitmapSize();
|
||||||
|
|
||||||
#ifdef wxREMAP_BUTTON_COLOURS
|
#ifdef wxREMAP_BUTTON_COLOURS
|
||||||
// don't change the values of these constants, they can be set from the
|
// don't change the values of these constants, they can be set from the
|
||||||
// user code via wxSystemOptions
|
// user code via wxSystemOptions
|
||||||
|
Reference in New Issue
Block a user