pressing PageDown and then PageUp should return to the same item

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-06-03 11:15:38 +00:00
parent e7546115db
commit 0b49ccf8d6
2 changed files with 11 additions and 5 deletions

View File

@@ -74,7 +74,7 @@ wxCoord wxVScrolledWindow::GetLinesHeight(size_t lineMin, size_t lineMax) const
return height;
}
size_t wxVScrolledWindow::FindFirstFromBottom(size_t lineLast)
size_t wxVScrolledWindow::FindFirstFromBottom(size_t lineLast, bool full)
{
const wxCoord hWindow = GetClientSize().y;
@@ -88,7 +88,13 @@ size_t wxVScrolledWindow::FindFirstFromBottom(size_t lineLast)
if ( h > hWindow )
{
lineFirst++;
// for this line to be fully visible we need to go one line
// down, but if it is enough for it to be only partly visible then
// this line will do as well
if ( full )
{
lineFirst++;
}
break;
}
@@ -230,7 +236,7 @@ bool wxVScrolledWindow::ScrollToLine(size_t line)
// determine the real first line to scroll to: we shouldn't scroll beyond
// the end
size_t lineFirstLast = FindFirstFromBottom(m_lineMax - 1);
size_t lineFirstLast = FindFirstFromBottom(m_lineMax - 1, true);
if ( line > lineFirstLast )
line = lineFirstLast;