author | Claus Gittinger <cg@exept.de> |
Fri, 17 Aug 2018 17:36:55 +0200 | |
changeset 5890 | 99d778b7d1a3 |
parent 5815 | 1c36d4e19708 |
child 5922 | 25b4077842e2 |
permissions | -rw-r--r-- |
5815 | 1 |
"{ Encoding: utf8 }" |
2 |
||
332 | 3 |
" |
4 |
COPYRIGHT (c) 1996 by eXept Software AG / Claus Gittinger |
|
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
5 |
All Rights Reserved |
332 | 6 |
|
7 |
This software is furnished under a license and may be used |
|
8 |
only in accordance with the terms of that license and with the |
|
9 |
inclusion of the above copyright notice. This software may not |
|
10 |
be provided or otherwise made available to, or used by, any |
|
11 |
other person. No title to or ownership of the software is |
|
12 |
hereby transferred. |
|
13 |
" |
|
2108
cbba33be6ac0
allow for fields class to be redefined by a subclass
Claus Gittinger <cg@exept.de>
parents:
1312
diff
changeset
|
14 |
"{ Package: 'stx:libwidg2' }" |
cbba33be6ac0
allow for fields class to be redefined by a subclass
Claus Gittinger <cg@exept.de>
parents:
1312
diff
changeset
|
15 |
|
5815 | 16 |
"{ NameSpace: Smalltalk }" |
17 |
||
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
18 |
ComboView subclass:#ComboBoxView |
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
19 |
instanceVariableNames:'menuSelectAction' |
2585
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
20 |
classVariableNames:'' |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
21 |
poolDictionaries:'' |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
22 |
category:'Views-Interactors' |
124 | 23 |
! |
24 |
||
275 | 25 |
!ComboBoxView class methodsFor:'documentation'! |
124 | 26 |
|
332 | 27 |
copyright |
28 |
" |
|
29 |
COPYRIGHT (c) 1996 by eXept Software AG / Claus Gittinger |
|
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
30 |
All Rights Reserved |
332 | 31 |
|
32 |
This software is furnished under a license and may be used |
|
33 |
only in accordance with the terms of that license and with the |
|
34 |
inclusion of the above copyright notice. This software may not |
|
35 |
be provided or otherwise made available to, or used by, any |
|
36 |
other person. No title to or ownership of the software is |
|
37 |
hereby transferred. |
|
38 |
" |
|
39 |
||
40 |
! |
|
41 |
||
124 | 42 |
documentation |
43 |
" |
|
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
44 |
A ComboBoxView combines an inputField with a drop down list of default inputs; |
126
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
45 |
choosing any from the pulled list presets the string in the field. |
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
46 |
|
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
47 |
In contrast to a PopUpList or ComboListView, the string can still be edited - |
126
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
48 |
the list is actually only a set of values for the convenience of the user. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
49 |
|
275 | 50 |
[author:] |
1281 | 51 |
Claus Gittinger |
181 | 52 |
|
53 |
[see also:] |
|
1281 | 54 |
ComboView |
55 |
PopUpList SelectionInListView |
|
56 |
ComboListView ExtendedComboBox |
|
57 |
PullDownMenu Label EntryField |
|
124 | 58 |
" |
59 |
! |
|
60 |
||
61 |
examples |
|
62 |
" |
|
305 | 63 |
non MVC operation: |
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
64 |
[exBegin] |
124 | 65 |
|top b| |
66 |
||
67 |
top := StandardSystemView new. |
|
68 |
top extent:(300 @ 200). |
|
69 |
||
70 |
b := ComboBoxView in:top. |
|
71 |
b origin:(0.0 @ 0.0) corner:(1.0 @ 0.0). |
|
72 |
b bottomInset:(b preferredExtent y negated). |
|
73 |
||
74 |
b list:#('hello' 'world' 'this' 'is' 'st/x'). |
|
75 |
top open. |
|
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
76 |
[exEnd] |
124 | 77 |
|
78 |
||
79 |
||
305 | 80 |
with action: |
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
81 |
[exBegin] |
305 | 82 |
|top b| |
83 |
||
84 |
top := StandardSystemView new. |
|
85 |
top extent:(300 @ 200). |
|
86 |
||
87 |
b := ComboBoxView in:top. |
|
88 |
b origin:(0.0 @ 0.0) corner:(1.0 @ 0.0). |
|
89 |
b bottomInset:(b preferredExtent y negated). |
|
90 |
||
91 |
b list:#('hello' 'world' 'this' 'is' 'st/x'). |
|
92 |
b action:[:entry | Transcript showCR:entry]. |
|
93 |
top open. |
|
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
94 |
[exEnd] |
305 | 95 |
|
96 |
||
97 |
||
124 | 98 |
model operation: |
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
99 |
[exBegin] |
124 | 100 |
|model top b| |
101 |
||
102 |
model := 'foo' asValue. |
|
103 |
||
104 |
top := StandardSystemView new. |
|
105 |
top extent:(300 @ 200). |
|
106 |
||
107 |
b := ComboBoxView in:top. |
|
108 |
b origin:(0.0 @ 0.0) corner:(1.0 @ 0.0). |
|
109 |
b bottomInset:(b preferredExtent y negated). |
|
110 |
||
111 |
b list:#('hello' 'world' 'this' 'is' 'st/x'). |
|
112 |
b model:model. |
|
113 |
||
114 |
top openModal. |
|
184 | 115 |
Transcript showCR:('comboBox''s value: ' , model value). |
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
116 |
[exEnd] |
126
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
117 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
118 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
119 |
in a dialog: |
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
120 |
[exBegin] |
126
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
121 |
|model1 model2 dialog b| |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
122 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
123 |
model1 := 'foo' asValue. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
124 |
model2 := 'bar' asValue. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
125 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
126 |
dialog := Dialog new. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
127 |
(dialog addTextLabel:'ComboBox example:') adjust:#left. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
128 |
dialog addVerticalSpace. |
124 | 129 |
|
126
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
130 |
(b := dialog addComboBoxOn:model1 tabable:true). |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
131 |
b list:#('fee' 'foe' 'foo'). |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
132 |
dialog addVerticalSpace. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
133 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
134 |
(b := dialog addComboBoxOn:model2 tabable:true). |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
135 |
b list:#('bar' 'baz' 'baloo'). |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
136 |
dialog addVerticalSpace. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
137 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
138 |
dialog addOkButton. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
139 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
140 |
dialog open. |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
141 |
|
184 | 142 |
Transcript showCR:('1st comboBox''s value: ' , model1 value). |
143 |
Transcript showCR:('2nd comboBox''s value: ' , model2 value). |
|
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
144 |
[exEnd] |
124 | 145 |
" |
146 |
! ! |
|
147 |
||
4637 | 148 |
!ComboBoxView class methodsFor:'defaults'! |
149 |
||
150 |
defaultFont |
|
151 |
^ EditField defaultFont. |
|
152 |
"/ ^ SelectionInListView defaultFont. |
|
153 |
! ! |
|
154 |
||
126
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
155 |
!ComboBoxView methodsFor:'accessing-components'! |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
156 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
157 |
editor |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
158 |
"return the inputField component" |
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
159 |
|
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
160 |
^ field |
126
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
161 |
|
888d8ccd35af
better sizing; forward unknown messages to my inputField
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
162 |
"Created: 9.2.1996 / 20:18:03 / cg" |
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
163 |
"Modified: 28.2.1996 / 15:10:50 / cg" |
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
164 |
! |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
165 |
|
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
166 |
menuSelectAction:aBlock |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
167 |
menuSelectAction := aBlock |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
168 |
|
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
169 |
"Created: / 15-10-2006 / 15:10:25 / cg" |
124 | 170 |
! ! |
171 |
||
172 |
!ComboBoxView methodsFor:'accessing-mvc'! |
|
173 |
||
174 |
model |
|
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
175 |
^ field model |
124 | 176 |
|
177 |
"Created: 9.2.1996 / 00:50:18 / cg" |
|
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
178 |
"Modified: 28.2.1996 / 15:10:59 / cg" |
124 | 179 |
! |
180 |
||
181 |
model:aModel |
|
679
bd0e422aab67
fixed model setting & useIndex: handling (aspect)
Claus Gittinger <cg@exept.de>
parents:
597
diff
changeset
|
182 |
super model:aModel. |
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
183 |
field model:aModel. |
124 | 184 |
|
185 |
"Created: 9.2.1996 / 00:50:12 / cg" |
|
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
186 |
"Modified: 28.2.1996 / 15:11:03 / cg" |
124 | 187 |
! ! |
188 |
||
2585
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
189 |
!ComboBoxView methodsFor:'change & update'! |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
190 |
|
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
191 |
update:something with:aParameter from:changedObject |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
192 |
changedObject == field model ifTrue:[ |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
193 |
action notNil ifTrue:[ |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
194 |
action value:(changedObject value) |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
195 |
]. |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
196 |
^ self. |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
197 |
]. |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
198 |
super update:something with:aParameter from:changedObject |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
199 |
! ! |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
200 |
|
1312 | 201 |
!ComboBoxView methodsFor:'event handling'! |
202 |
||
203 |
hasKeyboardFocus:aBoolean |
|
204 |
super hasKeyboardFocus:aBoolean. |
|
205 |
field hasKeyboardFocus:aBoolean |
|
206 |
! |
|
207 |
||
208 |
showFocus:explicit |
|
209 |
super showFocus:explicit. |
|
210 |
field showCursor. |
|
211 |
||
212 |
! |
|
213 |
||
214 |
showNoFocus:explicit |
|
215 |
super showNoFocus:explicit. |
|
216 |
field hideCursor. |
|
217 |
||
218 |
! ! |
|
219 |
||
124 | 220 |
!ComboBoxView methodsFor:'initialization'! |
221 |
||
2108
cbba33be6ac0
allow for fields class to be redefined by a subclass
Claus Gittinger <cg@exept.de>
parents:
1312
diff
changeset
|
222 |
editFieldClass |
cbba33be6ac0
allow for fields class to be redefined by a subclass
Claus Gittinger <cg@exept.de>
parents:
1312
diff
changeset
|
223 |
^ EditField |
cbba33be6ac0
allow for fields class to be redefined by a subclass
Claus Gittinger <cg@exept.de>
parents:
1312
diff
changeset
|
224 |
! |
cbba33be6ac0
allow for fields class to be redefined by a subclass
Claus Gittinger <cg@exept.de>
parents:
1312
diff
changeset
|
225 |
|
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
226 |
initializeField |
2585
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
227 |
|m| |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
228 |
|
2108
cbba33be6ac0
allow for fields class to be redefined by a subclass
Claus Gittinger <cg@exept.de>
parents:
1312
diff
changeset
|
229 |
field := self editFieldClass in:self. |
519 | 230 |
field borderWidth:0. |
2585
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
231 |
field model:(m := ValueHolder newString). |
eb641403010a
action was not evaluated when the models
Claus Gittinger <cg@exept.de>
parents:
2114
diff
changeset
|
232 |
m addDependent:self. |
305 | 233 |
field acceptOnLostFocus:true. |
234 |
field acceptOnLeave:true. |
|
3196 | 235 |
field |
236 |
leaveAction:[:key | |
|
237 |
self fieldLeft. |
|
238 |
field handleFocusKey:key. |
|
239 |
]. |
|
124 | 240 |
|
241 |
" |
|
242 |
all of my input goes to the enterfield |
|
243 |
" |
|
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
244 |
self delegate:(KeyboardForwarder toView:field). |
3311
0899e8423c9a
Allow ComboList/Box selection with the mouse wheel
Stefan Vogel <sv@exept.de>
parents:
3196
diff
changeset
|
245 |
field delegate:self. "delegate mouseWheel events to myself" |
4493 | 246 |
field font:self font. |
124 | 247 |
|
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
248 |
menuSelectAction := [:menuValue | field contents:menuValue]. |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
249 |
|
124 | 250 |
" |
251 |
|b| |
|
252 |
||
253 |
b := ComboBoxView new. |
|
254 |
b list:#('hello' 'world' 'this' 'is' 'st/x'). |
|
255 |
b open |
|
256 |
" |
|
257 |
||
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
258 |
"Created: / 28-02-1996 / 15:07:51 / cg" |
3196 | 259 |
"Modified: / 06-03-2007 / 20:19:32 / cg" |
124 | 260 |
! ! |
261 |
||
1183
667132091c2f
ComboBox's inputField ought to use its default font.
Claus Gittinger <cg@exept.de>
parents:
679
diff
changeset
|
262 |
!ComboBoxView methodsFor:'private'! |
667132091c2f
ComboBox's inputField ought to use its default font.
Claus Gittinger <cg@exept.de>
parents:
679
diff
changeset
|
263 |
|
667132091c2f
ComboBox's inputField ought to use its default font.
Claus Gittinger <cg@exept.de>
parents:
679
diff
changeset
|
264 |
setFieldsFont:aFont |
667132091c2f
ComboBox's inputField ought to use its default font.
Claus Gittinger <cg@exept.de>
parents:
679
diff
changeset
|
265 |
"ignored - the inputFields font remains unchanged" |
667132091c2f
ComboBox's inputField ought to use its default font.
Claus Gittinger <cg@exept.de>
parents:
679
diff
changeset
|
266 |
! ! |
667132091c2f
ComboBox's inputField ought to use its default font.
Claus Gittinger <cg@exept.de>
parents:
679
diff
changeset
|
267 |
|
291 | 268 |
!ComboBoxView methodsFor:'queries'! |
269 |
||
270 |
specClass |
|
597 | 271 |
"XXX no longer needed (inherited default works here)" |
272 |
||
291 | 273 |
self class == ComboBoxView ifTrue:[ |
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
274 |
^ ComboBoxSpec |
291 | 275 |
]. |
301 | 276 |
^ super specClass |
277 |
||
597 | 278 |
"Modified: / 31.10.1997 / 19:49:39 / cg" |
291 | 279 |
! ! |
280 |
||
124 | 281 |
!ComboBoxView methodsFor:'user interaction'! |
282 |
||
311 | 283 |
fieldLeft |
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
284 |
"the edit field was left (via cursor keys or focus change)" |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
285 |
|
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
286 |
field acceptOnLeave ifTrue:[ |
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
287 |
field accept. |
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
288 |
action notNil ifTrue:[ |
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
289 |
action value:(field contents) |
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
290 |
]. |
311 | 291 |
|
292 |
]. |
|
293 |
||
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
294 |
"Created: / 26-02-1997 / 19:42:30 / cg" |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
295 |
"Modified: / 15-10-2006 / 15:20:14 / cg" |
311 | 296 |
! |
297 |
||
298 |
select:index |
|
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
299 |
"a menu item (index) was selected" |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
300 |
|
230 | 301 |
|what| |
302 |
||
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
303 |
pullDownButton turnOff. |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
304 |
|
230 | 305 |
what := list at:index. |
3311
0899e8423c9a
Allow ComboList/Box selection with the mouse wheel
Stefan Vogel <sv@exept.de>
parents:
3196
diff
changeset
|
306 |
currentIndex := index. |
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
307 |
|
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
308 |
menuSelectAction value:what. |
130
5cad43b11fb5
inserted abstract ComboView class
Claus Gittinger <cg@exept.de>
parents:
127
diff
changeset
|
309 |
field accept. |
3534
9b243b355789
Update through pulldown now Works with EditField V1.196
Stefan Vogel <sv@exept.de>
parents:
3491
diff
changeset
|
310 |
|
305 | 311 |
action notNil ifTrue:[ |
2114
40cfff7c7efc
acceptIfUnchanged fixed (implemented)
Claus Gittinger <cg@exept.de>
parents:
2108
diff
changeset
|
312 |
action value:what |
305 | 313 |
]. |
314 |
||
3124
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
315 |
"Created: / 28-02-1997 / 14:01:53 / cg" |
3060c3f4246d
added a hook for the menu-select-action
Claus Gittinger <cg@exept.de>
parents:
2585
diff
changeset
|
316 |
"Modified: / 15-10-2006 / 15:19:53 / cg" |
124 | 317 |
! ! |
318 |
||
275 | 319 |
!ComboBoxView class methodsFor:'documentation'! |
124 | 320 |
|
321 |
version |
|
5815 | 322 |
^ '$Header$' |
124 | 323 |
! ! |
4493 | 324 |