*** empty log message ***
authorclaus
Thu, 13 Jan 1994 01:18:51 +0100
changeset 24 966098a893f8
parent 23 69f1ba57f67a
child 25 975bead4571a
*** empty log message ***
ArrButton.st
ArrowButton.st
Button.st
ETxtView.st
EditTextView.st
FSelList.st
FileSelectionList.st
FramedBox.st
HScroller.st
HorizontalScroller.st
Label.st
ListView.st
ObjView.st
ObjectView.st
Scroller.st
SelListV.st
SelectionInListView.st
VarVPanel.st
VariableVerticalPanel.st
--- a/ArrButton.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/ArrButton.st	Thu Jan 13 01:18:51 1994 +0100
@@ -25,7 +25,7 @@
 
 Buttons of scrollbars - show arrows.
 
-$Header: /cvs/stx/stx/libwidg/Attic/ArrButton.st,v 1.3 1994-01-08 17:22:45 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/ArrButton.st,v 1.4 1994-01-13 00:14:23 claus Exp $
 
 written summer 93 by claus
 '!
@@ -238,34 +238,34 @@
         self clear.
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX-1   y:labelOriginY - 1 .
+        self displayOpaqueForm:logo x:labelOriginX-1   y:labelOriginY - 1 .
         self foreground:topLeft background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX-1  y:labelOriginY - 1.
+        self displayOpaqueForm:logo x:labelOriginX-1  y:labelOriginY - 1.
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX   y:labelOriginY - 1 .
+        self displayOpaqueForm:logo x:labelOriginX   y:labelOriginY - 1 .
         self foreground:topLeft background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX  y:labelOriginY - 1.
+        self displayOpaqueForm:logo x:labelOriginX  y:labelOriginY - 1.
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX -1   y:labelOriginY  .
+        self displayOpaqueForm:logo x:labelOriginX -1   y:labelOriginY  .
         self foreground:topLeft background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX -1 y:labelOriginY .
+        self displayOpaqueForm:logo x:labelOriginX -1 y:labelOriginY .
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX + 1  y:labelOriginY  .
+        self displayOpaqueForm:logo x:labelOriginX + 1  y:labelOriginY  .
         self foreground:botRight background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX + 1 y:labelOriginY .
+        self displayOpaqueForm:logo x:labelOriginX + 1 y:labelOriginY .
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX + 1  y:labelOriginY + 1 .
+        self displayOpaqueForm:logo x:labelOriginX + 1  y:labelOriginY + 1 .
         self foreground:botRight background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX + 1 y:labelOriginY + 1.
+        self displayOpaqueForm:logo x:labelOriginX + 1 y:labelOriginY + 1.
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX   y:labelOriginY  .
+        self displayOpaqueForm:logo x:labelOriginX   y:labelOriginY  .
         self foreground:bg background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX  y:labelOriginY .
+        self displayOpaqueForm:logo x:labelOriginX  y:labelOriginY .
 
         self function:#copy
 
--- a/ArrowButton.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/ArrowButton.st	Thu Jan 13 01:18:51 1994 +0100
@@ -25,7 +25,7 @@
 
 Buttons of scrollbars - show arrows.
 
-$Header: /cvs/stx/stx/libwidg/ArrowButton.st,v 1.3 1994-01-08 17:22:45 claus Exp $
+$Header: /cvs/stx/stx/libwidg/ArrowButton.st,v 1.4 1994-01-13 00:14:23 claus Exp $
 
 written summer 93 by claus
 '!
@@ -238,34 +238,34 @@
         self clear.
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX-1   y:labelOriginY - 1 .
+        self displayOpaqueForm:logo x:labelOriginX-1   y:labelOriginY - 1 .
         self foreground:topLeft background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX-1  y:labelOriginY - 1.
+        self displayOpaqueForm:logo x:labelOriginX-1  y:labelOriginY - 1.
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX   y:labelOriginY - 1 .
+        self displayOpaqueForm:logo x:labelOriginX   y:labelOriginY - 1 .
         self foreground:topLeft background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX  y:labelOriginY - 1.
+        self displayOpaqueForm:logo x:labelOriginX  y:labelOriginY - 1.
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX -1   y:labelOriginY  .
+        self displayOpaqueForm:logo x:labelOriginX -1   y:labelOriginY  .
         self foreground:topLeft background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX -1 y:labelOriginY .
