org.gjt.sp.jedit.gui
Class InputHandler

java.lang.Object
  extended byorg.gjt.sp.jedit.gui.InputHandler
Direct Known Subclasses:
DefaultInputHandler

public abstract class InputHandler
extends java.lang.Object

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.21 2004/01/14 04:36:50 spestov Exp $
Author:
Slava Pestov
See Also:
DefaultInputHandler

Field Summary
protected  EditAction lastAction
           
protected  int lastActionCount
           
protected  java.lang.String readNextChar
           
protected  int repeatCount
           
protected  View view
           
 
Constructor Summary
InputHandler(View view)
          Creates a new input handler.
 
Method Summary
abstract  void addKeyBinding(java.lang.String keyBinding, EditAction action)
          Adds a key binding to this input handler.
abstract  void addKeyBinding(java.lang.String keyBinding, java.lang.String action)
          Adds a key binding to this input handler.
 EditAction getLastAction()
          Returns the last executed action.
 int getLastActionCount()
          Returns the number of times the last action was executed.
 int getRepeatCount()
          Returns the number of times the next action will be repeated.
abstract  boolean handleKey(KeyEventTranslator.Key keyStroke)
          Handles a keystroke.
 void invokeAction(EditAction action)
          Invokes the specified action, repeating and recording it as necessary.
 void invokeAction(java.lang.String action)
          Invokes the specified action, repeating and recording it as necessary.
 void invokeLastAction()
           
protected  void invokeReadNextChar(char ch)
           
 boolean isPrefixActive()
          Returns if a prefix key has been pressed.
 void readNextChar(java.lang.String code)
          Deprecated. Use the other form of this method instead
 void readNextChar(java.lang.String msg, java.lang.String code)
          Invokes the specified BeanShell code, replacing __char__ in the code with the next input character.
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 resetLastActionCount()
          Resets the last action count.
 void setRepeatCount(int repeatCount)
          Sets the number of times the next action will be repeated.
protected  void userInput(char ch)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

view

protected View view

repeatCount

protected int repeatCount

lastAction

protected EditAction lastAction

lastActionCount

protected int lastActionCount

readNextChar

protected java.lang.String readNextChar
Constructor Detail

InputHandler

public InputHandler(View view)
Creates a new input handler.

Parameters:
view - The view
Method Detail

addKeyBinding

public abstract void addKeyBinding(java.lang.String keyBinding,
                                   java.lang.String 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 abstract void addKeyBinding(java.lang.String keyBinding,
                                   EditAction 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.


isPrefixActive

public boolean isPrefixActive()
Returns if a prefix key has been pressed.


handleKey

public abstract boolean handleKey(KeyEventTranslator.Key keyStroke)
Handles a keystroke.

Parameters:
keyStroke - The key stroke.
Since:
jEdit 4.2pre5

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

getLastAction

public EditAction getLastAction()
Returns the last executed action.

Since:
jEdit 2.5pre5

getLastActionCount

public int getLastActionCount()
Returns the number of times the last action was executed.

Since:
jEdit 2.5pre5

readNextChar

public void readNextChar(java.lang.String msg,
                         java.lang.String code)
Invokes the specified BeanShell code, replacing __char__ in the code with the next input character.

Parameters:
msg - The prompt to display in the status bar
code - The code
Since:
jEdit 3.2pre2

readNextChar

public void readNextChar(java.lang.String code)
Deprecated. Use the other form of this method instead


resetLastActionCount

public void resetLastActionCount()
Resets the last action count. This should be called when an editing operation that is not an action is invoked, for example a mouse click.

Since:
jEdit 4.0pre1

invokeAction

public void invokeAction(java.lang.String action)
Invokes the specified action, repeating and recording it as necessary.

Parameters:
action - The action
Since:
jEdit 4.2pre1

invokeAction

public void invokeAction(EditAction action)
Invokes the specified action, repeating and recording it as necessary.

Parameters:
action - The action

invokeLastAction

public void invokeLastAction()

userInput

protected void userInput(char ch)

invokeReadNextChar

protected void invokeReadNextChar(char ch)