no real changes, just remove unnecessary code; use wxScopedArray instead of raw one
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		| @@ -88,6 +88,9 @@ protected: | ||||
|     // create the native toolbar control | ||||
|     bool MSWCreateToolbar(const wxPoint& pos, const wxSize& size); | ||||
|  | ||||
|     // just a wrapper for TB_SETBITMAPSIZE | ||||
|     void MSWSetBitmapSize(const wxSize& size); | ||||
|  | ||||
|     // recreate the control completely | ||||
|     void Recreate(); | ||||
|  | ||||
|   | ||||
| @@ -46,6 +46,7 @@ | ||||
| #include "wx/artprov.h" | ||||
| #include "wx/sysopt.h" | ||||
| #include "wx/dcclient.h" | ||||
| #include "wx/ptr_scpd.h" | ||||
|  | ||||
| #include "wx/msw/private.h" | ||||
| #include "wx/msw/dc.h" | ||||
| @@ -629,10 +630,18 @@ void wxToolBar::CreateDisabledImageList() | ||||
|     } | ||||
| } | ||||
|  | ||||
| void wxToolBar::MSWSetBitmapSize(const wxSize& size) | ||||
| { | ||||
|     ::SendMessage(GetHwnd(), TB_SETBITMAPSIZE, 0, MAKELONG(size.x, size.y)); | ||||
| } | ||||
|  | ||||
| void wxToolBar::AdjustToolBitmapSize() | ||||
| { | ||||
|     // this is the default bitmap size, we only need to call TB_SETBITMAPSIZE | ||||
|     // if we use something different | ||||
|     static const wxSize sizeStd(16, 15); | ||||
|  | ||||
|     wxSize s(m_defaultWidth, m_defaultHeight); | ||||
|     const wxSize orig_s(s); | ||||
|  | ||||
|     for ( wxToolBarToolsList::const_iterator i = m_tools.begin(); | ||||
|           i != m_tools.end(); | ||||
| @@ -642,8 +651,8 @@ void wxToolBar::AdjustToolBitmapSize() | ||||
|         s.IncTo(bmp.GetSize()); | ||||
|     } | ||||
|  | ||||
|     if ( s != orig_s ) | ||||
|         SetToolBitmapSize(s); | ||||
|     if ( s != sizeStd ) | ||||
|         MSWSetBitmapSize(s); | ||||
| } | ||||
|  | ||||
| bool wxToolBar::Realize() | ||||
| @@ -694,22 +703,12 @@ bool wxToolBar::Realize() | ||||
|     wxToolBarToolsList::compatibility_iterator node; | ||||
|     int bitmapId = 0; | ||||
|  | ||||
|     wxSize sizeBmp; | ||||
|     if ( HasFlag(wxTB_NOICONS) ) | ||||
|     { | ||||
|         // no icons, don't leave space for them | ||||
|         sizeBmp.x = | ||||
|         sizeBmp.y = 0; | ||||
|     } | ||||
|     else // do show icons | ||||
|     if ( !HasFlag(wxTB_NOICONS) ) | ||||
|     { | ||||
|         // if we already have a bitmap, we'll replace the existing one -- | ||||
|         // otherwise we'll install a new one | ||||
|         HBITMAP oldToolBarBitmap = (HBITMAP)m_hBitmap; | ||||
|  | ||||
|         sizeBmp.x = m_defaultWidth; | ||||
|         sizeBmp.y = m_defaultHeight; | ||||
|  | ||||
|         const wxCoord totalBitmapWidth  = m_defaultWidth * | ||||
|                                           wx_truncate_cast(wxCoord, nTools), | ||||
|                       totalBitmapHeight = m_defaultHeight; | ||||
| @@ -913,18 +912,11 @@ bool wxToolBar::Realize() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // don't call SetToolBitmapSize() as we don't want to change the values of | ||||
|     // m_defaultWidth/Height | ||||
|     if ( !::SendMessage(GetHwnd(), TB_SETBITMAPSIZE, 0, | ||||
|                         MAKELONG(sizeBmp.x, sizeBmp.y)) ) | ||||
|     { | ||||
|         wxLogLastError(_T("TB_SETBITMAPSIZE")); | ||||
|     } | ||||
|  | ||||
|     // Next add the buttons and separators | ||||
|     // ----------------------------------- | ||||
|  | ||||
|     TBBUTTON *buttons = new TBBUTTON[nTools]; | ||||
|     wxScopedArray<TBBUTTON> buttons(new TBBUTTON[nTools]); | ||||
|  | ||||
|     // this array will hold the indices of all controls in the toolbar | ||||
|     wxArrayInt controlIds; | ||||
| @@ -1044,12 +1036,11 @@ bool wxToolBar::Realize() | ||||
|         i++; | ||||
|     } | ||||
|  | ||||
|     if ( !::SendMessage(GetHwnd(), TB_ADDBUTTONS, (WPARAM)i, (LPARAM)buttons) ) | ||||
|     if ( !::SendMessage(GetHwnd(), TB_ADDBUTTONS, i, (LPARAM)buttons.get()) ) | ||||
|     { | ||||
|         wxLogLastError(wxT("TB_ADDBUTTONS")); | ||||
|     } | ||||
|  | ||||
|     delete [] buttons; | ||||
|  | ||||
|     // Deal with the controls finally | ||||
|     // ------------------------------ | ||||
| @@ -1363,7 +1354,7 @@ void wxToolBar::SetToolBitmapSize(const wxSize& size) | ||||
| { | ||||
|     wxToolBarBase::SetToolBitmapSize(size); | ||||
|  | ||||
|     ::SendMessage(GetHwnd(), TB_SETBITMAPSIZE, 0, MAKELONG(size.x, size.y)); | ||||
|     MSWSetBitmapSize(size); | ||||
| } | ||||
|  | ||||
| void wxToolBar::SetRows(int nRows) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user