]>
git.saurik.com Git - wxWidgets.git/blob - src/mac/classic/statbrma.cpp
   1 /////////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     native implementation of wxStatusBar (optional) 
   4 // Author:      Stefan Csomor 
   8 // Copyright:   (c) 1998 Stefan Csomor 
   9 // Licence:     wxWindows licence 
  10 /////////////////////////////////////////////////////////////////////////////// 
  13 #pragma implementation "statbrma.h" 
  16 // ---------------------------------------------------------------------------- 
  18 // ---------------------------------------------------------------------------- 
  20 #include "wx/statusbr.h" 
  22 #include "wx/dcclient.h" 
  24 BEGIN_EVENT_TABLE(wxStatusBarMac
, wxStatusBarGeneric
) 
  25     EVT_PAINT(wxStatusBarMac::OnPaint
) 
  29 #include "wx/mac/private.h" 
  32 // ============================================================================ 
  34 // ============================================================================ 
  36 // ---------------------------------------------------------------------------- 
  37 // wxStatusBarMac class 
  38 // ---------------------------------------------------------------------------- 
  40 wxStatusBarMac::wxStatusBarMac() 
  45 wxStatusBarMac::~wxStatusBarMac() 
  49 bool wxStatusBarMac::Create(wxWindow 
*parent
, wxWindowID id
, 
  53     return wxStatusBarGeneric::Create( parent 
, id 
, style 
, name 
) ; 
  56 void wxStatusBarMac::DrawFieldText(wxDC
& dc
, int i
) 
  61     GetFieldRect(i
, rect
); 
  63     if ( !IsWindowHilited( MAC_WXHWND( MacGetRootWindow() ) ) ) 
  65         dc
.SetTextForeground( wxColour( 0x80 , 0x80 , 0x80 ) ) ; 
  68     wxString 
text(GetStatusText(i
)); 
  72     dc
.GetTextExtent(text
, &x
, &y
); 
  74     int xpos 
= rect
.x 
+ leftMargin 
+ 1 ; 
  77     dc
.SetClippingRegion(rect
.x
, 0, rect
.width
, m_height
); 
  79     dc
.DrawText(text
, xpos
, ypos
); 
  81     dc
.DestroyClippingRegion(); 
  84 void wxStatusBarMac::DrawField(wxDC
& dc
, int i
) 
  89 void wxStatusBarMac::SetStatusText(const wxString
& text
, int number
) 
  91     wxCHECK_RET( (number 
>= 0) && (number 
< m_nFields
), 
  92         _T("invalid status bar field index") ); 
  94     m_statusStrings
[number
] = text
; 
  96     GetFieldRect(number
, rect
); 
  98     rect
.height 
= m_height 
; 
  99     Refresh( TRUE 
, &rect 
) ; 
 103 void wxStatusBarMac::OnPaint(wxPaintEvent
& WXUNUSED(event
) ) 
 109     wxGetOsVersion( &major
, &minor 
); 
 111         if ( IsWindowHilited( MAC_WXHWND( MacGetRootWindow() ) ) ) 
 113                 wxPen 
white( wxWHITE 
, 1 , wxSOLID 
) ; 
 116             //Finder statusbar border color: (Project builder similar is 9B9B9B) 
 117             dc
.SetPen(wxPen(wxColour(0xB1,0xB1,0xB1),1,wxSOLID
));   
 121             wxPen 
black( wxBLACK 
, 1 , wxSOLID 
) ; 
 133             //Finder statusbar border color: (Project builder similar is 9B9B9B) 
 134             dc
.SetPen(wxPen(wxColour(0xB1,0xB1,0xB1),1,wxSOLID
));  
 136             dc
.SetPen(wxPen(wxColour(0x80,0x80,0x80),1,wxSOLID
)); 
 143         if ( GetFont().Ok() ) 
 144                 dc
.SetFont(GetFont()); 
 145         dc
.SetBackgroundMode(wxTRANSPARENT
); 
 147         for ( i 
= 0; i 
< m_nFields
; i 
++ ) 
 151 void wxStatusBarMac::MacSuperEnabled( bool enabled 
)  
 154     wxWindow::MacSuperEnabled( enabled 
) ;