The list ctrl doesn't draw any focus

item under Mac at all.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2004-02-22 18:10:24 +00:00
parent 71628a57aa
commit 65a1f3509b

View File

@@ -2698,22 +2698,18 @@ void wxListMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
} }
} }
#ifndef __WXMAC__
// Don't draw rect outline under Mac at all.
if ( HasCurrent() ) if ( HasCurrent() )
{ {
// don't draw rect outline under Max if we already have the background
// color but under other platforms only draw it if we do: it is a bit
// silly to draw "focus rect" if we don't have focus!
#ifdef __WXMAC__
if ( !m_hasFocus )
#else // !__WXMAC__
if ( m_hasFocus ) if ( m_hasFocus )
#endif // __WXMAC__/!__WXMAC__
{ {
dc.SetPen( *wxBLACK_PEN ); dc.SetPen( *wxBLACK_PEN );
dc.SetBrush( *wxTRANSPARENT_BRUSH ); dc.SetBrush( *wxTRANSPARENT_BRUSH );
dc.DrawRectangle( GetLineHighlightRect(m_current) ); dc.DrawRectangle( GetLineHighlightRect(m_current) );
} }
} }
#endif
dc.EndDrawing(); dc.EndDrawing();
} }
@@ -3069,9 +3065,9 @@ void wxListMainWindow::OnArrowChar(size_t newCurrent, const wxKeyEvent& event)
{ {
ChangeCurrent(newCurrent); ChangeCurrent(newCurrent);
// refresh the old focus to remove it // refresh the old focus to remove it
RefreshLine( oldCurrent ); RefreshLine( oldCurrent );
// select all the items between the old and the new one // select all the items between the old and the new one
if ( oldCurrent > newCurrent ) if ( oldCurrent > newCurrent )
{ {
@@ -3088,16 +3084,15 @@ void wxListMainWindow::OnArrowChar(size_t newCurrent, const wxKeyEvent& event)
HighlightAll(FALSE); HighlightAll(FALSE);
ChangeCurrent(newCurrent); ChangeCurrent(newCurrent);
// refresh the old focus to remove it // refresh the old focus to remove it
RefreshLine( oldCurrent ); RefreshLine( oldCurrent );
if ( !event.ControlDown() ) if ( !event.ControlDown() )
{ {
HighlightLine( m_current, TRUE ); HighlightLine( m_current, TRUE );
} }
} }
RefreshLine( m_current ); RefreshLine( m_current );