// Created: 31.05.03
// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-// License: wxWindows license
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
{
// it is, indeed, only partly visible, so scroll it into view to
// make it entirely visible
+ // BUT scrolling down when m_current is first visible makes it
+ // completely hidden, so that is even worse
while ( (size_t)m_current + 1 == GetVisibleRowsEnd() &&
+ (size_t)m_current != GetVisibleRowsBegin() &&
ScrollToRow(GetVisibleBegin() + 1) ) ;
// but in any case refresh it as even if it was only partly visible
switch ( event.GetKeyCode() )
{
case WXK_HOME:
+ case WXK_NUMPAD_HOME:
current = 0;
break;
case WXK_END:
+ case WXK_NUMPAD_END:
current = GetRowCount() - 1;
break;
case WXK_DOWN:
+ case WXK_NUMPAD_DOWN:
if ( m_current == (int)GetRowCount() - 1 )
return;
break;
case WXK_UP:
+ case WXK_NUMPAD_UP:
if ( m_current == wxNOT_FOUND )
current = GetRowCount() - 1;
else if ( m_current != 0 )
break;
case WXK_PAGEDOWN:
+ case WXK_NUMPAD_PAGEDOWN:
PageDown();
current = GetVisibleBegin();
break;
case WXK_PAGEUP:
+ case WXK_NUMPAD_PAGEUP:
if ( m_current == (int)GetVisibleBegin() )
{
PageUp();