HorizontalSteppingSlider.st
author Claus Gittinger <cg@exept.de>
Sat, 11 Nov 1995 17:30:31 +0100
changeset 86 4d7dbb5f1719
parent 71 9f9243f5813b
child 121 282bd6d40bf0
permissions -rw-r--r--
uff - version methods changed to return stings
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
1e6bf473d863 Initial revision
claus
parents:
diff changeset
     1
"
1e6bf473d863 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1994 by Claus Gittinger
49
claus
parents: 23
diff changeset
     3
	      All Rights Reserved
23
1e6bf473d863 Initial revision
claus
parents:
diff changeset
     4
1e6bf473d863 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
1e6bf473d863 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
1e6bf473d863 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
1e6bf473d863 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
1e6bf473d863 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    11
"
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    12
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    13
'From Smalltalk/X, Version:2.10.3 on 27-sep-1994 at 12:56:30'!
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    14
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    15
HorizontalScrollBar subclass:#HorizontalSteppingSlider
65
claus
parents: 49
diff changeset
    16
	 instanceVariableNames:'stepIncrement'
23
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    17
	 classVariableNames:''
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    18
	 poolDictionaries:''
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    19
	 category:'Views-Interactors'
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    20
!
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    21
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    22
!HorizontalSteppingSlider class methodsFor:'documentation'!
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    23
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    24
copyright
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    25
"
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    26
 COPYRIGHT (c) 1994 by Claus Gittinger
49
claus
parents: 23
diff changeset
    27
	      All Rights Reserved
23
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    28
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    29
 This software is furnished under a license and may be used
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    30
 only in accordance with the terms of that license and with the
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    32
 be provided or otherwise made available to, or used by, any
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    33
 other person.  No title to or ownership of the software is
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    34
 hereby transferred.
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    35
"
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    36
!
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    37
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    38
version
86
4d7dbb5f1719 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 71
diff changeset
    39
    ^ '$Header: /cvs/stx/stx/libwidg2/HorizontalSteppingSlider.st,v 1.5 1995-11-11 16:28:59 cg Exp $'
23
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    40
!
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    41
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    42
documentation
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    43
"
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    44
    HorizontalSteppingSliders are like HorizontalSliders, but add step-up and step-down
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    45
    buttons (which increment/decrement the value).
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    46
"
49
claus
parents: 23
diff changeset
    47
!
claus
parents: 23
diff changeset
    48
claus
parents: 23
diff changeset
    49
examples 
claus
parents: 23
diff changeset
    50
"
claus
parents: 23
diff changeset
    51
    |top sl|
claus
parents: 23
diff changeset
    52
claus
parents: 23
diff changeset
    53
    top := StandardSystemView extent:200@200.
claus
parents: 23
diff changeset
    54
    sl := HorizontalSteppingSlider in:top.
claus
parents: 23
diff changeset
    55
    sl origin:(0.0@0.0) corner:(1.0@sl height).
claus
parents: 23
diff changeset
    56
    sl scrollAction:[:pos | Transcript showCr:pos].    
claus
parents: 23
diff changeset
    57
    top open
claus
parents: 23
diff changeset
    58
"
23
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    59
! !
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    60
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    61
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    62
!HorizontalSteppingSlider methodsFor:'initialization'!
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    63
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    64
createElements
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    65
    button1 := ArrowButton leftIn:self.
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    66
    button1 name:'LeftButton'.
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    67
    button2 := ArrowButton rightIn:self.
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    68
    button2 name:'RightButton'.
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    69
    thumb := HorizontalSlider in:self.
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    70
!
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    71
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    72
initialize
1e6bf473d863 Initial revision
claus
parents:
diff changeset
    73
    super initialize.
65
claus
parents: 49
diff changeset
    74
    stepIncrement := 1.
claus
parents: 49
diff changeset
    75
    self scrollDownAction:[self scrollStepUp].
claus
parents: 49
diff changeset
    76
    self scrollUpAction:[self scrollStepDown].
49
claus
parents: 23
diff changeset
    77
! !
claus
parents: 23
diff changeset
    78
claus
parents: 23
diff changeset
    79
!HorizontalSteppingSlider methodsFor:'accessing'!
claus
parents: 23
diff changeset
    80
claus
parents: 23
diff changeset
    81
model:aModel
claus
parents: 23
diff changeset
    82
    thumb model:aModel
