]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/statbrma.cpp
correcting condition: only interfere in the non-native case
[wxWidgets.git] / src / mac / carbon / statbrma.cpp
index f7b7ad477f3192bb738bdcc693b71311c495ebbe..c926d76b01cb271970cfbccab0b9fe4ca67b0cff 100644 (file)
@@ -6,10 +6,10 @@
 // Created:     1998-01-01
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Stefan Csomor
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "statbrma.h"
 #endif
 
@@ -17,6 +17,8 @@
 // headers
 // ----------------------------------------------------------------------------
 
+#include "wx/wxprec.h"
+
 #include "wx/statusbr.h"
 #include "wx/dc.h"
 #include "wx/dcclient.h"
@@ -57,6 +59,9 @@ bool wxStatusBarMac::Create(wxWindow *parent, wxWindowID id,
     if ( parent->MacGetTopLevelWindow()->MacGetMetalAppearance() )
         MacSetBackgroundBrush( wxNullBrush ) ;    
     
+    // normal system font is too tall for fitting into the standard height
+    SetWindowVariant( wxWINDOW_VARIANT_SMALL ) ;
+    
     return TRUE ;
 }
 
@@ -102,6 +107,9 @@ void wxStatusBarMac::SetStatusText(const wxString& text, int number)
     wxCHECK_RET( (number >= 0) && (number < m_nFields),
         _T("invalid status bar field index") );
     
+    if ( m_statusStrings[number] == text )
+        return ;
+    
     m_statusStrings[number] = text;
     wxRect rect;
     GetFieldRect(number, rect);
@@ -125,7 +133,7 @@ void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) )
 
        if ( MacIsReallyHilited() )
        {
-               wxPen white( wxWHITE , 1 , wxSOLID ) ;
+               wxPen white( *wxWHITE , 1 , wxSOLID ) ;
         if (major >= 10 ) 
         {
             //Finder statusbar border color: (Project builder similar is 9B9B9B)
@@ -136,7 +144,7 @@ void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) )
         }
         else
         {
-            wxPen black( wxBLACK , 1 , wxSOLID ) ;
+            wxPen black( *wxBLACK , 1 , wxSOLID ) ;
             dc.SetPen(black);
        }
                dc.DrawLine(0, 0 ,