MenuEditor.st
changeset 3636 197a2fbb8c5d
parent 3589 e76569140275
child 3664 0d01da886d5a
equal deleted inserted replaced
3635:74101a749a34 3636:197a2fbb8c5d
  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