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 TypeMethodDescriptionbooleankeyPressed(KeyEvent event) Processes a key pressed event.booleankeyReleased(KeyEvent event) Processes a key released event.voidMaps a specifiedKeyStroketo anIAction.voidRemoved a mappedIActionfor the specifiedKeyStroke.setParent(KeyHandler parent) Sets a parentKeyHandlerto 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:
trueif 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:
trueif KeyEvent was handled in some way
-
put
Maps a specifiedKeyStroketo 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 mappedIActionfor the specifiedKeyStroke.- Parameters:
keystroke- the KeyStroke to be unmapped
-
setParent
Sets a parentKeyHandlerto 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:
thisfor convenience
-