diff -r c4e3323a5348 -r b33e4f3a264e ListView.st --- a/ListView.st Thu Nov 17 15:40:37 1994 +0100 +++ b/ListView.st Mon Nov 21 17:46:30 1994 +0100 @@ -36,7 +36,7 @@ COPYRIGHT (c) 1989 by Claus Gittinger All Rights Reserved -$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.12 1994-11-17 14:38:09 claus Exp $ +$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.13 1994-11-21 16:45:30 claus Exp $ '! !ListView class methodsFor:'documentation'! @@ -57,7 +57,7 @@ version " -$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.12 1994-11-17 14:38:09 claus Exp $ +$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.13 1994-11-21 16:45:30 claus Exp $ " ! @@ -194,6 +194,18 @@ textStartTop := topMargin + margin. innerWidth := width - textStartLeft - margin. self getFontParameters +! + +realize + extentChanged ifTrue:[ + self computeNumberOfLinesShown. + ]. + firstLineShown ~~ 1 ifTrue:[ + firstLineShown + nLinesShown > list size ifTrue:[ + self scrollToLine:list size - nLinesShown. + ] + ]. + super realize ! ! !ListView methodsFor:'accessing'! @@ -2162,18 +2174,21 @@ self computeNumberOfLinesShown. innerWidth := width - textStartLeft - margin. - shown ifTrue:[ - list notNil ifTrue:[ - listSize := self numberOfLines. - ((firstLineShown + nFullLinesShown) > listSize) ifTrue:[ - newOrigin := listSize - nFullLinesShown + 1. - newOrigin < 1 ifTrue:[ - newOrigin := 1 - ]. - self scrollToLine: newOrigin - ] - ] - ] + shown ifFalse:[^ self]. + list isNil ifTrue:[^ self]. + + listSize := self numberOfLines. + " + if we are behond the end, scroll up a bit + " + ((firstLineShown + nFullLinesShown) > listSize) ifTrue:[ + newOrigin := listSize - nFullLinesShown + 1. + newOrigin < 1 ifTrue:[ + newOrigin := 1 + ]. + self scrollToLine: newOrigin. + ^ self + ]. ! redrawX:x y:y width:w height:h