65
claus
parents: 49
diff changeset
    83
!
claus
parents: 49
diff changeset
    84
claus
parents: 49
diff changeset
    85
stepIncrement:aNumber 
claus
parents: 49
diff changeset
    86
    "set the value used for stepping (defaults to 1)"
claus
parents: 49
diff changeset
    87
claus
parents: 49
diff changeset
    88
    stepIncrement := aNumber
claus
parents: 49
diff changeset
    89
!
claus
parents: 49
diff changeset
    90
claus
parents: 49
diff changeset
    91
step:aNumber
claus
parents: 49
diff changeset
    92
    "same as stepIncrement;
claus
parents: 49
diff changeset
    93
     set the value used for stepping (defaults to 1)"
claus
parents: 49
diff changeset
    94
claus
parents: 49
diff changeset
    95
    stepIncrement := aNumber
claus
parents: 49
diff changeset
    96
!
claus
parents: 49
diff changeset
    97
claus
parents: 49
diff changeset
    98
step
claus
parents: 49
diff changeset
    99
    ^ stepIncrement
claus
parents: 49
diff changeset
   100
!
claus
parents: 49
diff changeset
   101
claus
parents: 49
diff changeset
   102
start:start stop:stop step:step
claus
parents: 49
diff changeset
   103
    thumb start:start stop:stop.
claus
parents: 49
diff changeset
   104
    stepIncrement := step
claus
parents: 49
diff changeset
   105
! !
claus
parents: 49
diff changeset
   106
claus
parents: 49
diff changeset
   107
!HorizontalSteppingSlider methodsFor:'events'!
claus
parents: 49
diff changeset
   108
claus
parents: 49
diff changeset
   109
keyPress:key x:x y:y
claus
parents: 49
diff changeset
   110
    key == #CursorRight ifTrue:[
claus
parents: 49
diff changeset
   111
	self scrollStepUp.
claus
parents: 49
diff changeset
   112
	^ self
claus
parents: 49
diff changeset
   113
    ].
claus
parents: 49
diff changeset
   114
    key == #CursorLeft ifTrue:[
claus
parents: 49
diff changeset
   115
	self scrollStepDown.
claus
parents: 49
diff changeset
   116
	^ self
claus
parents: 49
diff changeset
   117
    ].
claus
parents: 49
diff changeset
   118
    super keyPress:key x:x y:y
claus
parents: 49
diff changeset
   119
! !
claus
parents: 49
diff changeset
   120
claus
parents: 49
diff changeset
   121
!HorizontalSteppingSlider methodsFor:'private'!
claus
parents: 49
diff changeset
   122
claus
parents: 49
diff changeset
   123
scrollStepUp
claus
parents: 49
diff changeset
   124
    |nO|
claus
parents: 49
diff changeset
   125
claus
parents: 49
diff changeset
   126
    nO := (thumb thumbOrigin + stepIncrement) min:thumb stop.         
claus
parents: 49
diff changeset
   127
    thumb thumbOrigin:nO.
claus
parents: 49
diff changeset
   128
    thumb tellOthers.
claus
parents: 49
diff changeset
   129
!
claus
parents: 49
diff changeset
   130
claus
parents: 49
diff changeset
   131
scrollStepDown
claus
parents: 49
diff changeset
   132
    |nO|
claus
parents: 49
diff changeset
   133
claus
parents: 49
diff changeset
   134
    nO := (thumb thumbOrigin - stepIncrement) max:thumb start.
claus
parents: 49
diff changeset
   135
    thumb thumbOrigin:nO.
claus
parents: 49
diff changeset
   136
    thumb tellOthers.
23
1e6bf473d863 Initial revision
claus
parents:
diff changeset
   137
! !
1e6bf473d863 Initial revision
claus
parents:
diff changeset
   138
1e6bf473d863 Initial revision
claus
parents:
diff changeset
   139
!HorizontalSteppingSlider methodsFor:'misc'!
1e6bf473d863 Initial revision
claus
parents:
diff changeset
   140
1e6bf473d863 Initial revision
claus
parents:
diff changeset
   141
doesNotUnderstand:aMessage
1e6bf473d863 Initial revision
claus
parents:
diff changeset
   142
    ^ aMessage sendTo:thumb 
1e6bf473d863 Initial revision
claus
parents:
diff changeset
   143
! !