X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e76c0b5fc59b06273ebbe9c1d9b2646befd0acd0..493902ac5be1c347e35c3550cd35d68696d02a61:/src/generic/tbarsmpl.cpp diff --git a/src/generic/tbarsmpl.cpp b/src/generic/tbarsmpl.cpp index 543aff8fc5..8aceb7f09d 100644 --- a/src/generic/tbarsmpl.cpp +++ b/src/generic/tbarsmpl.cpp @@ -5,8 +5,8 @@ // Modified by: VZ on 14.12.99 during wxToolBarSimple reorganization // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -28,7 +28,7 @@ #pragma hdrstop #endif -#if wxUSE_TOOLBAR_SIMPLE +#if wxUSE_TOOLBAR && wxUSE_TOOLBAR_SIMPLE #ifndef WX_PRECOMP #include "wx/settings.h" @@ -37,6 +37,7 @@ #include "wx/dcmemory.h" #endif +#include "wx/toolbar.h" #include "wx/tbarsmpl.h" // ---------------------------------------------------------------------------- @@ -86,9 +87,7 @@ public: IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxToolBarBase) -#if !wxUSE_TOOLBAR_NATIVE - #include "wx/toolbar.h" - +#if !wxUSE_TOOLBAR_NATIVE && !defined(__WXUNIVERSAL__) IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarSimple) #endif @@ -277,7 +276,7 @@ bool wxToolBarSimple::Realize() int maxToolHeight = 0; // Find the maximum tool width and height - wxToolBarToolsList::Node *node = m_tools.GetFirst(); + wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst(); while ( node ) { wxToolBarToolSimple *tool = (wxToolBarToolSimple *)node->GetData(); @@ -356,13 +355,15 @@ bool wxToolBarSimple::Realize() } if ( GetWindowStyleFlag() & wxTB_HORIZONTAL ) - m_maxWidth += maxToolWidth; - else m_maxHeight += maxToolHeight; + else + m_maxWidth += maxToolWidth; m_maxWidth += m_xMargin; m_maxHeight += m_yMargin; + SetSize(m_maxWidth, m_maxHeight); + return TRUE; } @@ -381,7 +382,7 @@ void wxToolBarSimple::OnPaint (wxPaintEvent& WXUNUSED(event)) return; count++; - for ( wxToolBarToolsList::Node *node = m_tools.GetFirst(); + for ( wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst(); node; node = node->GetNext() ) { @@ -514,9 +515,11 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxToolBarToolBase *toolBase) wxPen white_pen(wxT("WHITE"), 1, wxSOLID); wxPen black_pen(wxT("BLACK"), 1, wxSOLID); - wxBitmap bitmap = tool->GetBitmap(); + wxBitmap bitmap = tool->GetNormalBitmap(); + if (!bitmap.Ok()) + return; - if ( bitmap.Ok() ) + if ( !tool->IsToggled() ) { #if wxUSE_PALETTE #ifndef __WXGTK__ @@ -648,7 +651,7 @@ void wxToolBarSimple::SetRows(int nRows) wxToolBarToolBase *wxToolBarSimple::FindToolForPosition(wxCoord x, wxCoord y) const { - wxToolBarToolsList::Node *node = m_tools.GetFirst(); + wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst(); while (node) { wxToolBarToolSimple *tool = (wxToolBarToolSimple *)node->GetData();