+        self displayOpaqueForm:logo x:labelOriginX -1 y:labelOriginY .
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX + 1  y:labelOriginY  .
+        self displayOpaqueForm:logo x:labelOriginX + 1  y:labelOriginY  .
         self foreground:botRight background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX + 1 y:labelOriginY .
+        self displayOpaqueForm:logo x:labelOriginX + 1 y:labelOriginY .
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX + 1  y:labelOriginY + 1 .
+        self displayOpaqueForm:logo x:labelOriginX + 1  y:labelOriginY + 1 .
         self foreground:botRight background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX + 1 y:labelOriginY + 1.
+        self displayOpaqueForm:logo x:labelOriginX + 1 y:labelOriginY + 1.
 
         self foreground:(Color noColor) background:(Color allColor) function:#and.
-        self drawOpaqueForm:logo x:labelOriginX   y:labelOriginY  .
+        self displayOpaqueForm:logo x:labelOriginX   y:labelOriginY  .
         self foreground:bg background:(Color noColor) function:#or.
-        self drawOpaqueForm:logo x:labelOriginX  y:labelOriginY .
+        self displayOpaqueForm:logo x:labelOriginX  y:labelOriginY .
 
         self function:#copy
 
--- a/Button.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/Button.st	Thu Jan 13 01:18:51 1994 +0100
@@ -32,7 +32,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
               All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/Button.st,v 1.5 1994-01-08 17:22:47 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Button.st,v 1.6 1994-01-13 00:14:41 claus Exp $
 
 written spring/summer 89 by claus
 '!
@@ -239,6 +239,8 @@
     enteredFgColor := enteredBgColor := nil.
     halfShadowColor := shadowColor := nil.
 
+    shadowColor := Black.
+
     (style == #next) ifTrue:[
         softEdge := true.
         onLevel := 1.
@@ -249,7 +251,6 @@
             enteredFgColor := fgColor.
             enteredBgColor := Color lightGrey.
             halfShadowColor := Color darkGrey.
-            shadowColor := Black.
         ]
     ] ifFalse:[
         (style == #openwin) ifTrue:[
@@ -267,7 +268,6 @@
                     fgColor := Black.
                     bgColor := Grey.
                     halfShadowColor := Color darkGrey.
-                    shadowColor := Black.
                     activeFgColor := fgColor.
                     activeBgColor := bgColor
                 ]
@@ -277,7 +277,6 @@
                     onLevel := -1.
                     softEdge := true.
                     halfShadowColor := Color darkGrey.
-                    shadowColor := Black.
                     disabledFgColor := Color darkGrey.
                     enteredFgColor := fgColor.
                     device hasGreyscales ifTrue:[
@@ -620,7 +619,7 @@
         self is3D ifFalse:[
             self paint:fg on:bg.
             self background:bg.
-            self drawOpaqueForm:shadowForm x:x y:y
+            self displayOpaqueForm:shadowForm x:x y:y
         ] ifTrue:[
             ((formShadowColor colorId notNil)
              and:[(formLightColor colorId notNil)
@@ -634,11 +633,11 @@
             ].
             shadowForm notNil ifTrue:[
                 self foreground:sColor.
-                self drawForm:shadowForm x:x y:y.
+                self displayForm:shadowForm x:x y:y.
             ].
             lightForm notNil ifTrue:[
                 self foreground:lColor.
-                self drawForm:lightForm x:x y:y.
+                self displayForm:lightForm x:x y:y.
             ].
             self foreground:fg background:bg function:#copy
         ]
@@ -674,7 +673,7 @@
                         self drawWith:bgColor and:fgColor.
                         (logo isKindOf:Form) ifFalse:[
                             self paint:bg.
-                            self drawRectangleX:0 y:0 width:width height:height
+                            self displayRectangleX:0 y:0 width:width height:height
                         ]
                     ] ifFalse:[     
                         super redraw
--- a/ETxtView.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/ETxtView.st	Thu Jan 13 01:18:51 1994 +0100
@@ -31,7 +31,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
             All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/Attic/ETxtView.st,v 1.8 1994-01-08 17:24:08 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/ETxtView.st,v 1.9 1994-01-13 00:15:09 claus Exp $
 
 written jun-89 by claus
 '!
@@ -326,9 +326,9 @@
                                  toX:textStartLeft y:(srcY + fontHeight)
                                width:w
                               height:((nLinesShown - visLine - 1) * fontHeight).
+                self catchExpose.
                 self redrawLine:lineNr.
                 self redrawLine:(lineNr + 1).
-                exposePending := true.
                 self waitForExpose
             ]
         ]
@@ -393,8 +393,8 @@
                          toX:textStartLeft y:dstY
                        width:w
                       height:((nLinesShown - visLine "- 1") * fontHeight).
+        self catchExpose.
         self redrawVisibleLine:visLine.
-        exposePending := true.
         self waitForExpose
     ]
 !
