adjust the toolbar tools bitmap size to fit the biggest bitmap used under wxOSX too, not only under MSW (and moved the code doing it to the common base class to avoid duplicating it)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-06-23 10:21:18 +00:00
parent 12a124ddc9
commit bb2212e6c4
5 changed files with 56 additions and 44 deletions

View File

@@ -446,8 +446,35 @@ void wxToolBarBase::ClearTools()
}
}
void wxToolBarBase::AdjustToolBitmapSize()
{
const wxSize sizeOrig(m_defaultWidth, m_defaultHeight);
wxSize sizeActual(sizeOrig);
for ( wxToolBarToolsList::const_iterator i = m_tools.begin();
i != m_tools.end();
++i )
{
const wxBitmap& bmp = (*i)->GetNormalBitmap();
if ( bmp.IsOk() )
sizeActual.IncTo(bmp.GetSize());
}
if ( sizeActual != sizeOrig )
SetToolBitmapSize(sizeActual);
}
bool wxToolBarBase::Realize()
{
// check if we have anything to do
if ( m_tools.empty() )
return false;
// make sure tool size is larger enough for all all bitmaps to fit in
// (this is consistent with what other ports do):
AdjustToolBitmapSize();
return true;
}