]> git.saurik.com Git - wxWidgets.git/commitdiff
more efficient SetStatusText for the generic wxStatusBar (patch 469976)
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 2 Nov 2001 17:38:40 +0000 (17:38 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 2 Nov 2001 17:38:40 +0000 (17:38 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/statusbr.cpp

index 16e9246509e18e4f73f3730cc87803b709bf1715..d8fb78c69d298cacf06cf2bbd3fe7162b4fcaafb 100644 (file)
@@ -127,7 +127,16 @@ void wxStatusBarGeneric::SetStatusText(const wxString& text, int number)
 
     m_statusStrings[number] = text;
 
-    Refresh();
+    wxRect rect;
+    GetFieldRect(number, rect);
+    wxClientDC dc(this);
+
+    dc.SetBackground( wxBrush(GetBackgroundColour(), wxSOLID) );
+    dc.SetClippingRegion( rect.x+1, rect.y+1, rect.width-1, rect.height-1 );
+    dc.Clear();
+    dc.DestroyClippingRegion();
+
+    DrawFieldText( dc, number );
 }
 
 wxString wxStatusBarGeneric::GetStatusText(int n) const
@@ -151,7 +160,7 @@ void wxStatusBarGeneric::SetStatusWidths(int n, const int widths_field[])
     {
         // not an error, see the comment above
         m_statusWidths = (int *)NULL;
-
+        Refresh();
         return;
     }
 
@@ -174,6 +183,7 @@ void wxStatusBarGeneric::SetStatusWidths(int n, const int widths_field[])
     {
         m_statusWidths[i] = widths_field[i];
     }
+    Refresh();
 }
 
 void wxStatusBarGeneric::OnPaint(wxPaintEvent& WXUNUSED(event) )