Package org.eclipse.gef
Class KeyHandler
java.lang.Object
org.eclipse.gef.KeyHandler
- Direct Known Subclasses:
GraphicalViewerKeyHandler
The KeyHandler should handle all normal keystrokes on an
EditPartViewer
. Normal is simply defined as keystrokes
which are not associated with an Accelerator on the Menu. The KeyHandler will
be forwarded KeyEvents by the active Tool, which is usually the
SelectionTool. The Tool may be in a state where keystrokes should not be
processed, in which case it will not forward the keystrokes. For this reason,
it is important to always handle KeyEvents by using a KeyHandler.
KeyHandlers can be chained by calling setParent(KeyHandler)
. If this
KeyHandler does not handle the keystroke, it will pass the keystroke to its
parent KeyHandler.
KeyHandlers can be implemented using two stragegies. One is to map
KeyStrokes
to Actions
using the put(KeyStroke, IAction)
and
remove(KeyStroke)
API. The other is to subclass KeyHandler, and
override various methods. A combination of the two is also useful.
- Since:
- 2.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
keyPressed
(KeyEvent event) Processes a key pressed event.boolean
keyReleased
(KeyEvent event) Processes a key released event.void
Maps a specifiedKeyStroke
to anIAction
.void
Removed a mappedIAction
for the specifiedKeyStroke
.setParent
(KeyHandler parent) Sets a parentKeyHandler
to which this KeyHandler will forward un-consumed KeyEvents.
-
Constructor Details
-
KeyHandler
public KeyHandler()
-
-
Method Details
-
keyPressed
Processes a key pressed event. This method is called by the Tool whenever a key is pressed, and the Tool is in the proper state.- Parameters:
event
- the KeyEvent- Returns:
true
if KeyEvent was handled in some way
-
keyReleased
Processes a key released event. This method is called by the Tool whenever a key is released, and the Tool is in the proper state.- Parameters:
event
- the KeyEvent- Returns:
true
if KeyEvent was handled in some way
-
put
Maps a specifiedKeyStroke
to anIAction
. When a KeyEvent occurs matching the given KeyStroke, the Action will berun()
iff it is enabled.- Parameters:
keystroke
- the KeyStrokeaction
- the Action to run
-
remove
Removed a mappedIAction
for the specifiedKeyStroke
.- Parameters:
keystroke
- the KeyStroke to be unmapped
-
setParent
Sets a parentKeyHandler
to which this KeyHandler will forward un-consumed KeyEvents. This KeyHandler will first attempt to handle KeyEvents. If it does not recognize a given KeyEvent, that event is passed to its parent- Parameters:
parent
- the parent KeyHandler- Returns:
this
for convenience
-