#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();
+
+ 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) )