"
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
"
HorizontalScrollBar subclass:#HorizontalSteppingSlider
instanceVariableNames:'stepIncrement'
classVariableNames:''
poolDictionaries:''
category:'Views-Interactors'
!
!HorizontalSteppingSlider class methodsFor:'documentation'!
copyright
"
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
"
!
documentation
"
HorizontalSteppingSliders are like HorizontalSliders, but add step-up and step-down
buttons (which increment/decrement the value).
"
!
examples
"
|top sl|
top := StandardSystemView extent:200@200.
sl := HorizontalSteppingSlider in:top.
sl origin:(0.0@0.0) corner:(1.0@sl height).
sl scrollAction:[:pos | Transcript showCR:pos].
top open
"
! !
!HorizontalSteppingSlider methodsFor:'accessing'!
model:aModel
thumb model:aModel
!
start:start stop:stop step:step
thumb start:start stop:stop.
stepIncrement := step
!
step
^ stepIncrement
!
step:aNumber
"same as stepIncrement;
set the value used for stepping (defaults to 1)"
stepIncrement := aNumber
!
stepIncrement:aNumber
"set the value used for stepping (defaults to 1)"
stepIncrement := aNumber
! !
!HorizontalSteppingSlider methodsFor:'events'!
keyPress:key x:x y:y
(key == #CursorRight or:[key == #CursorUp]) ifTrue:[
self scrollStepUp.
^ self
].
(key == #CursorLeft or:[key == #CursorDown]) ifTrue:[
self scrollStepDown.
^ self
].
super keyPress:key x:x y:y
! !
!HorizontalSteppingSlider methodsFor:'initialization'!
createElements
button1 := ArrowButton leftIn:self.
button1 name:'LeftButton'.
button2 := ArrowButton rightIn:self.
button2 name:'RightButton'.
thumb := HorizontalSlider in:self.
!
initialize
super initialize.
stepIncrement := 1.
self scrollDownAction:[self scrollStepUp].
self scrollUpAction:[self scrollStepDown].
! !
!HorizontalSteppingSlider methodsFor:'misc'!
doesNotUnderstand:aMessage
^ aMessage sendTo:thumb
! !
!HorizontalSteppingSlider methodsFor:'private'!
scrollStepDown
|nO|
nO := (thumb thumbOrigin - stepIncrement) max:thumb start.
thumb thumbOrigin:nO.
thumb tellOthers.
!
scrollStepUp
|nO|
nO := (thumb thumbOrigin + stepIncrement) min:thumb stop.
thumb thumbOrigin:nO.
thumb tellOthers.
! !
!HorizontalSteppingSlider class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/libwidg2/HorizontalSteppingSlider.st,v 1.8 1996-05-18 15:43:18 cg Exp $'
! !