// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
#endif // __TWIN32__
-#include "wx/msw/dib.h"
#include "wx/app.h" // for GetComCtl32Version
#if defined(__MWERKS__) && defined(__WXMSW__)
return FALSE;
// MSW-specific initialisation
- if ( !MSWCreateToolbar(pos, size, style) )
+ if ( !MSWCreateToolbar(pos, size) )
return FALSE;
// set up the colors and fonts
return TRUE;
}
-bool wxToolBar::MSWCreateToolbar(const wxPoint& pos,
- const wxSize& size,
- long style)
+bool wxToolBar::MSWCreateToolbar(const wxPoint& pos, const wxSize& size)
{
- if ( !MSWCreateControl(TOOLBARCLASSNAME, _T(""), pos, size, style) )
+ if ( !MSWCreateControl(TOOLBARCLASSNAME, _T(""), pos, size) )
return FALSE;
// toolbar-specific post initialisation
UnsubclassWin();
- if ( !MSWCreateToolbar(pos, size, GetWindowStyle()) )
+ if ( !MSWCreateToolbar(pos, size) )
{
// what can we do?
wxFAIL_MSG( _T("recreating the toolbar failed") );
const bool isVertical = HasFlag(wxTB_VERTICAL);
+ // delete all old buttons, if any
+ for ( size_t pos = 0; pos < m_nButtons; pos++ )
+ {
+ if ( !::SendMessage(GetHwnd(), TB_DELETEBUTTON, 0, 0) )
+ {
+ wxLogDebug(wxT("TB_DELETEBUTTON failed"));
+ }
+ }
+
// First, add the bitmap: we use one bitmap for all toolbar buttons
// ----------------------------------------------------------------
+ wxToolBarToolsList::Node *node;
int bitmapId = 0;
wxSize sizeBmp;
// the number of buttons (not separators)
int nButtons = 0;
- for ( wxToolBarToolsList::Node *node = m_tools.GetFirst();
- node;
- node = node->GetNext() )
+ for ( node = m_tools.GetFirst(); node; node = node->GetNext() )
{
wxToolBarToolBase *tool = node->GetData();
if ( tool->IsButton() )
bitmapId = m_nButtons;
}
-
- // Now delete all the buttons
- for ( size_t pos = 0; pos < m_nButtons; pos++ )
- {
- if ( !::SendMessage(GetHwnd(), TB_DELETEBUTTON, 0, 0) )
- {
- wxLogDebug(wxT("TB_DELETEBUTTON failed"));
- }
- }
}
if ( addBitmap ) // no old bitmap or we can't replace it
bool lastWasRadio = FALSE;
int i = 0;
- for ( wxToolBarToolsList::Node *node = m_tools.GetFirst();
- node;
- node = node->GetNext() )
+ for ( node = m_tools.GetFirst(); node; node = node->GetNext() )
{
wxToolBarToolBase *tool = node->GetData();
// FIXME: 6 is hardcoded separator line height...
//h += 6;
if (HasFlag(wxTB_NODIVIDER))
- h += 3;
+ h += 4;
else
h += 6;
h *= m_maxRows;