135 #( |
135 #( |
136 #(#ArrowButtonSpec |
136 #(#ArrowButtonSpec |
137 #'name:' 'ArrowButton up' |
137 #'name:' 'ArrowButton up' |
138 #'layout:' #(#LayoutFrame 237 0 20 0 259 0 42 0) |
138 #'layout:' #(#LayoutFrame 237 0 20 0 259 0 42 0) |
139 #'isTriggerOnDown:' true |
139 #'isTriggerOnDown:' true |
|
140 #'autoRepeat:' false |
140 #'direction:' #up |
141 #'direction:' #up |
141 ) |
142 ) |
142 #(#ActionButtonSpec |
143 #(#ActionButtonSpec |
143 #'name:' 'Button' |
144 #'name:' 'Button' |
144 #'layout:' #(#LayoutFrame 20 0 20 0 119 0 42 0) |
145 #'layout:' #(#LayoutFrame 20 0 20 0 119 0 42 0) |
145 #'label:' 'Button' |
146 #'label:' 'Button' |
146 #'isTriggerOnDown:' false |
147 #'isTriggerOnDown:' false |
|
148 #'autoRepeat:' false |
147 ) |
149 ) |
148 #(#RadioButtonSpec |
150 #(#RadioButtonSpec |
149 #'name:' 'RadioButton' |
151 #'name:' 'RadioButton' |
150 #'layout:' #(#LayoutFrame 127 0.0 20 0 226 0 42 0) |
152 #'layout:' #(#LayoutFrame 127 0.0 20 0 226 0 42 0) |
151 #'label:' 'RadioButton' |
153 #'label:' 'RadioButton' |
152 #'isTriggerOnDown:' true |
154 #'isTriggerOnDown:' true |
|
155 #'autoRepeat:' false |
153 #'showLamp:' true |
156 #'showLamp:' true |
154 #'lampColor:' #(#Color 100.0 100.0 0.0) |
157 #'lampColor:' #(#Color 100.0 100.0 0.0) |
155 ) |
158 ) |
156 #(#ArrowButtonSpec |
159 #(#ArrowButtonSpec |
157 #'name:' 'ArrowButton down' |
160 #'name:' 'ArrowButton down' |
158 #'layout:' #(#LayoutFrame 238 0 51 0 260 0 73 0) |
161 #'layout:' #(#LayoutFrame 238 0 51 0 260 0 73 0) |
159 #'hasCharacterOrientedLabel:' false |
162 #'hasCharacterOrientedLabel:' false |
160 #'isTriggerOnDown:' true |
163 #'isTriggerOnDown:' true |
|
164 #'autoRepeat:' false |
161 #'direction:' #down |
165 #'direction:' #down |
162 ) |
166 ) |
163 #(#ArrowButtonSpec |
167 #(#ArrowButtonSpec |
164 #'name:' 'ArrowButton left' |
168 #'name:' 'ArrowButton left' |
165 #'layout:' #(#LayoutFrame 238 0 82 0 260 0 104 0) |
169 #'layout:' #(#LayoutFrame 238 0 82 0 260 0 104 0) |
166 #'hasCharacterOrientedLabel:' false |
170 #'hasCharacterOrientedLabel:' false |
167 #'isTriggerOnDown:' true |
171 #'isTriggerOnDown:' true |
|
172 #'autoRepeat:' false |
168 #'direction:' #left |
173 #'direction:' #left |
169 ) |
174 ) |
170 #(#ArrowButtonSpec |
175 #(#ArrowButtonSpec |
171 #'name:' 'ArrowButton right' |
176 #'name:' 'ArrowButton right' |
172 #'layout:' #(#LayoutFrame 238 0 113 0 260 0 135 0) |
177 #'layout:' #(#LayoutFrame 238 0 113 0 260 0 135 0) |
173 #'hasCharacterOrientedLabel:' false |
178 #'hasCharacterOrientedLabel:' false |
174 #'isTriggerOnDown:' true |
179 #'isTriggerOnDown:' true |
|
180 #'autoRepeat:' false |
175 #'direction:' #right |
181 #'direction:' #right |
176 ) |
182 ) |
177 #(#CheckToggleSpec |
183 #(#CheckToggleSpec |
178 #'name:' 'CheckToggle' |
184 #'name:' 'CheckToggle' |
179 #'layout:' #(#LayoutFrame 297 0 82 0 317 0 102 0) |
185 #'layout:' #(#LayoutFrame 297 0 82 0 317 0 102 0) |
180 #'isTriggerOnDown:' true |
186 #'isTriggerOnDown:' true |
|
187 #'autoRepeat:' false |
181 #'showLamp:' false |
188 #'showLamp:' false |
182 #'lampColor:' #(#Color 100.0 100.0 0.0) |
189 #'lampColor:' #(#Color 100.0 100.0 0.0) |
183 ) |
190 ) |
184 #(#ToggleSpec |
191 #(#ToggleSpec |
185 #'name:' 'Toggle' |
192 #'name:' 'Toggle' |
186 #'layout:' #(#LayoutFrame 297 0 20 0 396 0 42 0) |
193 #'layout:' #(#LayoutFrame 297 0 20 0 396 0 42 0) |
187 #'label:' 'Toggle' |
194 #'label:' 'Toggle' |
188 #'isTriggerOnDown:' true |
195 #'isTriggerOnDown:' true |
|
196 #'autoRepeat:' false |
189 #'showLamp:' true |
197 #'showLamp:' true |
190 #'lampColor:' #(#Color 100.0 100.0 0.0) |
198 #'lampColor:' #(#Color 100.0 100.0 0.0) |
191 ) |
199 ) |
192 #(#CheckBoxSpec |
200 #(#CheckBoxSpec |
193 #'name:' 'CheckBox' |
201 #'name:' 'CheckBox' |
194 #'layout:' #(#LayoutFrame 295 0 51 0 396 0 73 0) |
202 #'layout:' #(#LayoutFrame 297 0 51 0 398 0 73 0) |
195 #'tabable:' false |
|
196 #'label:' 'CheckBox' |
203 #'label:' 'CheckBox' |
197 #'translateLabel:' false |
|
198 ) |
204 ) |
199 #(#ActionButtonSpec |
205 #(#ActionButtonSpec |
200 #'name:' 'ok' |
206 #'name:' 'ok' |
201 #'layout:' #(#LayoutFrame 20 0 51 0 119 0 73 0) |
207 #'layout:' #(#LayoutFrame 20 0 51 0 119 0 73 0) |
202 #'label:' 'ok' |
208 #'label:' 'ok' |
203 #'model:' #accept |
209 #'model:' #accept |
204 #'isTriggerOnDown:' false |
210 #'isTriggerOnDown:' false |
|
211 #'autoRepeat:' false |
205 ) |
212 ) |
206 #(#ActionButtonSpec |
213 #(#ActionButtonSpec |
207 #'name:' 'cancel' |
214 #'name:' 'cancel' |
208 #'layout:' #(#LayoutFrame 20 0 82 0 119 0 104 0) |
215 #'layout:' #(#LayoutFrame 20 0 82 0 119 0 104 0) |
209 #'label:' 'cancel' |
216 #'label:' 'cancel' |
210 #'model:' #cancel |
217 #'model:' #cancel |
211 #'isTriggerOnDown:' false |
218 #'isTriggerOnDown:' false |
|
219 #'autoRepeat:' false |
212 ) |
220 ) |
213 #(#ActionButtonSpec |
221 #(#ActionButtonSpec |
214 #'name:' 'help' |
222 #'name:' 'help' |
215 #'layout:' #(#LayoutFrame 20 0 113 0 119 0 135 0) |
223 #'layout:' #(#LayoutFrame 20 0 113 0 119 0 135 0) |
216 #'label:' 'help' |
224 #'label:' 'help' |
217 #'model:' #help |
225 #'model:' #help |
218 #'isTriggerOnDown:' false |
226 #'isTriggerOnDown:' false |
|
227 #'autoRepeat:' false |
219 ) |
228 ) |
220 ) |
229 ) |
221 ) |
230 ) |
222 ) |
231 ) |
223 |
|
224 |
|
225 ! |
232 ! |
226 |
233 |
227 menuComboSpec |
234 menuComboSpec |
228 "this window spec was automatically generated by the ST/X UIPainter" |
235 "this window spec was automatically generated by the ST/X UIPainter" |
229 |
236 |
251 #(#SpecCollection |
258 #(#SpecCollection |
252 #'collection:' |
259 #'collection:' |
253 #( |
260 #( |
254 #(#ComboBoxSpec |
261 #(#ComboBoxSpec |
255 #'name:' 'ComboBox' |
262 #'name:' 'ComboBox' |
256 #'layout:' #(#LayoutFrame 20 0 20 0 123 0 40 0) |
263 #'layout:' #(#LayoutFrame 20 0 14 0 123 0 34 0) |
257 #'immediateAccept:' true |
|
258 ) |
264 ) |
259 #(#ComboListSpec |
265 #(#ComboListSpec |
260 #'name:' 'ComboList' |
266 #'name:' 'ComboList' |
261 #'layout:' #(#LayoutFrame 20 0 51 0 123 0 71 0) |
267 #'layout:' #(#LayoutFrame 20 0 71 0 123 0 91 0) |
262 #'tabable:' false |
268 #'useIndex:' false |
263 ) |
269 ) |
264 #(#PopUpListSpec |
270 #(#PopUpListSpec |
265 #'name:' 'PopUpList' |
271 #'name:' 'PopUpList' |
266 #'layout:' #(#LayoutFrame 147 0 20 0 250 0 42 0) |
272 #'layout:' #(#LayoutFrame 147 0 14 0 250 0 36 0) |
267 #'label:' 'PopUpList' |
273 #'label:' 'PopUpList' |
|
274 #'useIndex:' false |
268 ) |
275 ) |
269 #(#MenuPanelSpec |
276 #(#MenuPanelSpec |
270 #'name:' 'MenuPanel' |
277 #'name:' 'MenuPanel' |
271 #'layout:' #(#LayoutFrame 147 0 67 0 250 0 89 0) |
278 #'layout:' #(#LayoutFrame 147 0 71 0 250 0 91 0) |
272 ) |
279 ) |
273 #(#TabViewSpec |
280 #(#TabViewSpec |
274 #'name:' 'TabView' |
281 #'name:' 'TabView' |
275 #'layout:' #(#LayoutFrame 269 0 20 0 409 0 56 0) |
282 #'layout:' #(#LayoutFrame 269 0 14 0 409 0 50 0) |
276 #'tabWidget:' #Window |
283 #'tabWidget:' #Window |
277 #'direction:' #top |
|
278 ) |
284 ) |
279 #(#NoteBookViewSpec |
285 #(#NoteBookViewSpec |
280 #'name:' 'noteBookView' |
286 #'name:' 'noteBookView' |
281 #'layout:' #(#LayoutFrame 269 0 66 0 409 0 182 0) |
287 #'layout:' #(#LayoutFrame 269 0 71 0 409 0 159 0) |
282 #'level:' 2 |
288 #'tabWidget:' #Window |
283 ) |
289 ) |
284 #(#LabelSpec |
290 #(#LabelSpec |
285 #'name:' 'label1' |
291 #'name:' 'label1' |
286 #'layout:' #(#LayoutFrame 147 0 51 0 250 0 67 0) |
292 #'layout:' #(#LayoutFrame 150 0 73 0 236 0 89 0) |
287 #'label:' 'MenuPanel' |
293 #'label:' 'MenuPanel' |
|
294 #'adjust:' #left |
288 #'canUIDrag:' false |
295 #'canUIDrag:' false |
289 ) |
296 ) |
290 ) |
297 ) |
291 ) |
298 ) |
292 ) |
299 ) |
601 #'hasHorizontalScrollBar:' true |
608 #'hasHorizontalScrollBar:' true |
602 #'hasVerticalScrollBar:' true |
609 #'hasVerticalScrollBar:' true |
603 ) |
610 ) |
604 #(#LabelSpec |
611 #(#LabelSpec |
605 #'name:' 'HTMLViewLabel' |
612 #'name:' 'HTMLViewLabel' |
606 #'layout:' #(#LayoutFrame 99 0 178 0 164 0 192 0) |
613 #'layout:' #(#LayoutFrame 93 0 179 0 158 0 193 0) |
607 #'label:' 'HTMLView' |
614 #'label:' 'HTMLView' |
|
615 #'adjust:' #left |
608 #'canUIDrag:' false |
616 #'canUIDrag:' false |
609 ) |
617 ) |
610 #(#LabelSpec |
618 #(#LabelSpec |
611 #'name:' 'label1' |
619 #'name:' 'label1' |
612 #'layout:' #(#LayoutFrame 91 0 83 0 153 0 97 0) |
620 #'layout:' #(#LayoutFrame 93 0 83 0 155 0 97 0) |
613 #'label:' 'EditText' |
621 #'label:' 'EditText' |
|
622 #'adjust:' #left |
614 #'canUIDrag:' false |
623 #'canUIDrag:' false |
615 ) |
624 ) |
616 #(#LabelSpec |
625 #(#LabelSpec |
617 #'name:' 'label2' |
626 #'name:' 'label2' |
618 #'layout:' #(#LayoutFrame 297 0 83 0 384 0 97 0) |
627 #'layout:' #(#LayoutFrame 295 0 83 0 382 0 97 0) |
619 #'label:' 'SelectionInList' |
628 #'label:' 'SelectionInList' |
|
629 #'adjust:' #left |
|
630 #'canUIDrag:' false |
|
631 ) |
|
632 #(#LabelSpec |
|
633 #'name:' 'labelInLabel' |
|
634 #'layout:' #(#LayoutFrame 226 0 142 0 260 0 156 0) |
|
635 #'label:' 'Label' |
|
636 #'adjust:' #left |
620 #'canUIDrag:' false |
637 #'canUIDrag:' false |
621 ) |
638 ) |
622 ) |
639 ) |
623 ) |
640 ) |
624 ) |
641 ) |
983 !UISelectionPanel::Canvas methodsFor:'searching'! |
1011 !UISelectionPanel::Canvas methodsFor:'searching'! |
984 |
1012 |
985 findObjectAtX:x y:y |
1013 findObjectAtX:x y:y |
986 "find the origin/corner of the currentWidget |
1014 "find the origin/corner of the currentWidget |
987 " |
1015 " |
988 |view viewId point| |
1016 |point id p e| |
989 |
1017 |
990 point := Point x:x y:y. |
1018 point := Point x:x y:y. |
991 point := device translatePoint:point from:(inputView id) |
1019 id := inputView id. |
992 to:(inputView device rootView id). |
1020 |
993 inputView lower. |
1021 subViews do:[:v| |
994 viewId := device viewIdFromPoint:point in:(self id). |
1022 v ~~ inputView ifTrue:[ |
995 view := device viewFromId:viewId. |
1023 p := device translatePoint:point from:id to:(v id). |
996 inputView raise. |
1024 ( p x >= 0 and:[p x <= v width |
997 |
1025 and:[p y >= 0 and:[p y <= v height |
998 (view ~~ self and:[view ~~ inputView]) ifTrue:[ |
1026 and:[(self findSpecFor:v) notNil]]]] |
999 (self findSpecFor:view) notNil ifTrue:[ |
1027 ) ifTrue:[ |
1000 ^ view |
1028 ^ v |
|
1029 ] |
1001 ] |
1030 ] |
1002 ]. |
1031 ]. |
1003 ^ nil |
1032 ^ nil |
|
1033 |
1004 |
1034 |
1005 |
1035 |
1006 |
1036 |
1007 |
1037 |
1008 ! |
1038 ! |
1121 !UISelectionPanel::Canvas::DropSpecification class methodsFor:'instance creation'! |
1151 !UISelectionPanel::Canvas::DropSpecification class methodsFor:'instance creation'! |
1122 |
1152 |
1123 for:aView specification:aSpec |
1153 for:aView specification:aSpec |
1124 "create drop object for a view derived from a specification |
1154 "create drop object for a view derived from a specification |
1125 " |
1155 " |
1126 aView topView raise. |
1156 |point extent root device| |
1127 aView device sync. |
1157 |
1128 aView invalidate. |
1158 device := aView device. |
1129 aView windowGroup processExposeEvents. |
1159 root := device rootView. |
1130 DisplayObject := Image fromView:aView grab:false. |
1160 extent := aView extent. |
1131 |
1161 point := device translatePoint:0@0 from:(aView id) to:(root id). |
1132 DisplayObject extent ~= aView extent ifTrue:[ |
1162 |
1133 DisplayObject := Form extent:(aView extent) depth:1. |
1163 DisplayObject := nil. |
|
1164 |
|
1165 (point x > 0 and:[point y > 0]) ifTrue:[ |
|
1166 point := point + extent. |
|
1167 (point x < root width and:[point y < root height]) ifTrue:[ |
|
1168 aView topView raise. |
|
1169 device sync. |
|
1170 aView invalidate. |
|
1171 aView windowGroup processExposeEvents. |
|
1172 DisplayObject := Image fromView:aView grab:false. |
|
1173 ] |
|
1174 ]. |
|
1175 DisplayObject isNil ifTrue:[ |
|
1176 DisplayObject := Form extent:extent depth:1. |
1134 DisplayObject colorMap:(Array with:Color white with:Color black). |
1177 DisplayObject colorMap:(Array with:Color white with:Color black). |
1135 DisplayObject fill:(Color colorId:0). |
1178 DisplayObject fill:(Color colorId:0). |
1136 DisplayObject paint:(Color colorId:1). |
1179 DisplayObject paint:(Color colorId:1). |
1137 DisplayObject displayRectangleX:0 y:0 width:aView extent x height:aView extent y. |
1180 DisplayObject displayRectangleX:0 y:0 width:aView extent x height:aView extent y. |
1138 ]. |
1181 ]. |
1139 |
1182 ^ self new theObject:aSpec |
1140 ^ self new theObject:aSpec |
|
1141 |
1183 |
1142 |
1184 |
1143 ! ! |
1185 ! ! |
1144 |
1186 |
1145 !UISelectionPanel class methodsFor:'documentation'! |
1187 !UISelectionPanel class methodsFor:'documentation'! |