]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/tbarsmpl.cpp
unicode for mac fixes
[wxWidgets.git] / src / generic / tbarsmpl.cpp
index 522736e77f32f49162082d384766c18b7f08b509..d0ebf2e44e00e0ea81933a0ed47e3c993c7b0bd9 100644 (file)
@@ -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
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -17,7 +17,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "tbarsmpl.h"
 #endif
 
@@ -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"
 
 // ----------------------------------------------------------------------------
@@ -78,17 +79,17 @@ public:
     wxCoord m_y;
     wxCoord m_width;
     wxCoord m_height;
+
+    DECLARE_NO_COPY_CLASS(wxToolBarToolSimple)
 };
 
 // ----------------------------------------------------------------------------
 // wxWin macros
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxToolBarBase)
-
-#if !wxUSE_TOOLBAR_NATIVE
-    #include "wx/toolbar.h"
+IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxControl)
 
+#if !wxUSE_TOOLBAR_NATIVE && !defined(__WXUNIVERSAL__)
     IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarSimple)
 #endif
 
@@ -277,7 +278,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 +357,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 +384,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() )
     {
@@ -650,7 +653,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();