@@ -427,8 +427,8 @@
                              toX:textStartLeft y:dstY
                            width:w
                           height:(height - dstY).
+            self catchExpose.
             self redrawFromVisibleLine:visLine to:(visLine + nLines - 1).
-            exposePending := true.
             self waitForExpose
         ]
     ]
@@ -877,11 +877,11 @@
         self copyFrom:self x:textStartLeft y:srcY
                          toX:textStartLeft y:(srcY - fontHeight)
                        width:w height:((nLinesShown - visLine) * fontHeight).
+        self catchExpose.
         self redrawVisibleLine:nFullLinesShown.
         (nFullLinesShown ~~ nLinesShown) ifTrue:[
             self redrawVisibleLine:nLinesShown
         ].
-        exposePending := true.
         self waitForExpose
     ]
 !
@@ -1843,7 +1843,7 @@
 searchBwd:pattern
     "do the backward search"
 
-    self searchBackwardFor:pattern startingAtLine:cursorLine col:cursorCol
+    self searchBackwardFor:pattern startingAtLine:(cursorLine min:list size) col:cursorCol
     ifFound:[:line :col |
         self cursorLine:line col:col.
         self selectFromLine:line col:col
--- a/EditTextView.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/EditTextView.st	Thu Jan 13 01:18:51 1994 +0100
@@ -31,7 +31,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
             All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.8 1994-01-08 17:24:08 claus Exp $
+$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.9 1994-01-13 00:15:09 claus Exp $
 
 written jun-89 by claus
 '!
@@ -326,9 +326,9 @@
                                  toX:textStartLeft y:(srcY + fontHeight)
                                width:w
                               height:((nLinesShown - visLine - 1) * fontHeight).
+                self catchExpose.
                 self redrawLine:lineNr.
                 self redrawLine:(lineNr + 1).
-                exposePending := true.
                 self waitForExpose
             ]
         ]
@@ -393,8 +393,8 @@
                          toX:textStartLeft y:dstY
                        width:w
                       height:((nLinesShown - visLine "- 1") * fontHeight).
+        self catchExpose.
         self redrawVisibleLine:visLine.
-        exposePending := true.
         self waitForExpose
     ]
 !
@@ -427,8 +427,8 @@
                              toX:textStartLeft y:dstY
                            width:w
                           height:(height - dstY).
+            self catchExpose.
             self redrawFromVisibleLine:visLine to:(visLine + nLines - 1).
-            exposePending := true.
             self waitForExpose
         ]
     ]
@@ -877,11 +877,11 @@
         self copyFrom:self x:textStartLeft y:srcY
                          toX:textStartLeft y:(srcY - fontHeight)
                        width:w height:((nLinesShown - visLine) * fontHeight).
+        self catchExpose.
         self redrawVisibleLine:nFullLinesShown.
         (nFullLinesShown ~~ nLinesShown) ifTrue:[
             self redrawVisibleLine:nLinesShown
         ].
-        exposePending := true.
         self waitForExpose
     ]
 !
@@ -1843,7 +1843,7 @@
 searchBwd:pattern
     "do the backward search"
 
