2212 processEvent:anEvent |
2212 processEvent:anEvent |
2213 "filter keyboard edit-events typed into the listOfItemsView. |
2213 "filter keyboard edit-events typed into the listOfItemsView. |
2214 Return true, if I have eaten the event" |
2214 Return true, if I have eaten the event" |
2215 |
2215 |
2216 <resource: #keyboard (#Delete #BackSpace #Cut #Copy #Paste #CtrlCursorUp #CtrlCursorDown |
2216 <resource: #keyboard (#Delete #BackSpace #Cut #Copy #Paste #CtrlCursorUp #CtrlCursorDown |
2217 #CtrlCursorLeft #CtrlCursorRight )> |
2217 #CtrlCursorLeft #CtrlCursorRight #Accept)> |
2218 |
2218 |
2219 |evView rawKey key| |
2219 |evView rawKey key| |
2220 |
2220 |
2221 anEvent isKeyPressEvent ifFalse:[^ false]. |
2221 anEvent isKeyPressEvent ifFalse:[^ false]. |
2222 |
2222 |
|
2223 key := anEvent key. |
|
2224 |
2223 evView := anEvent targetView. |
2225 evView := anEvent targetView. |
2224 evView isNil ifTrue:[ ^ false ]. |
2226 evView isNil ifTrue:[^ false ]. |
2225 |
2227 |
2226 "/ only handle keyboard events for the left item list |
2228 "/ only handle keyboard events for the left item list |
2227 "/ (otherwise, copy-paste would not work in the editFields on the right) |
2229 "/ (otherwise, copy-paste would not work in the editFields on the right) |
2228 (evView isSameOrComponentOf:listOfItemsView) ifFalse:[^ false]. |
2230 (evView isSameOrComponentOf:listOfItemsView) ifFalse:[ |
2229 |
2231 key == #Accept ifTrue:[ |
2230 key := anEvent key. |
2232 self accept. |
|
2233 ]. |
|
2234 ^ false |
|
2235 ]. |
|
2236 |
2231 rawKey := anEvent rawKey. |
2237 rawKey := anEvent rawKey. |
2232 |
2238 |
2233 ( key == #Delete |
2239 ( key == #Delete |
2234 or:[key == #BackSpace |
2240 or:[key == #BackSpace |
2235 or:[key == #Cut]] |
2241 or:[key == #Cut]] |
2236 ) ifTrue:[ |
2242 ) ifTrue:[ |
2237 self doCut. |
2243 self doCut. |
2238 ^ true. |
2244 ^ true. |
2239 ]. |
2245 ]. |
2240 |
2246 |
2241 key == #Copy ifTrue:[ self doCopy. ^ true ]. |
2247 key == #Copy ifTrue:[ self doCopy. ^ true ]. |
2242 key == #Paste ifTrue:[ self doPaste. ^ true ]. |
2248 key == #Paste ifTrue:[ self doPaste. ^ true ]. |
2243 |
2249 |
2244 (rawKey == #CtrlCursorUp) ifTrue:[ |
2250 (rawKey == #CtrlCursorUp) ifTrue:[ |
2245 self doMoveUp. |
2251 self doMoveUp. |
2246 ^ true. |
2252 ^ true. |
2247 ]. |
2253 ]. |
2248 (rawKey == #CtrlCursorDown) ifTrue:[ |
2254 (rawKey == #CtrlCursorDown) ifTrue:[ |
2249 self doMoveDown. |
2255 self doMoveDown. |
2250 ^ true. |
2256 ^ true. |
2251 ]. |
2257 ]. |
2252 (rawKey == #CtrlCursorLeft) ifTrue:[ |
2258 (rawKey == #CtrlCursorLeft) ifTrue:[ |
2253 self doMoveOut. |
2259 self doMoveOut. |
2254 ^ true. |
2260 ^ true. |
2255 ]. |
2261 ]. |
2256 (rawKey == #CtrlCursorRight) ifTrue:[ |
2262 (rawKey == #CtrlCursorRight) ifTrue:[ |
2257 self doMoveInNext. |
2263 self doMoveInNext. |
2258 ^ true. |
2264 ^ true. |
2259 ]. |
2265 ]. |
2260 |
2266 |
2261 ^ false. |
2267 ^ false. |
|
2268 |
|
2269 "Modified: / 12-02-2019 / 10:56:08 / Claus Gittinger" |
2262 ! ! |
2270 ! ! |
2263 |
2271 |
2264 !MenuEditor methodsFor:'initialization & release'! |
2272 !MenuEditor methodsFor:'initialization & release'! |
2265 |
2273 |
2266 closeRequest |
2274 closeRequest |