#include "wx/statusbr.h"
-// if !wxUSE_NATIVE_STATUSBAR, this is already done in common/statbar.cpp
-#if defined(wxUSE_NATIVE_STATUSBAR) && wxUSE_NATIVE_STATUSBAR
+// 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
+// common/statbar.cpp
+#if defined(__WXMAC__) || \
+ (defined(wxUSE_NATIVE_STATUSBAR) && wxUSE_NATIVE_STATUSBAR)
#include "wx/generic/statusbr.h"
IMPLEMENT_DYNAMIC_CLASS(wxStatusBarGeneric, wxWindow)
m_statusStrings[number] = text;
- Refresh();
+#ifdef __WXMAC__
+ int major,minor;
+ wxGetOsVersion( &major, &minor );
+
+ if (major >= 10)
+ {
+ Refresh();
+ return;
+ }
+#endif
+
+ 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();
+ dc.SetFont(GetFont());
+ DrawFieldText( dc, number );
}
wxString wxStatusBarGeneric::GetStatusText(int n) const
{
// not an error, see the comment above
m_statusWidths = (int *)NULL;
-
+ Refresh();
return;
}
{
m_statusWidths[i] = widths_field[i];
}
+ Refresh();
}
void wxStatusBarGeneric::OnPaint(wxPaintEvent& WXUNUSED(event) )
#ifdef __WXPM__
wxColour vColor;
- vColor.InitFromName("GREY");
+ vColor.InitFromName("LIGHT GREY");
::WinFillRect(dc.m_hPS, &dc.m_vRclPaint, vColor.GetPixel());
#endif
{
// Shadow colours
#if defined(__WIN95__)
- wxColour mediumShadowColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DSHADOW));
+ wxColour mediumShadowColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW));
m_mediumShadowPen = wxPen(mediumShadowColour, 1, wxSOLID);
- wxColour hilightColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DHILIGHT));
+ wxColour hilightColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DHILIGHT));
m_hilightPen = wxPen(hilightColour, 1, wxSOLID);
#elif defined(__WXPM__)
- m_mediumShadowPen = wxPen("LIGHT GREY", 1, wxSOLID);
+ m_mediumShadowPen = wxPen("DARK GREY", 1, wxSOLID);
m_hilightPen = wxPen("WHITE", 1, wxSOLID);
+
+ wxColour vColour;
+
+ vColour.Set(wxString("LIGHT GREY"));
+ SetBackgroundColour(vColour);
+ vColour.Set(wxString("BLACK"));
+ SetForegroundColour(vColour);
+ m_defaultStatusBarFont = *wxSMALL_FONT;
#else
m_mediumShadowPen = wxPen("GREY", 1, wxSOLID);
m_hilightPen = wxPen("WHITE", 1, wxSOLID);
#endif
- m_defaultStatusBarFont = wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
- SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
+#ifndef __WXPM__
+ m_defaultStatusBarFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+ SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
+#endif
}
// Responds to colour changes, and passes event on to children.