-    self searchBackwardFor:pattern startingAtLine:cursorLine col:cursorCol
+    self searchBackwardFor:pattern startingAtLine:(cursorLine min:list size) col:cursorCol
     ifFound:[:line :col |
         self cursorLine:line col:col.
         self selectFromLine:line col:col
--- a/FSelList.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/FSelList.st	Thu Jan 13 01:18:51 1994 +0100
@@ -24,7 +24,7 @@
 COPYRIGHT (c) 1993 by Claus Gittinger
               All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/Attic/FSelList.st,v 1.2 1994-01-08 17:27:17 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/FSelList.st,v 1.3 1994-01-13 00:15:25 claus Exp $
 written Dec 93 by claus
 '!
 
@@ -137,8 +137,19 @@
 redrawFromVisibleLine:startVisLineNr to:endVisLineNr
     "redefined to look for directory in every line"
 
-    startVisLineNr to:endVisLineNr do:[:l |
-        self redrawVisibleLine:l
+    |l|
+
+    "first, draw chunk of lines"
+    super redrawFromVisibleLine:startVisLineNr to:endVisLineNr.
+
+    "then draw marks"
+    startVisLineNr to:endVisLineNr do:[:visLineNr |
+        l := self visibleLineToListLine:visLineNr.
+        l notNil ifTrue:[
+            (fileTypes at:l) == #directory ifTrue:[
+                self drawRightArrowInVisibleLine:visLineNr
+            ]
+        ]
     ]
 !
 
--- a/FileSelectionList.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/FileSelectionList.st	Thu Jan 13 01:18:51 1994 +0100
@@ -24,7 +24,7 @@
 COPYRIGHT (c) 1993 by Claus Gittinger
               All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/FileSelectionList.st,v 1.2 1994-01-08 17:27:17 claus Exp $
+$Header: /cvs/stx/stx/libwidg/FileSelectionList.st,v 1.3 1994-01-13 00:15:25 claus Exp $
 written Dec 93 by claus
 '!
 
@@ -137,8 +137,19 @@
 redrawFromVisibleLine:startVisLineNr to:endVisLineNr
     "redefined to look for directory in every line"
 
-    startVisLineNr to:endVisLineNr do:[:l |
-        self redrawVisibleLine:l
+    |l|
+
+    "first, draw chunk of lines"
+    super redrawFromVisibleLine:startVisLineNr to:endVisLineNr.
+
+    "then draw marks"
+    startVisLineNr to:endVisLineNr do:[:visLineNr |
+        l := self visibleLineToListLine:visLineNr.
+        l notNil ifTrue:[
+            (fileTypes at:l) == #directory ifTrue:[
+                self drawRightArrowInVisibleLine:visLineNr
+            ]
+        ]
     ]
 !
 
--- a/FramedBox.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/FramedBox.st	Thu Jan 13 01:18:51 1994 +0100
@@ -26,7 +26,7 @@
 is controlled by the layout variable, aSymbol which may be one of:
 [#topCenter #topLeft #topRight #bottomLeft #bottomCenter #bottomRight]
 
-$Header: /cvs/stx/stx/libwidg/FramedBox.st,v 1.4 1993-12-11 01:44:32 claus Exp $
+$Header: /cvs/stx/stx/libwidg/FramedBox.st,v 1.5 1994-01-13 00:15:44 claus Exp $
 written spring 91 by claus
 '!
 
@@ -125,15 +125,15 @@
     sep := font height.
     halfSep := sep // 2.
     self is3D ifFalse:[
-        self drawRectangleX:halfSep y:halfSep
-                      width:(width - sep) height:(height - sep).
+        self displayRectangleX:halfSep y:halfSep
+                         width:(width - sep) height:(height - sep).
         ^ self
     ].
     self paint:lightColor.
     right := width - halfSep.
     bot := height - halfSep.
-    self drawRectangleX:halfSep y:halfSep
-                  width:(width - sep) height:(height - sep + 1).
+    self displayRectangleX:halfSep y:halfSep
+                     width:(width - sep) height:(height - sep + 1).
 
     self paint:shadowColor.
     left := halfSep - 1.
--- a/HScroller.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/HScroller.st	Thu Jan 13 01:18:51 1994 +0100
@@ -24,7 +24,7 @@
 
 the scroller part of a horizontal scrollbar
 
-$Header: /cvs/stx/stx/libwidg/Attic/HScroller.st,v 1.3 1993-10-13 02:48:01 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/HScroller.st,v 1.4 1994-01-13 00:16:13 claus Exp $
 written spring/summer 89 by claus
 '!
 
@@ -85,6 +85,8 @@
                                  toX:thumbLeft y:top
                                width:tW height:tH.
 
+                self catchExpose.
+
                 oldLeft > thumbLeft ifTrue:[
                     delta := oldLeft - thumbLeft.
                     oldLeft > thumbRight ifTrue:[
@@ -104,9 +106,7 @@
                                               width:delta height:tH
                     ]
                 ].
-                "View3D ifTrue:[ "
-                    self waitForExpose
-                "] "
+                self waitForExpose
             ]
         ]
     ]
