]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/toolbar.cpp
compile fix
[wxWidgets.git] / src / mac / carbon / toolbar.cpp
index 21c9a569f3883aebd59535c4be77c613d9c94e9b..7cfd6a959468454098476e193d68ae3d03fb54c3 100644 (file)
@@ -9,14 +9,15 @@
 // Licence:     The wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "toolbar.h"
 #endif
 
-#include "wx/wx.h"
+#include "wx/wxprec.h"
 
 #if wxUSE_TOOLBAR
 
+#include "wx/wx.h"
 #include "wx/toolbar.h"
 #include "wx/notebook.h"
 #include "wx/tabctrl.h"
@@ -259,6 +260,8 @@ wxToolBarTool::wxToolBarTool(wxToolBar *tbar,
     CreateBevelButtonControl( window , &toolrect , CFSTR("") , kControlBevelButtonNormalBevel , behaviour , &info , 
         0 , 0 , 0 , &m_controlHandle ) ;
         
+    wxMacReleaseBitmapButton( &info ) ;
+
     InstallControlEventHandler( (ControlRef) m_controlHandle, GetwxMacToolBarToolEventHandlerUPP(),
         GetEventTypeCount(eventList), eventList, this,NULL);
         
@@ -401,9 +404,10 @@ bool wxToolBar::Realize()
             // if not set yet, only one row
             SetRows(1);
         }
+        m_minWidth = maxWidth;
         maxWidth = tw ; 
         maxHeight += m_yMargin + kwxMacToolBarTopMargin;
-        m_maxHeight = maxHeight ;
+        m_minHeight = m_maxHeight = maxHeight ;
     }
     else
     {
@@ -412,9 +416,10 @@ bool wxToolBar::Realize()
             // if not set yet, have one column
             SetRows(GetToolsCount());
         }
+        m_minHeight = maxHeight;
         maxHeight = th ;
         maxWidth += m_xMargin + kwxMacToolBarLeftMargin;
-        m_maxWidth = maxWidth ;
+        m_minWidth = m_maxWidth = maxWidth ;
     }
     
     SetSize( maxWidth, maxHeight );
@@ -552,6 +557,8 @@ bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarToolBase *tool)
 void wxToolBar::OnPaint(wxPaintEvent& event)
 {
     wxPaintDC dc(this) ;
+#if wxMAC_USE_CORE_GRAPHICS
+#else
     wxMacPortSetter helper(&dc) ;
     int w, h ;
     GetSize( &w , &h ) ;
@@ -572,33 +579,35 @@ void wxToolBar::OnPaint(wxPaintEvent& event)
     {
 #if TARGET_API_MAC_OSX
 #if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_2
-    if ( UMAGetSystemVersion() >= 0x1030 )
-    {
-        HIRect hiToolbarrect = CGRectMake( dc.YLOG2DEVMAC(0) , dc.XLOG2DEVMAC(0) , 
-        dc.YLOG2DEVREL(h) , dc.XLOG2DEVREL(w) );
-        CGContextRef cgContext ;
-        Rect bounds ;
-        GetPortBounds( (CGrafPtr) dc.m_macPort , &bounds ) ;
-        QDBeginCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
-        CGContextTranslateCTM( cgContext , 0 , bounds.bottom - bounds.top ) ;
-        CGContextScaleCTM( cgContext , 1 , -1 ) ;
+        if ( UMAGetSystemVersion() >= 0x1030 )
+        {
+            HIRect hiToolbarrect = CGRectMake( dc.YLOG2DEVMAC(0) , dc.XLOG2DEVMAC(0) , 
+            dc.YLOG2DEVREL(h) , dc.XLOG2DEVREL(w) );
+            CGContextRef cgContext ;
+            Rect bounds ;
+            GetPortBounds( (CGrafPtr) dc.m_macPort , &bounds ) ;
+            QDBeginCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
+            CGContextTranslateCTM( cgContext , 0 , bounds.bottom - bounds.top ) ;
+            CGContextScaleCTM( cgContext , 1 , -1 ) ;
 
+            {
+                HIThemeBackgroundDrawInfo drawInfo ;
+                drawInfo.version = 0 ;
+                drawInfo.state = kThemeStateActive ;
+                drawInfo.kind = kThemeBackgroundMetal ;
+                HIThemeApplyBackground( &hiToolbarrect, &drawInfo , cgContext,kHIThemeOrientationNormal) ;
+            }
+            QDEndCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
+        }
+        else
+#endif
         {
-            HIThemeBackgroundDrawInfo drawInfo ;
-            drawInfo.version = 0 ;
-            drawInfo.state = kThemeStateActive ;
-            drawInfo.kind = kThemeBackgroundMetal ;
-            HIThemeApplyBackground( &hiToolbarrect, &drawInfo , cgContext,kHIThemeOrientationNormal) ;
+            UMADrawThemePlacard( &toolbarrect , IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
         }
-        QDEndCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
-    }
-    else
 #endif
-    {
-        UMADrawThemePlacard( &toolbarrect , IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
     }
 #endif
-    }
+
     event.Skip() ;
 }