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