scrollSelect stuff refactored
authorClaus Gittinger <cg@exept.de>
Mon, 19 May 2003 10:53:45 +0200
changeset 2765 9ff34c678848
parent 2764 36363d57b32d
child 2766 ce0d83f618bd
scrollSelect stuff refactored
ListView.st
--- a/ListView.st	Mon May 19 10:51:45 2003 +0200
+++ b/ListView.st	Mon May 19 10:53:45 2003 +0200
@@ -3673,44 +3673,13 @@
     "setup for auto-scroll down (when button-press-moving below view)
      - timeDelta for scroll is computed from distance"
 
-    |deltaT mm|
-
-    autoScroll ifFalse:[^ self].
-
-    mm := yDistance // self verticalIntegerPixelPerMillimeter + 1.
-    deltaT := 0.5 / mm.
-
-    (deltaT = autoScrollDeltaT) ifFalse:[
-	autoScrollDeltaT := deltaT.
-	autoScrollBlock isNil ifTrue:[
-	    autoScrollBlock := [self realized ifTrue:[self scrollSelectDown]].
-	    Processor addTimedBlock:autoScrollBlock afterSeconds:deltaT
-	]
-    ]
+    self
+        startAutoScrollVertical:yDistance 
+        scrollSelector:#scrollSelectDown
 !
 
-startAutoScrollLeft:xDistance
-    "setup for auto-scroll up (when button-press-moving to the left of the view)
-     - timeDelta for scroll is computed from distance"
-
-    |deltaT mm|
-
-    autoScroll ifFalse:[^ self].
-
-    mm := xDistance negated // self horizontalIntegerPixelPerMillimeter + 1.
-    deltaT := 0.5 / mm.
-
-    (deltaT = autoScrollDeltaT) ifFalse:[
-	autoScrollDeltaT := deltaT.
-	autoScrollBlock isNil ifTrue:[
-	    autoScrollBlock := [ self realized ifTrue:[self scrollSelectLeft]].
-	    Processor addTimedBlock:autoScrollBlock afterSeconds:deltaT
-	]
-    ]
-!
-
-startAutoScrollRight:xDistance
-    "setup for auto-scroll down (when button-press-moving to the right of the view)
+startAutoScrollHorizontal:xDistance scrollSelector:scrollSelector
+    "setup for auto-scroll left/right (when button-press-moving to the right of the view)
      - timeDelta for scroll is computed from distance"
 
     |deltaT mm|
@@ -3721,31 +3690,58 @@
     deltaT := 0.5 / mm.
 
     (deltaT = autoScrollDeltaT) ifFalse:[
-	autoScrollDeltaT := deltaT.
-	autoScrollBlock isNil ifTrue:[
-	    autoScrollBlock := [self realized ifTrue:[self scrollSelectRight]].
-	    Processor addTimedBlock:autoScrollBlock afterSeconds:deltaT
-	]
+        autoScrollDeltaT := deltaT.
+        autoScrollBlock isNil ifTrue:[
+            autoScrollBlock := [self realized ifTrue:[self perform:scrollSelector]].
+            Processor addTimedBlock:autoScrollBlock afterSeconds:deltaT
+        ]
     ]
 !
 
+startAutoScrollLeft:xDistance
+    "setup for auto-scroll up (when button-press-moving to the left of the view)
+     - timeDelta for scroll is computed from distance"
+
+    self
+        startAutoScrollHorizontal:xDistance negated 
+        scrollSelector:#scrollSelectRight
+!
+
+startAutoScrollRight:xDistance
+    "setup for auto-scroll down (when button-press-moving to the right of the view)
+     - timeDelta for scroll is computed from distance"
+
+    self
+        startAutoScrollHorizontal:xDistance 
+        scrollSelector:#scrollSelectRight
+!
+
 startAutoScrollUp:yDistance
     "setup for auto-scroll up (when button-press-moving below view)
      - timeDelta for scroll is computed from distance"
 
+    self
+        startAutoScrollVertical:yDistance negated
+        scrollSelector:#scrollSelectUp
+!
+
+startAutoScrollVertical:yDistance scrollSelector:scrollSelector
+    "setup for auto-scroll up (when button-press-moving below view)
+     - timeDelta for scroll is computed from distance"
+
     |deltaT mm|
 
     autoScroll ifFalse:[^ self].
 
-    mm := yDistance negated // self verticalIntegerPixelPerMillimeter + 1.
+    mm := yDistance // self verticalIntegerPixelPerMillimeter + 1.
     deltaT := 0.5 / mm.
 
     (deltaT = autoScrollDeltaT) ifFalse:[
-	autoScrollDeltaT := deltaT.
-	autoScrollBlock isNil ifTrue:[
-	    autoScrollBlock := [self realized ifTrue:[self scrollSelectUp]].
-	    Processor addTimedBlock:autoScrollBlock afterSeconds:deltaT
-	]
+        autoScrollDeltaT := deltaT.
+        autoScrollBlock isNil ifTrue:[
+            autoScrollBlock := [self realized ifTrue:[self perform:scrollSelector]].
+            Processor addTimedBlock:autoScrollBlock afterSeconds:deltaT
+        ]
     ]
 !
 
@@ -4451,5 +4447,5 @@
 !ListView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.282 2003-05-07 15:06:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.283 2003-05-19 08:53:45 cg Exp $'
 ! !