--- a/HorizontalScroller.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/HorizontalScroller.st	Thu Jan 13 01:18:51 1994 +0100
@@ -24,7 +24,7 @@
 
 the scroller part of a horizontal scrollbar
 
-$Header: /cvs/stx/stx/libwidg/HorizontalScroller.st,v 1.3 1993-10-13 02:48:01 claus Exp $
+$Header: /cvs/stx/stx/libwidg/HorizontalScroller.st,v 1.4 1994-01-13 00:16:13 claus Exp $
 written spring/summer 89 by claus
 '!
 
@@ -85,6 +85,8 @@
                                  toX:thumbLeft y:top
                                width:tW height:tH.
 
+                self catchExpose.
+
                 oldLeft > thumbLeft ifTrue:[
                     delta := oldLeft - thumbLeft.
                     oldLeft > thumbRight ifTrue:[
@@ -104,9 +106,7 @@
                                               width:delta height:tH
                     ]
                 ].
-                "View3D ifTrue:[ "
-                    self waitForExpose
-                "] "
+                self waitForExpose
             ]
         ]
     ]
--- a/Label.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/Label.st	Thu Jan 13 01:18:51 1994 +0100
@@ -26,7 +26,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
               All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/Label.st,v 1.4 1993-12-11 01:45:54 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Label.st,v 1.5 1994-01-13 00:16:48 claus Exp $
 
 written spring/summer 89 by claus
 '!
@@ -386,11 +386,11 @@
     logo notNil ifTrue:[
         self paint:fg on:bg.
         (logo isKindOf:Image) ifTrue:[
-	    logo := logo on:device
-	].
+            logo := logo on:device
+        ].
         ((logo isKindOf:Form) or:[logo isKindOf:Image]) ifTrue:[
             self background:bg.
-            self drawOpaqueForm:logo x:labelOriginX y:labelOriginY
+            self displayOpaqueForm:logo x:labelOriginX y:labelOriginY
         ] ifFalse:[
             x := labelOriginX + hSpace.
             y := labelOriginY + (font ascent) + vSpace.
--- a/ListView.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/ListView.st	Thu Jan 13 01:18:51 1994 +0100
@@ -35,7 +35,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
               All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.6 1994-01-08 17:27:30 claus Exp $
+$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.7 1994-01-13 00:17:08 claus Exp $
 
 written spring 89 by claus
 '!
@@ -325,6 +325,7 @@
     visLine := self listLineToVisibleLine:lineNr.
     visLine notNil ifTrue:[
         srcY := topMargin + (visLine * fontHeight).
+        self catchExpose.
         self copyFrom:self x:textStartLeft y:srcY
                          toX:textStartLeft y:(srcY - fontHeight)
                        width:w height:((nLinesShown - visLine) * fontHeight).
@@ -332,7 +333,6 @@
         (nFullLinesShown ~~ nLinesShown) ifTrue:[
             self redrawVisibleLine:nLinesShown
         ].
-        exposePending := true.
         self waitForExpose
     ]
 !
@@ -1191,15 +1191,15 @@
 
         firstLineShown := firstLineShown + count.
         h := (fontHeight * count) + textStartTop.
+        self catchExpose.
         self copyFrom:self x:margin y:h
                          toX:margin y:textStartTop
                        width:w height:(height - m2 - h).
 
         self redrawFromVisibleLine:(nFullLinesShown - count + 1)
                                 to:nLinesShown.
+        self waitForExpose.
         self originChanged:(count negated).
-        exposePending := true.
-        self waitForExpose
     ]
 !
 
@@ -1233,13 +1233,13 @@
         w := w + leftMargin.
         firstLineShown := firstLineShown - count.
         h := (fontHeight * count) + topMargin.
+        self catchExpose.
         self copyFrom:self x:margin y:topMargin
                          toX:margin y:h
                        width:w height:(height - h - margin).
         self redrawFromVisibleLine:1 to:count.
