X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/48f7ffbe93ab587c54643e2476b0e3b0c74e1386..3a01afec26a05525dbbd0968c68cfc64ce4e74a7:/src/generic/statusbr.cpp diff --git a/src/generic/statusbr.cpp b/src/generic/statusbr.cpp index 0b8cb4868c..b963470a67 100644 --- a/src/generic/statusbr.cpp +++ b/src/generic/statusbr.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: generic/statusbr.cpp +// Name: src/generic/statusbr.cpp // Purpose: wxStatusBarGeneric class implementation // Author: Julian Smart // Modified by: @@ -9,33 +9,27 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "statusbr.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif #if wxUSE_STATUSBAR +#include "wx/statusbr.h" + #ifndef WX_PRECOMP -#include "wx/setup.h" -#include "wx/frame.h" -#include "wx/settings.h" -#include "wx/dcclient.h" + #include "wx/settings.h" + #include "wx/dcclient.h" #endif #ifdef __WXGTK20__ -#include "wx/gtk/private.h" -#include "wx/gtk/win_gtk.h" + #include + #include "wx/gtk/win_gtk.h" #endif -#include "wx/statusbr.h" - // we only have to do it here when we use wxStatusBarGeneric in addition to the // standard wxStatusBar class, if wxStatusBarGeneric is the same as // wxStatusBar, then the corresponding IMPLEMENT_DYNAMIC_CLASS is already in @@ -72,9 +66,10 @@ bool wxStatusBarGeneric::Create(wxWindow *parent, long style, const wxString& name) { + style |= wxTAB_TRAVERSAL | wxFULL_REPAINT_ON_RESIZE; if ( !wxWindow::Create(parent, id, wxDefaultPosition, wxDefaultSize, - style | wxTAB_TRAVERSAL, name) ) + style, name) ) return false; // The status bar should have a themed background @@ -153,7 +148,12 @@ void wxStatusBarGeneric::SetStatusText(const wxString& text, int number) wxRect rect; GetFieldRect(number, rect); - Refresh( true, &rect ); + Refresh(true, &rect); + + // it's common to show some text in the status bar before starting a + // relatively lengthy operation, ensure that the text is shown to the + // user immediately and not after the lengthy operation end + Update(); } } @@ -237,7 +237,7 @@ void wxStatusBarGeneric::DrawFieldText(wxDC& dc, int i) wxString text(GetStatusText(i)); - long x, y; + long x = 0, y = 0; dc.GetTextExtent(text, &x, &y); @@ -355,7 +355,7 @@ bool wxStatusBarGeneric::GetFieldRect(int n, wxRect& rect) const void wxStatusBarGeneric::InitColours() { // Shadow colours -#if defined(__WIN95__) || defined(__WXMAC__) +#if defined(__WXMSW__) || defined(__WXMAC__) wxColour mediumShadowColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW)); m_mediumShadowPen = wxPen(mediumShadowColour, 1, wxSOLID); @@ -363,17 +363,13 @@ void wxStatusBarGeneric::InitColours() m_hilightPen = wxPen(hilightColour, 1, wxSOLID); #elif defined(__WXPM__) m_mediumShadowPen = wxPen(wxColour(127, 127, 127), 1, wxSOLID); - m_hilightPen = wxPen(_T("WHITE"), 1, wxSOLID); - - wxColour vColour; + m_hilightPen = *wxWHITE_PEN; - vColour.Set(wxString(_T("LIGHT GREY"))); - SetBackgroundColour(vColour); - vColour.Set(wxString(_T("BLACK"))); - SetForegroundColour(vColour); + SetBackgroundColour(*wxLIGHT_GREY); + SetForegroundColour(*wxBLACK); #else - m_mediumShadowPen = wxPen("GREY", 1, wxSOLID); - m_hilightPen = wxPen("WHITE", 1, wxSOLID); + m_mediumShadowPen = *wxGREY_PEN; + m_hilightPen = *wxWHITE_PEN; #endif }