--- a/Scroller.st Mon Jul 03 04:34:22 1995 +0200
+++ b/Scroller.st Sun Jul 23 05:03:13 1995 +0200
@@ -37,7 +37,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.26 1995-07-03 02:33:46 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.27 1995-07-23 03:02:31 claus Exp $
'!
!Scroller class methodsFor:'documentation'!
@@ -58,7 +58,7 @@
version
"
-$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.26 1995-07-03 02:33:46 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.27 1995-07-23 03:02:31 claus Exp $
"
!
@@ -150,6 +150,38 @@
examples
"
+ basic scroller setup:
+
+ |top s|
+
+ top := StandardSystemView new extent:200@200.
+ s := Scroller in:top.
+ s origin:(0.0@0.0) corner:(20@1.0).
+ s thumbHeight:10. 'percent'.
+ top open
+
+
+ setting its thumb-height:
+ |top s|
+
+ top := StandardSystemView new extent:200@200.
+ s := Scroller in:top.
+ s origin:(0.0@0.0) corner:(20@1.0).
+ s thumbHeight:50. 'percent'.
+ top open
+
+
+ setting its thumb-origin:
+ |top s|
+
+ top := StandardSystemView new extent:200@200.
+ s := Scroller in:top.
+ s origin:(0.0@0.0) corner:(20@1.0).
+ s thumbHeight:10. 'percent'.
+ s thumbOrigin:30. 'percent'.
+ top open
+
+
a scroller with action block (ST/X style):
|top s|
@@ -871,7 +903,7 @@
delta needFullDraw
bgLeft bgTop bgWidth bgHeight|
- newOrigin := aNumber - rangeStart / (rangeEnd - rangeStart / 100).
+ newOrigin := (aNumber - rangeStart) asFloat / (rangeEnd - rangeStart / 100).
((newOrigin + thumbHeight) > 100) ifTrue:[
realNewOrigin := 100 - thumbHeight
@@ -1272,8 +1304,49 @@
!
start:start stop:stop
+ "set the scrollers range"
+
rangeStart := start.
rangeEnd := stop
+!
+
+start:start
+ "set the scrollers range start"
+
+ rangeStart := start.
+!
+
+stop:stop
+ "set the scrollers range stop"
+
+ rangeEnd := stop
+!
+
+step:step
+ "set the scrollers range step"
+
+ rangeStep := step
+!
+
+start
+ "return the scrollers range min"
+ ^ rangeStart
+!
+
+stop
+ "return the scrollers range max"
+ ^ rangeEnd
+!
+
+step
+ "return the scrollers range step"
+ ^ rangeStep
+!
+
+orientation
+ "return the scrollers orientation (#vertical or #horizontal)"
+
+ ^ orientation
! !
!Scroller methodsFor:'queries'!
@@ -1435,6 +1508,13 @@
"/ inset := 1.
"/ self computeThumbFrame
+!
+
+realize
+ super realize.
+ model notNil ifTrue:[
+ self thumbOrigin:(model value).
+ ].
! !
!Scroller methodsFor:'forwarding changed origin'!