+        self waitForExpose.
         self originChanged:(count negated).
-        exposePending := true.
-        self waitForExpose
     ]
 !
 
--- a/ObjView.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/ObjView.st	Thu Jan 13 01:18:51 1994 +0100
@@ -42,7 +42,7 @@
 this is an abstract class providing common mechanisms - actual instances are
 DrawView, DirectoryView, LogicView or DocumentView.
 
-$Header: /cvs/stx/stx/libwidg/Attic/ObjView.st,v 1.6 1994-01-08 17:27:34 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/ObjView.st,v 1.7 1994-01-13 00:17:22 claus Exp $
 written spring/summer 89 by claus
 '!
 
@@ -170,7 +170,7 @@
     "redraw the grid"
 
     gridPixmap notNil ifTrue:[
-        self drawOpaqueForm:gridPixmap x:0 y:0
+        self displayOpaqueForm:gridPixmap x:0 y:0
     ]
 !
 
@@ -1552,7 +1552,7 @@
 
     self setRectangleDragActions.
     groupRectangleFrame := Rectangle origin:startPoint corner:startPoint.
-    self xoring:[self drawRectangle:groupRectangleFrame].
+    self xoring:[self displayRectangle:groupRectangleFrame].
     oldCursor := cursor.
     self cursor:leftHandCursor
 !
@@ -1561,16 +1561,16 @@
     "do drag a rectangle"
 
     self xoring:[
-        self drawRectangle:groupRectangleFrame.
+        self displayRectangle:groupRectangleFrame.
         groupRectangleFrame corner:aPoint.
-        self drawRectangle:groupRectangleFrame
+        self displayRectangle:groupRectangleFrame
     ]
 !
 
 endRectangleDrag
     "cleanup after rectangle drag; select them"
 
-    self xoring:[self drawRectangle:groupRectangleFrame].
+    self xoring:[self displayRectangle:groupRectangleFrame].
     self cursor:oldCursor.
     self selectAllIn:(groupRectangleFrame + viewOrigin)
 !
--- a/ObjectView.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/ObjectView.st	Thu Jan 13 01:18:51 1994 +0100
@@ -42,7 +42,7 @@
 this is an abstract class providing common mechanisms - actual instances are
 DrawView, DirectoryView, LogicView or DocumentView.
 
-$Header: /cvs/stx/stx/libwidg/ObjectView.st,v 1.6 1994-01-08 17:27:34 claus Exp $
+$Header: /cvs/stx/stx/libwidg/ObjectView.st,v 1.7 1994-01-13 00:17:22 claus Exp $
 written spring/summer 89 by claus
 '!
 
@@ -170,7 +170,7 @@
     "redraw the grid"
 
     gridPixmap notNil ifTrue:[
-        self drawOpaqueForm:gridPixmap x:0 y:0
+        self displayOpaqueForm:gridPixmap x:0 y:0
     ]
 !
 
@@ -1552,7 +1552,7 @@
 
     self setRectangleDragActions.
     groupRectangleFrame := Rectangle origin:startPoint corner:startPoint.
-    self xoring:[self drawRectangle:groupRectangleFrame].
+    self xoring:[self displayRectangle:groupRectangleFrame].
     oldCursor := cursor.
     self cursor:leftHandCursor
 !
@@ -1561,16 +1561,16 @@
     "do drag a rectangle"
 
     self xoring:[
-        self drawRectangle:groupRectangleFrame.
+        self displayRectangle:groupRectangleFrame.
         groupRectangleFrame corner:aPoint.
-        self drawRectangle:groupRectangleFrame
+        self displayRectangle:groupRectangleFrame
     ]
 !
 
 endRectangleDrag
     "cleanup after rectangle drag; select them"
 
-    self xoring:[self drawRectangle:groupRectangleFrame].
+    self xoring:[self displayRectangle:groupRectangleFrame].
     self cursor:oldCursor.
     self selectAllIn:(groupRectangleFrame + viewOrigin)
 !
--- a/Scroller.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/Scroller.st	Thu Jan 13 01:18:51 1994 +0100
@@ -32,7 +32,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
               All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.5 1994-01-08 17:29:48 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.6 1994-01-13 00:18:10 claus Exp $
 
 written spring/summer 89 by claus
 '!
