X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e40298d54ecd5b109222a7c60aa2ef084a304d69..39a7aa0467fcaeca022d981fc0d025979423adb3:/src/mac/carbon/statbrma.cpp?ds=sidebyside diff --git a/src/mac/carbon/statbrma.cpp b/src/mac/carbon/statbrma.cpp index e39e83bb81..8f3562c074 100644 --- a/src/mac/carbon/statbrma.cpp +++ b/src/mac/carbon/statbrma.cpp @@ -50,17 +50,23 @@ bool wxStatusBarMac::Create(wxWindow *parent, wxWindowID id, long style , const wxString& name) { - return wxStatusBarGeneric::Create( parent , id , style , name ) ; + if( !wxStatusBarGeneric::Create( parent , id , style , name ) ) + return FALSE ; + + m_macBackgroundBrush.MacSetTheme( kThemeBrushDialogBackgroundActive ) ; + + return TRUE ; } void wxStatusBarMac::DrawFieldText(wxDC& dc, int i) { int leftMargin = 2; - + int w, h ; + GetSize( &w , &h ) ; wxRect rect; GetFieldRect(i, rect); - if ( !IsWindowHilited( MAC_WXHWND( MacGetRootWindow() ) ) ) + if ( !IsWindowHilited( MAC_WXHWND( MacGetTopLevelWindowRef() ) ) ) { dc.SetTextForeground( wxColour( 0x80 , 0x80 , 0x80 ) ) ; } @@ -72,9 +78,9 @@ void wxStatusBarMac::DrawFieldText(wxDC& dc, int i) dc.GetTextExtent(text, &x, &y); int xpos = rect.x + leftMargin + 1 ; - int ypos = 2 ; + int ypos = 1 ; - dc.SetClippingRegion(rect.x, 0, rect.width, m_height); + dc.SetClippingRegion(rect.x, 0, rect.width, h); dc.DrawText(text, xpos, ypos); @@ -94,46 +100,60 @@ void wxStatusBarMac::SetStatusText(const wxString& text, int number) m_statusStrings[number] = text; wxRect rect; GetFieldRect(number, rect); + int w, h ; + GetSize( &w , &h ) ; rect.y=0; - rect.height = m_height ; + rect.height = h ; Refresh( TRUE , &rect ) ; + Update(); } void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) ) { - wxPaintDC dc(this); - dc.Clear() ; - - if ( IsWindowHilited( MAC_WXHWND( MacGetRootWindow() ) ) ) - { - wxPen black( wxBLACK , 1 , wxSOLID ) ; - wxPen white( wxWHITE , 1 , wxSOLID ) ; - - dc.SetPen(black); - dc.DrawLine(0, 0 , - m_width , 0); - dc.SetPen(white); - dc.DrawLine(0, 1 , - m_width , 1); - } - else - { - dc.SetPen(wxPen(wxColour(0x80,0x80,0x80),1,wxSOLID)); - dc.DrawLine(0, 0 , - m_width , 0); - } - - int i; - if ( GetFont().Ok() ) - dc.SetFont(GetFont()); - dc.SetBackgroundMode(wxTRANSPARENT); - - for ( i = 0; i < m_nFields; i ++ ) - DrawField(dc, i); -} + wxPaintDC dc(this); + dc.Clear() ; -void wxStatusBarMac::MacSuperEnabled( bool enabled ) -{ - Refresh(FALSE) ; - wxWindow::MacSuperEnabled( enabled ) ; + int major,minor; + wxGetOsVersion( &major, &minor ); + int w, h ; + GetSize( &w , &h ) ; + + if ( IsWindowHilited( MAC_WXHWND( MacGetTopLevelWindowRef() ) ) ) + { + wxPen white( wxWHITE , 1 , wxSOLID ) ; + if (major >= 10) + { + //Finder statusbar border color: (Project builder similar is 9B9B9B) + 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); }