--- a/ListView.st Wed Jan 29 13:26:15 1997 +0100
+++ b/ListView.st Wed Jan 29 13:31:23 1997 +0100
@@ -2539,7 +2539,7 @@
count := nLines.
sz := self size.
(firstLineShown + nLines + nFullLinesShown > sz) ifTrue:[
- count := sz - firstLineShown - nFullLinesShown + 1
+ count := sz - firstLineShown - nFullLinesShown + 1
].
count <= 0 ifTrue:[^ self].
@@ -2547,50 +2547,52 @@
nPixel := fontHeight * count.
shown ifFalse:[
- firstLineShown := firstLineShown + count.
- viewOrigin := viewOrigin x @ (viewOrigin y + nPixel).
+ firstLineShown := firstLineShown + count.
+ viewOrigin := viewOrigin x @ (viewOrigin y + nPixel).
] ifTrue:[
- (count >= nLinesShown) ifTrue:[
- firstLineShown := firstLineShown + count.
- viewOrigin := viewOrigin x @ (viewOrigin y + nPixel).
- self redrawFromVisibleLine:1 to:nLinesShown.
- ] ifFalse:[
- m2 := margin * 2.
- w := self widthForScrollBetween:firstLineShown
- and:(firstLineShown + nLinesShown).
- w := w + leftMargin.
-
- sH := lineSpacing // 2.
- y0 := textStartTop - sH.
- h := nPixel + y0.
- n := height - h + (lineSpacing " //2 ").
-
- y1 := h + n - 1.
- y1 >= (height - margin) ifTrue:[
- partialCopy := true.
- y1 := height - margin - 1
- ].
-
- self catchExpose.
- self copyFrom:self x:margin y:h
- toX:margin y:y0
- width:w height:(y1 - h + 1).
-
- firstLineShown := firstLineShown + count.
- viewOrigin := viewOrigin x @ (viewOrigin y + nPixel).
-
- (partialCopy == true and:[lineSpacing ~~ 0]) ifTrue:[
- self paint:bgColor.
- self fillRectangleX:margin y:(y0 + (y1 - h + 1))
- width:w height:sH.
- ].
- self redrawFromVisibleLine:(nFullLinesShown - count + 1) to:nLinesShown.
- self waitForExpose.
- ].
+ (count >= nLinesShown) ifTrue:[
+ firstLineShown := firstLineShown + count.
+ viewOrigin := viewOrigin x @ (viewOrigin y + nPixel).
+ self redrawFromVisibleLine:1 to:nLinesShown.
+ ] ifFalse:[
+ m2 := margin * 2.
+ w := self widthForScrollBetween:firstLineShown
+ and:(firstLineShown + nLinesShown).
+ w := w + leftMargin.
+
+ sH := lineSpacing // 2.
+ y0 := textStartTop - sH.
+ h := nPixel + y0.
+ n := height - h + (lineSpacing " //2 ").
+
+ y1 := h + n - 1.
+ y1 >= (height - margin) ifTrue:[
+ partialCopy := true.
+ y1 := height - margin - 1
+ ].
+
+ self catchExpose.
+ self
+ copyFrom:self x:margin y:h
+ toX:margin y:y0
+ width:w height:(y1 - h + 1)
+ async:true.
+
+ firstLineShown := firstLineShown + count.
+ viewOrigin := viewOrigin x @ (viewOrigin y + nPixel).
+
+ (partialCopy == true and:[lineSpacing ~~ 0]) ifTrue:[
+ self paint:bgColor.
+ self fillRectangleX:margin y:(y0 + (y1 - h + 1))
+ width:w height:sH.
+ ].
+ self redrawFromVisibleLine:(nFullLinesShown - count + 1) to:nLinesShown.
+ self waitForExpose.
+ ].
].
self originChanged:(0 @ nPixel).
- "Modified: 26.5.1996 / 15:59:29 / cg"
+ "Modified: 29.1.1997 / 13:30:23 / cg"
!
scrollDownPixels:pix
@@ -3504,5 +3506,5 @@
!ListView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.120 1997-01-29 12:24:00 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.121 1997-01-29 12:31:23 cg Exp $'
! !