@@ -153,7 +153,6 @@
 
     inset := 1.
 
-    self initStyle.
     self computeThumbFrame
 !
 
@@ -348,6 +347,8 @@
                                  toX:left y:thumbTop
                                width:tW height:tH.
 
+                self catchExpose.
+
                 oldTop > thumbTop ifTrue:[
                     delta := oldTop - thumbTop.
                     oldTop > thumbBot ifTrue:[
@@ -367,9 +368,7 @@
                                               width:tW height:delta
                     ]
                 ].
-                "self is3D ifTrue:[ "
-                    self waitForExpose
-                "] "
+                self waitForExpose
             ]
         ]
     ]
@@ -674,31 +673,31 @@
          and:[thumbColor colorId notNil]])
      ifTrue:[
         self foreground:thumbColor background:(Color noColor) function:#xor.
-        self drawOpaqueForm:shadowForm x:x y:y.
+        self displayOpaqueForm:shadowForm x:x y:y.
         self foreground:thumbShadowColor function:#or.
-        self drawOpaqueForm:shadowForm x:x y:y.
+        self displayOpaqueForm:shadowForm x:x y:y.
         self foreground:thumbColor function:#xor.
-        self drawOpaqueForm:lightForm x:x y:y.
+        self displayOpaqueForm:lightForm x:x y:y.
         self foreground:thumbLightColor function:#or.
-        self drawOpaqueForm:lightForm x:x y:y.
+        self displayOpaqueForm:lightForm x:x y:y.
         self foreground:oldFg background:oldBg function:#copy
     ] ifFalse:[
 false ifTrue:[
         "turn off shadow bits"
         self foreground:(Color noColor) background:(Color allColor) function:#and.
 
-        self drawOpaqueForm:shadowForm x:x y:y.
+        self displayOpaqueForm:shadowForm x:x y:y.
         "turn off light bits"
-        self drawOpaqueForm:lightForm x:x y:y.
+        self displayOpaqueForm:lightForm x:x y:y.
 
         "draw shadow bits"
         self paint:shadowColor.
         self function:#or.
-        self drawOpaqueForm:shadowForm x:x y:y.
+        self displayOpaqueForm:shadowForm x:x y:y.
 
         "draw light bits"
         self paint:lightColor.
-        self drawOpaqueForm:lightForm x:x y:y.
+        self displayOpaqueForm:lightForm x:x y:y.
         self foreground:oldFg background:oldBg function:oldFun
 ]
     ]
@@ -732,7 +731,7 @@
 
     self is3D ifFalse:[
         self paint:thumbFrameColor.
-        self drawRectangle:thumbFrame.
+        self displayRectangle:thumbFrame.
         ^ self
     ].
 
--- a/SelListV.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/SelListV.st	Thu Jan 13 01:18:51 1994 +0100
@@ -37,7 +37,7 @@
 this one is a ListView with a selected line (which is shown highlighted)
 If multipleSelectionsOk is true, it is also allowed to shift-click multiple entries.
 
-$Header: /cvs/stx/stx/libwidg/Attic/SelListV.st,v 1.6 1994-01-08 17:29:52 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/SelListV.st,v 1.7 1994-01-13 00:18:21 claus Exp $
 
 written spring/summer 89 by claus
 3D Jan 90 by claus
