X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe9fea7ec75fe38527702b8ae7926a5609828b79..a6d57d0388f29fca011b0e168e926b61be0f465c:/src/univ/statusbr.cpp diff --git a/src/univ/statusbr.cpp b/src/univ/statusbr.cpp index 62f7257458..a4a98d952d 100644 --- a/src/univ/statusbr.cpp +++ b/src/univ/statusbr.cpp @@ -35,6 +35,7 @@ #endif #include "wx/statusbr.h" +#include "wx/toplevel.h" #include "wx/univ/renderer.h" @@ -88,6 +89,8 @@ wxRect wxStatusBarUniv::GetTotalFieldRect(wxCoord *borderBetweenFields) wxRect rect = GetClientRect(); // no, don't do this - the borders are meant to be inside this rect + // wxSize sizeBorders = + m_renderer->GetStatusBarBorders(borderBetweenFields); //rect.Deflate(sizeBorders.x, sizeBorders.y); // recalc the field widths if needed @@ -110,7 +113,7 @@ void wxStatusBarUniv::DoDraw(wxControlRenderer *renderer) // prepare the DC wxDC& dc = renderer->GetDC(); - dc.SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT)); + dc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); // do draw the fields int flags = IsEnabled() ? 0 : wxCONTROL_DISABLED; @@ -120,12 +123,15 @@ void wxStatusBarUniv::DoDraw(wxControlRenderer *renderer) if ( IsExposed(rect) ) { + wxTopLevelWindow *parentTLW = wxDynamicCast(GetParent(), wxTopLevelWindow); + // the size grip may be drawn only on the last field and only if we // have the corresponding style and even then only if we really can // resize this frame if ( n == m_nFields - 1 && HasFlag(wxST_SIZEGRIP) && - GetParent()->HasFlag(wxRESIZE_BORDER) ) + GetParent()->HasFlag(wxRESIZE_BORDER) && + parentTLW && !parentTLW->IsMaximized() ) { // NB: we use wxCONTROL_ISDEFAULT for this because it doesn't // have any meaning for the status bar otherwise anyhow @@ -184,9 +190,8 @@ wxString wxStatusBarUniv::GetStatusText(int number) const void wxStatusBarUniv::SetFieldsCount(int number, const int *widths) { - wxStatusBarBase::SetFieldsCount(number, widths); - m_statusText.SetCount(number); + wxStatusBarBase::SetFieldsCount(number, widths); m_widthsAbs.Empty(); } @@ -242,7 +247,7 @@ bool wxStatusBarUniv::GetFieldRect(int n, wxRect& rect) const wxCoord wxStatusBarUniv::GetHeight() const { wxClientDC dc(wxConstCast(this, wxStatusBarUniv)); - dc.SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT)); + dc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); return dc.GetCharHeight() + 2*GetBorderY(); }