Class InputHandler
- java.lang.Object
-
- java.awt.event.KeyAdapter
-
- com.inductiveautomation.ignition.client.jedittextarea.InputHandler
-
- All Implemented Interfaces:
java.awt.event.KeyListener
,java.util.EventListener
- Direct Known Subclasses:
DefaultInputHandler
public abstract class InputHandler extends java.awt.event.KeyAdapter
An input handler converts the user's key strokes into concrete actions. It also takes care of macro recording and action repetition.This class provides all the necessary support code for an input handler, but doesn't actually do any key binding logic. It is up to the implementations of this class to do so.
- See Also:
com.inductiveautomation.ignition.client.jedittextarea.gjt.sp.jedit.textarea.DefaultInputHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InputHandler.backspace
static class
InputHandler.backspace_word
static class
InputHandler.delete
static class
InputHandler.delete_word
static class
InputHandler.document_end
static class
InputHandler.document_home
static class
InputHandler.end
static class
InputHandler.home
static class
InputHandler.insert_break
static class
InputHandler.insert_char
static class
InputHandler.insert_tab
static interface
InputHandler.MacroRecorder
Macro recorder.static class
InputHandler.next_char
static class
InputHandler.next_line
static class
InputHandler.next_page
static class
InputHandler.next_word
static interface
InputHandler.NonRecordable
If an action implements this interface, it should not be recorded by the macro recorder.static interface
InputHandler.NonRepeatable
If an action implements this interface, it should not be repeated.static class
InputHandler.overwrite
static class
InputHandler.prev_char
static class
InputHandler.prev_line
static class
InputHandler.prev_page
static class
InputHandler.prev_word
static class
InputHandler.redo
static class
InputHandler.repeat
static class
InputHandler.select_all
static class
InputHandler.toggle_rect
static class
InputHandler.undo
static interface
InputHandler.Wrapper
For use by EditAction.Wrapper only.
-
Field Summary
Fields Modifier and Type Field Description static java.awt.event.ActionListener
BACKSPACE
static java.awt.event.ActionListener
BACKSPACE_WORD
static java.awt.event.ActionListener
DELETE
static java.awt.event.ActionListener
DELETE_WORD
static java.awt.event.ActionListener
DOCUMENT_END
static java.awt.event.ActionListener
DOCUMENT_HOME
static java.awt.event.ActionListener
END
protected java.awt.event.ActionListener
grabAction
static java.awt.event.ActionListener
HOME
static java.awt.event.ActionListener
INSERT_BREAK
static java.awt.event.ActionListener
INSERT_CHAR
static java.awt.event.ActionListener
INSERT_TAB
static java.awt.event.ActionListener
NEXT_CHAR
static java.awt.event.ActionListener
NEXT_LINE
static java.awt.event.ActionListener
NEXT_PAGE
static java.awt.event.ActionListener
NEXT_WORD
static java.awt.event.ActionListener
OVERWRITE
static java.awt.event.ActionListener
PREV_CHAR
static java.awt.event.ActionListener
PREV_LINE
static java.awt.event.ActionListener
PREV_PAGE
static java.awt.event.ActionListener
PREV_WORD
protected InputHandler.MacroRecorder
recorder
static java.awt.event.ActionListener
REDO
protected boolean
repeat
static java.awt.event.ActionListener
REPEAT
protected int
repeatCount
static java.awt.event.ActionListener
SELECT_ALL
static java.awt.event.ActionListener
SELECT_DOC_END
static java.awt.event.ActionListener
SELECT_DOC_HOME
static java.awt.event.ActionListener
SELECT_END
static java.awt.event.ActionListener
SELECT_HOME
static java.awt.event.ActionListener
SELECT_NEXT_CHAR
static java.awt.event.ActionListener
SELECT_NEXT_LINE
static java.awt.event.ActionListener
SELECT_NEXT_PAGE
static java.awt.event.ActionListener
SELECT_NEXT_WORD
static java.awt.event.ActionListener
SELECT_PREV_CHAR
static java.awt.event.ActionListener
SELECT_PREV_LINE
static java.awt.event.ActionListener
SELECT_PREV_PAGE
static java.awt.event.ActionListener
SELECT_PREV_WORD
static java.lang.String
SMART_HOME_END_PROPERTY
If this client property is set to Boolean.TRUE on the text area, the home/end keys will support 'smart' BRIEF-like behaviour (one press = start/end of line, two presses = start/end of viewscreen, three presses = start/end of document).static java.awt.event.ActionListener
TOGGLE_RECT
static java.awt.event.ActionListener
UNDO
-
Constructor Summary
Constructors Constructor Description InputHandler()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
addDefaultKeyBindings()
Adds the default key bindings to this input handler.abstract void
addKeyBinding(java.lang.String keyBinding, java.awt.event.ActionListener action)
Adds a key binding to this input handler.abstract InputHandler
copy()
Returns a copy of this input handler that shares the same key bindings.void
executeAction(java.awt.event.ActionListener listener, java.lang.Object source, java.lang.String actionCommand)
Executes the specified action, repeating and recording it as necessary.static java.awt.event.ActionListener
getAction(java.lang.String name)
Returns a named text area action.static java.lang.String
getActionName(java.awt.event.ActionListener listener)
Returns the name of the specified text area action.static java.util.Enumeration
getActions()
Returns an enumeration of all available actions.InputHandler.MacroRecorder
getMacroRecorder()
Returns the macro recorder.int
getRepeatCount()
Returns the number of times the next action will be repeated.static JEditTextArea
getTextArea(java.util.EventObject evt)
Returns the text area that fired the specified event.void
grabNextKeyStroke(java.awt.event.ActionListener listener)
Grabs the next key typed event and invokes the specified action with the key as a the action command.protected void
handleGrabAction(java.awt.event.KeyEvent evt)
If a key is being grabbed, this method should be called with the appropriate key event.boolean
isRepeatEnabled()
Returns if repeating is enabled.abstract void
removeAllKeyBindings()
Removes all key bindings from this input handler.abstract void
removeKeyBinding(java.lang.String keyBinding)
Removes a key binding from this input handler.void
setMacroRecorder(InputHandler.MacroRecorder recorder)
Sets the macro recorder.void
setRepeatCount(int repeatCount)
Sets the number of times the next action will be repeated.void
setRepeatEnabled(boolean repeat)
Enables repeating.
-
-
-
Field Detail
-
SMART_HOME_END_PROPERTY
public static final java.lang.String SMART_HOME_END_PROPERTY
If this client property is set to Boolean.TRUE on the text area, the home/end keys will support 'smart' BRIEF-like behaviour (one press = start/end of line, two presses = start/end of viewscreen, three presses = start/end of document). By default, this property is not set.- See Also:
- Constant Field Values
-
BACKSPACE
public static final java.awt.event.ActionListener BACKSPACE
-
BACKSPACE_WORD
public static final java.awt.event.ActionListener BACKSPACE_WORD
-
DELETE
public static final java.awt.event.ActionListener DELETE
-
DELETE_WORD
public static final java.awt.event.ActionListener DELETE_WORD
-
END
public static final java.awt.event.ActionListener END
-
DOCUMENT_END
public static final java.awt.event.ActionListener DOCUMENT_END
-
SELECT_END
public static final java.awt.event.ActionListener SELECT_END
-
SELECT_DOC_END
public static final java.awt.event.ActionListener SELECT_DOC_END
-
INSERT_BREAK
public static final java.awt.event.ActionListener INSERT_BREAK
-
INSERT_TAB
public static final java.awt.event.ActionListener INSERT_TAB
-
HOME
public static final java.awt.event.ActionListener HOME
-
DOCUMENT_HOME
public static final java.awt.event.ActionListener DOCUMENT_HOME
-
SELECT_HOME
public static final java.awt.event.ActionListener SELECT_HOME
-
SELECT_DOC_HOME
public static final java.awt.event.ActionListener SELECT_DOC_HOME
-
NEXT_CHAR
public static final java.awt.event.ActionListener NEXT_CHAR
-
NEXT_LINE
public static final java.awt.event.ActionListener NEXT_LINE
-
NEXT_PAGE
public static final java.awt.event.ActionListener NEXT_PAGE
-
NEXT_WORD
public static final java.awt.event.ActionListener NEXT_WORD
-
SELECT_NEXT_CHAR
public static final java.awt.event.ActionListener SELECT_NEXT_CHAR
-
SELECT_NEXT_LINE
public static final java.awt.event.ActionListener SELECT_NEXT_LINE
-
SELECT_NEXT_PAGE
public static final java.awt.event.ActionListener SELECT_NEXT_PAGE
-
SELECT_NEXT_WORD
public static final java.awt.event.ActionListener SELECT_NEXT_WORD
-
OVERWRITE
public static final java.awt.event.ActionListener OVERWRITE
-
PREV_CHAR
public static final java.awt.event.ActionListener PREV_CHAR
-
PREV_LINE
public static final java.awt.event.ActionListener PREV_LINE
-
PREV_PAGE
public static final java.awt.event.ActionListener PREV_PAGE
-
PREV_WORD
public static final java.awt.event.ActionListener PREV_WORD
-
SELECT_PREV_CHAR
public static final java.awt.event.ActionListener SELECT_PREV_CHAR
-
SELECT_PREV_LINE
public static final java.awt.event.ActionListener SELECT_PREV_LINE
-
SELECT_PREV_PAGE
public static final java.awt.event.ActionListener SELECT_PREV_PAGE
-
SELECT_PREV_WORD
public static final java.awt.event.ActionListener SELECT_PREV_WORD
-
REPEAT
public static final java.awt.event.ActionListener REPEAT
-
TOGGLE_RECT
public static final java.awt.event.ActionListener TOGGLE_RECT
-
SELECT_ALL
public static final java.awt.event.ActionListener SELECT_ALL
-
UNDO
public static final java.awt.event.ActionListener UNDO
-
REDO
public static final java.awt.event.ActionListener REDO
-
INSERT_CHAR
public static final java.awt.event.ActionListener INSERT_CHAR
-
grabAction
protected java.awt.event.ActionListener grabAction
-
repeat
protected boolean repeat
-
repeatCount
protected int repeatCount
-
recorder
protected InputHandler.MacroRecorder recorder
-
-
Method Detail
-
getAction
public static java.awt.event.ActionListener getAction(java.lang.String name)
Returns a named text area action.- Parameters:
name
- The action name
-
getActionName
public static java.lang.String getActionName(java.awt.event.ActionListener listener)
Returns the name of the specified text area action.- Parameters:
listener
- The action
-
getActions
public static java.util.Enumeration getActions()
Returns an enumeration of all available actions.
-
addDefaultKeyBindings
public abstract void addDefaultKeyBindings()
Adds the default key bindings to this input handler. This should not be called in the constructor of this input handler, because applications might load the key bindings from a file, etc.
-
addKeyBinding
public abstract void addKeyBinding(java.lang.String keyBinding, java.awt.event.ActionListener action)
Adds a key binding to this input handler.- Parameters:
keyBinding
- The key binding (the format of this is input-handler specific)action
- The action
-
removeKeyBinding
public abstract void removeKeyBinding(java.lang.String keyBinding)
Removes a key binding from this input handler.- Parameters:
keyBinding
- The key binding
-
removeAllKeyBindings
public abstract void removeAllKeyBindings()
Removes all key bindings from this input handler.
-
grabNextKeyStroke
public void grabNextKeyStroke(java.awt.event.ActionListener listener)
Grabs the next key typed event and invokes the specified action with the key as a the action command.- Parameters:
listener
- The action
-
isRepeatEnabled
public boolean isRepeatEnabled()
Returns if repeating is enabled. When repeating is enabled, actions will be executed multiple times. This is usually invoked with a special key stroke in the input handler.
-
setRepeatEnabled
public void setRepeatEnabled(boolean repeat)
Enables repeating. When repeating is enabled, actions will be executed multiple times. Once repeating is enabled, the input handler should read a number from the keyboard.
-
getRepeatCount
public int getRepeatCount()
Returns the number of times the next action will be repeated.
-
setRepeatCount
public void setRepeatCount(int repeatCount)
Sets the number of times the next action will be repeated.- Parameters:
repeatCount
- The repeat count
-
getMacroRecorder
public InputHandler.MacroRecorder getMacroRecorder()
Returns the macro recorder. If this is non-null, all executed actions should be forwarded to the recorder.
-
setMacroRecorder
public void setMacroRecorder(InputHandler.MacroRecorder recorder)
Sets the macro recorder. If this is non-null, all executed actions should be forwarded to the recorder.- Parameters:
recorder
- The macro recorder
-
copy
public abstract InputHandler copy()
Returns a copy of this input handler that shares the same key bindings. Setting key bindings in the copy will also set them in the original.
-
executeAction
public void executeAction(java.awt.event.ActionListener listener, java.lang.Object source, java.lang.String actionCommand)
Executes the specified action, repeating and recording it as necessary.- Parameters:
listener
- The action listenersource
- The event sourceactionCommand
- The action command
-
getTextArea
public static JEditTextArea getTextArea(java.util.EventObject evt)
Returns the text area that fired the specified event.- Parameters:
evt
- The event
-
handleGrabAction
protected void handleGrabAction(java.awt.event.KeyEvent evt)
If a key is being grabbed, this method should be called with the appropriate key event. It executes the grab action with the typed character as the parameter.
-
-