@@ -736,16 +736,16 @@
         form := self class rightArrowFormOn:device.
         y := y + ((font height - form height) // 2).
         self foreground:Black.
-        self drawForm:form x:x y:y.
+        self displayForm:form x:x y:y.
     ] ifFalse:[
         form := self class rightArrowLightFormOn:device.
         y := y + ((font height - form height) // 2).
 
         self foreground:lightColor.
-        self drawForm:form x:x y:y.
+        self displayForm:form x:x y:y.
 
         self foreground:shadowColor.
-        self drawForm:(self class rightArrowShadowFormOn:device) x:x y:y.
+        self displayForm:(self class rightArrowShadowFormOn:device) x:x y:y.
     ]
 !
 
--- a/SelectionInListView.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/SelectionInListView.st	Thu Jan 13 01:18:51 1994 +0100
@@ -37,7 +37,7 @@
 this one is a ListView with a selected line (which is shown highlighted)
 If multipleSelectionsOk is true, it is also allowed to shift-click multiple entries.
 
-$Header: /cvs/stx/stx/libwidg/SelectionInListView.st,v 1.6 1994-01-08 17:29:52 claus Exp $
+$Header: /cvs/stx/stx/libwidg/SelectionInListView.st,v 1.7 1994-01-13 00:18:21 claus Exp $
 
 written spring/summer 89 by claus
 3D Jan 90 by claus
@@ -736,16 +736,16 @@
         form := self class rightArrowFormOn:device.
         y := y + ((font height - form height) // 2).
         self foreground:Black.
-        self drawForm:form x:x y:y.
+        self displayForm:form x:x y:y.
     ] ifFalse:[
         form := self class rightArrowLightFormOn:device.
         y := y + ((font height - form height) // 2).
 
         self foreground:lightColor.
-        self drawForm:form x:x y:y.
+        self displayForm:form x:x y:y.
 
         self foreground:shadowColor.
-        self drawForm:(self class rightArrowShadowFormOn:device) x:x y:y.
+        self displayForm:(self class rightArrowShadowFormOn:device) x:x y:y.
     ]
 !
 
--- a/VarVPanel.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/VarVPanel.st	Thu Jan 13 01:18:51 1994 +0100
@@ -32,7 +32,7 @@
 The bar-handle is either an exposed knob (style == #motif)
 or the forms defined in Scroller (style ~~ #motif)
 
-$Header: /cvs/stx/stx/libwidg/Attic/VarVPanel.st,v 1.5 1994-01-08 17:31:30 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/VarVPanel.st,v 1.6 1994-01-13 00:18:51 claus Exp $
 
 written summer 91 by claus
 '!
@@ -191,13 +191,13 @@
      and:[shadowColor colorId notNil
           and:[lightColor colorId notNil]]) ifTrue:[
         self foreground:viewBackground background:noColor function:#xor.
-        self drawOpaqueForm:shadowForm x:hx y:hy.
+        self displayOpaqueForm:shadowForm x:hx y:hy.
         self foreground:shadowColor function:#or.
-        self drawOpaqueForm:shadowForm x:hx y:hy.
+        self displayOpaqueForm:shadowForm x:hx y:hy.
         self foreground:viewBackground function:#xor.
-        self drawOpaqueForm:lightForm x:hx y:hy.
+        self displayOpaqueForm:lightForm x:hx y:hy.
         self foreground:lightColor function:#or.
-        self drawOpaqueForm:lightForm x:hx y:hy.
+        self displayOpaqueForm:lightForm x:hx y:hy.
 
         self foreground:viewBackground.
         paint := nil. "kludge to force paint to be really set"
--- a/VariableVerticalPanel.st	Sat Jan 08 18:31:31 1994 +0100
+++ b/VariableVerticalPanel.st	Thu Jan 13 01:18:51 1994 +0100
@@ -32,7 +32,7 @@
 The bar-handle is either an exposed knob (style == #motif)
 or the forms defined in Scroller (style ~~ #motif)
 
-$Header: /cvs/stx/stx/libwidg/VariableVerticalPanel.st,v 1.5 1994-01-08 17:31:30 claus Exp $
+$Header: /cvs/stx/stx/libwidg/VariableVerticalPanel.st,v 1.6 1994-01-13 00:18:51 claus Exp $
 
 written summer 91 by claus
 '!
@@ -191,13 +191,13 @@
      and:[shadowColor colorId notNil
           and:[lightColor colorId notNil]]) ifTrue:[
         self foreground:viewBackground background:noColor function:#xor.
-        self drawOpaqueForm:shadowForm x:hx y:hy.
+        self displayOpaqueForm:shadowForm x:hx y:hy.
         self foreground:shadowColor function:#or.
-        self drawOpaqueForm:shadowForm x:hx y:hy.
+        self displayOpaqueForm:shadowForm x:hx y:hy.
         self foreground:viewBackground function:#xor.
-        self drawOpaqueForm:lightForm x:hx y:hy.
+        self displayOpaqueForm:lightForm x:hx y:hy.
         self foreground:lightColor function:#or.
-        self drawOpaqueForm:lightForm x:hx y:hy.
+        self displayOpaqueForm:lightForm x:hx y:hy.
 
         self foreground:viewBackground.
         paint := nil. "kludge to force paint to be really set"