readraw after scroll: process expose events.
--- a/DSVColumnView.st Mon Mar 03 11:21:56 2003 +0100
+++ b/DSVColumnView.st Wed Mar 19 11:06:02 2003 +0100
@@ -3151,6 +3151,10 @@
].
self originChanged:dltOrg.
+ wg notNil ifTrue:[
+ wg processRealExposeEventsFor:self.
+ ].
+
"Modified: / 7.9.1998 / 16:39:49 / cg"
!
@@ -3856,5 +3860,5 @@
!DSVColumnView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.161 2003-02-25 17:34:27 penk Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.162 2003-03-19 10:06:02 cg Exp $'
! !
--- a/ListModelView.st Mon Mar 03 11:21:56 2003 +0100
+++ b/ListModelView.st Wed Mar 19 11:06:02 2003 +0100
@@ -1424,7 +1424,7 @@
|
realized ifFalse:[
- ^ self
+ ^ self
].
innerWT := self innerWidth.
@@ -1433,15 +1433,15 @@
h := viewOrigin y.
(y := anOrigin y) > h ifTrue:[ "/ end of contents
- y > (dY := self maxViewOriginY) ifTrue:[
- y := dY max:h
- ]
+ y > (dY := self maxViewOriginY) ifTrue:[
+ y := dY max:h
+ ]
] ifFalse:[
- y := y max:0.
+ y := y max:0.
].
(x := anOrigin x) > 0 ifTrue:[
- x := x min:(self widthOfContents - innerWT).
+ x := x min:(self widthOfContents - innerWT).
].
x := x max:0.
newOrg := (x @ y).
@@ -1450,7 +1450,7 @@
dY := dltOrg y.
(dX == 0 and:[dY == 0]) ifTrue:[
- ^ self
+ ^ self
].
dY := dY abs.
dX := dX abs.
@@ -1458,48 +1458,52 @@
( (dX ~~ 0 and:[dY ~~ 0]) "/ scroll vertical & horizontal
or:[(innerHG - dY < 20 or:[innerWT - dX < 20])] "/ faster to invalidate screen
) ifTrue:[
- viewOrigin := newOrg.
- self originChanged:dltOrg.
+ viewOrigin := newOrg.
+ self originChanged:dltOrg.
^ self invalidate
].
(winGrp := self windowGroup) notNil ifTrue:[
- winGrp processRealExposeEventsFor:self.
+ winGrp processRealExposeEventsFor:self.
].
self originWillChange.
doRedraw ifFalse:[
- viewOrigin := newOrg.
- ^ self originChanged:dltOrg
+ viewOrigin := newOrg.
+ ^ self originChanged:dltOrg
].
self catchExpose.
viewOrigin := newOrg.
dY ~~ 0 ifTrue:[ "/ SCROLL VERTICAL
- y0 := y1 := margin + dY.
- h := innerHG - dY.
+ y0 := y1 := margin + dY.
+ h := innerHG - dY.
- dltOrg y < 0 ifTrue:[y0 := margin. y := y0]
- ifFalse:[y1 := margin. y := y1 + h].
+ dltOrg y < 0 ifTrue:[y0 := margin. y := y0]
+ ifFalse:[y1 := margin. y := y1 + h].
- self copyFrom:self x:margin y:y0 toX:margin y:y1 width:innerWT height:h async:true.
- self invalidateX:margin y:y width:innerWT height:(innerHG - h).
+ self copyFrom:self x:margin y:y0 toX:margin y:y1 width:innerWT height:h async:true.
+ self invalidateX:margin y:y width:innerWT height:(innerHG - h).
] ifFalse:[ "/ SCROLL HORIZONTAL
- x0 := x1 := dX + margin.
- w := innerWT - dX.
+ x0 := x1 := dX + margin.
+ w := innerWT - dX.
- dltOrg x < 0 ifTrue:[x0 := x := margin ]
- ifFalse:[x1 := margin. x := w].
+ dltOrg x < 0 ifTrue:[x0 := x := margin ]
+ ifFalse:[x1 := margin. x := w].
- self copyFrom:self x:x0 y:margin toX:x1 y:margin width:w height:innerHG async:true.
- self invalidateX:x y:margin width:(width - w) height:innerHG.
+ self copyFrom:self x:x0 y:margin toX:x1 y:margin width:w height:innerHG async:true.
+ self invalidateX:x y:margin width:(width - w) height:innerHG.
].
self originChanged:dltOrg.
self waitForExpose.
+ winGrp notNil ifTrue:[
+ winGrp processRealExposeEventsFor:self.
+ ].
+
!
scrollToLine:aLineNumber
@@ -1639,7 +1643,7 @@
!ListModelView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/ListModelView.st,v 1.73 2002-12-11 07:23:39 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/ListModelView.st,v 1.74 2003-03-19 10:05:51 cg Exp $'
! !
ListModelView initialize!