UpDownButton.st
author Claus Gittinger <cg@exept.de>
Tue, 01 Apr 1997 12:03:05 +0200
changeset 338 d779aad63356
child 340 c02e5db9b6f5
permissions -rw-r--r--
intitial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
338
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
SimpleView subclass:#UpDownButton
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
	instanceVariableNames:'upButton downButton'
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	classVariableNames:''
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	poolDictionaries:''
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	category:'Views-Interactors'
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!UpDownButton class methodsFor:'documentation'!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
documentation
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
    an up/down button - simply two buttons in one view.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
    [author:]
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
        Claus Gittinger
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
    [see also:]
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
        ArrowButton
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
        ComboUpDownView
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
examples
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
                                                                [exBegin]
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
     |top ud|
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
     top := StandardSystemView new.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
     top extent:(300 @ 200).
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
     ud := UpDownButton in:top.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
     ud origin:(10 @ 10).
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
     ud upAction:[Transcript showCR:'up'].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
     ud downAction:[Transcript showCR:'down'].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
     top open.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
                                                                [exEnd]
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
! !
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!UpDownButton class methodsFor:'defaults'!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
downButtonForm
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    "return the down-buttons image"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    <resource: #style (#upDownButtonDownForm #upDownButtonDownFormFile)>
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    |fileName form|
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    form := StyleSheet at:'upDownButtonDownForm' default:nil.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    form isNil ifTrue:[
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
        fileName := StyleSheet at:'upDownButtonDownFormFile' default:'ComboDnB_win.xbm'.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
        form := Image fromFile:fileName.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    ].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    form isNil ifTrue:[
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
        form  := Form width:16 height:7 
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
                      fromArray:#[
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
                                  2r00000000 2r00000000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
                                  2r00111111 2r11111100
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
                                  2r00011111 2r11111000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
                                  2r00001111 2r11110000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
                                  2r00000111 2r11100000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
                                  2r00000011 2r11000000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
                                  2r00000001 2r10000000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
                                 ]
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
                      on:Display.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    ].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
    form notNil ifTrue:[
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
        ^ form on:Display
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    ].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    ^ nil
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    "Created: 1.4.1997 / 11:53:39 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    "Modified: 1.4.1997 / 11:54:17 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
upButtonForm
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    "return the up-buttons image"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    <resource: #style (#upDownButtonUpForm #upDownButtonUpFormFile)>
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    |fileName form|
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    form := StyleSheet at:'upDownButtonUpForm' default:nil.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    form isNil ifTrue:[
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
        fileName := StyleSheet at:'upDownButtonUpFormFile' default:'ComboUpB_win.xbm'.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
        form := Image fromFile:fileName.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    ].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    form isNil ifTrue:[
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
        form  := Form width:16 height:7 
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
                      fromArray:#[
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
                                  2r00000001 2r10000000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
                                  2r00000011 2r11000000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
                                  2r00000111 2r11100000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
                                  2r00001111 2r11110000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
                                  2r00011111 2r11111000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
                                  2r00111111 2r11111100
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
                                  2r00000000 2r00000000
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
                                 ]
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
                      on:Display.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    ].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    form notNil ifTrue:[
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
        ^ form on:Display
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    ].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    ^ nil
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    "Modified: 29.3.1997 / 11:36:55 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    "Created: 1.4.1997 / 11:54:13 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
! !
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
!UpDownButton methodsFor:'accessing-behavior'!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
downAction:aBlock
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    downButton action:aBlock
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    "Created: 1.4.1997 / 11:56:33 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
upAction:aBlock
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    upButton action:aBlock
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    "Created: 1.4.1997 / 11:56:28 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
! !
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
!UpDownButton methodsFor:'accessing-components'!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
downButton
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    ^ downButton
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    "Created: 1.4.1997 / 11:56:05 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
upButton
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    ^ upButton
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    "Created: 1.4.1997 / 11:55:52 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    "Modified: 1.4.1997 / 11:56:02 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
! !
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
!UpDownButton methodsFor:'initialization'!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
initialize
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    super initialize.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    self initializeButtons
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    "Created: 1.4.1997 / 11:58:07 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
initializeButtons
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    upButton := ArrowButton upIn:self.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
    upButton label:(self class upButtonForm).
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    upButton origin:0@0.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
    upButton action:[self countUp].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    upButton autoRepeat:true.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
    downButton := ArrowButton downIn:self.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    downButton label:(self class downButtonForm).
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
    downButton origin:(0 @ upButton preferredExtent y).
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    downButton action:[self countDown].
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    downButton autoRepeat:true.
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
    self preferredExtent:(upButton preferredExtent x
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
                          @
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
                          (upButton preferredExtent y 
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
                          +
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
                          downButton preferredExtent y)).
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    "Created: 1.4.1997 / 11:58:11 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
    "Modified: 1.4.1997 / 11:58:43 / cg"
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
! !
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
!UpDownButton class methodsFor:'documentation'!
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
version
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
    ^ '$Header: /cvs/stx/stx/libwidg2/UpDownButton.st,v 1.1 1997-04-01 10:03:05 cg Exp $'
d779aad63356 intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
! !