Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jedit
Class InputHandler

    java.lang.Object
      java.awt.event.KeyAdapter
          jedit.InputHandler

All Implemented Interfaces:
  java.awt.event.KeyListener, java.util.EventListener

Direct Known Subclasses:
  DefaultInputHandler, JSyneditInputHandler

    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.

Version:
  $Id: InputHandler.java,v 1.3 2006/02/20 18:16:59 jferber Exp $
Author:
  Slava Pestov
See Also:
  `DefaultInputHandler`

Nested Class Summary
`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.repeat`
`static class` | `InputHandler.toggle_rect`
`static interface` | `InputHandler.Wrapper` For use by EditAction.Wrapper only.

Field Summary
`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`
`protected boolean` | `repeat`
`static java.awt.event.ActionListener` | `REPEAT`
`protected int` | `repeatCount`
`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`

Constructor Summary
`InputHandler()`

Method Summary
`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.
`void` | `addKeyBinding(java.lang.String keyBinding, java.awt.event.ActionListener action, java.lang.String cmd)`
`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.

Methods inherited from class java.awt.event.KeyAdapter
`keyPressed, keyReleased, keyTyped`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

### 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

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

### addKeyBinding

    public void addKeyBinding(java.lang.String keyBinding,
                              java.awt.event.ActionListener action,
                              java.lang.String cmd)

### 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:
    `action` - 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © Madkit Team (O. Gutknecht, J. Ferber, F. Michel et al.) All Rights Reserved.