Class 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
    • 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
    • Constructor Detail

      • InputHandler

        public InputHandler()
    • 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 listener
        source - The event source
        actionCommand - 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.