]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/statusbr.cpp
concentrating content and structure region calculations
[wxWidgets.git] / src / generic / statusbr.cpp
index 2c8d40fbd847087f421f90931ca5f4f9a24347ac..55eb58cc4f1338b64176025cf865e2c43d8bca1d 100644 (file)
@@ -9,7 +9,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "statusbr.h"
 #endif
 
@@ -133,12 +133,16 @@ void wxStatusBarGeneric::SetStatusText(const wxString& text, int number)
     wxCHECK_RET( (number >= 0) && (number < m_nFields),
                  _T("invalid status bar field index") );
 
-    m_statusStrings[number] = text;
+    wxString oldText = m_statusStrings[number];
+    if (oldText != text)
+    {
+        m_statusStrings[number] = text;
 
-    wxRect rect;
-    GetFieldRect(number, rect);
+        wxRect rect;
+        GetFieldRect(number, rect);
 
-    Refresh( TRUE, &rect );
+        Refresh( TRUE, &rect );
+    }
 }
 
 wxString wxStatusBarGeneric::GetStatusText(int n) const
@@ -330,7 +334,7 @@ bool wxStatusBarGeneric::GetFieldRect(int n, wxRect& rect) const
 void wxStatusBarGeneric::InitColours()
 {
     // Shadow colours
-#if defined(__WIN95__)
+#if defined(__WIN95__) || defined(__WXMAC__)
     wxColour mediumShadowColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW));
     m_mediumShadowPen = wxPen(mediumShadowColour, 1, wxSOLID);