+void wxStatusBarMac::SetStatusText(const wxString& text, int number)
+{
+ wxCHECK_RET( (number >= 0) && (number < m_nFields),
+ wxT("invalid status bar field index") );
+
+ if ( m_statusStrings[number] == text )
+ return ;
+
+ m_statusStrings[number] = text;
+ wxRect rect;
+ GetFieldRect(number, rect);
+ int w, h;
+ GetSize( &w, &h );
+ rect.y = 0;
+ rect.height = h ;
+ Refresh( true, &rect );
+ Update();
+}
+
+void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event))
+{
+ wxPaintDC dc(this);
+ dc.Clear();
+
+ int major, minor;
+ wxGetOsVersion( &major, &minor );
+ int w, h;
+ GetSize( &w, &h );
+
+ if ( MacIsReallyHilited() )
+ {
+ wxPen white( *wxWHITE , 1 , wxSOLID );
+ if (major >= 10)
+ {
+ // Finder statusbar border color: (Project Builder similar is 9B9B9B)
+ if ( MacGetTopLevelWindow()->MacGetMetalAppearance() )
+ dc.SetPen(wxPen(wxColour(0x40, 0x40, 0x40), 1, wxSOLID));
+ else
+ dc.SetPen(wxPen(wxColour(0xB1, 0xB1, 0xB1), 1, wxSOLID));
+ }
+ else
+ {
+ wxPen black( *wxBLACK , 1 , wxSOLID );
+ dc.SetPen(black);
+ }
+
+ dc.DrawLine(0, 0, w, 0);
+ dc.SetPen(white);
+ dc.DrawLine(0, 1, w, 1);
+ }
+ else
+ {
+ if (major >= 10)
+ // Finder statusbar border color: (Project Builder similar is 9B9B9B)
+ dc.SetPen(wxPen(wxColour(0xB1, 0xB1, 0xB1), 1, wxSOLID));
+ else
+ dc.SetPen(wxPen(wxColour(0x80, 0x80, 0x80), 1, wxSOLID));
+
+ dc.DrawLine(0, 0, w, 0);
+ }
+
+ int i;
+ if ( GetFont().Ok() )
+ dc.SetFont(GetFont());
+ dc.SetBackgroundMode(wxTRANSPARENT);
+
+ for ( i = 0; i < m_nFields; i ++ )
+ DrawField(dc, i);
+}
+
+void wxStatusBarMac::MacHiliteChanged()