Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

jsource.syntax
Class DefaultInputHandler  view DefaultInputHandler download DefaultInputHandler.java

java.lang.Object
  extended byjava.awt.event.KeyAdapter
      extended byjsource.syntax.InputHandler
          extended byjsource.syntax.DefaultInputHandler
All Implemented Interfaces:
java.util.EventListener, java.awt.event.KeyListener

public class DefaultInputHandler
extends InputHandler

DefaultInputHandler is the default input handler. It maps sequences of keystrokes into actions and inserts key typed events into the text area.


Nested Class Summary
 
Nested classes inherited from class jsource.syntax.InputHandler
InputHandler.backspace, InputHandler.backspace_word, InputHandler.clip_copy, InputHandler.clip_cut, InputHandler.clip_paste, InputHandler.delete, InputHandler.delete_word, InputHandler.document_end, InputHandler.document_home, InputHandler.end, InputHandler.home, InputHandler.insert_break, InputHandler.insert_char, InputHandler.insert_tab, InputHandler.MacroRecorder, InputHandler.next_char, InputHandler.next_line, InputHandler.next_page, InputHandler.next_word, InputHandler.NonRecordable, InputHandler.NonRepeatable, InputHandler.overwrite, InputHandler.prev_char, InputHandler.prev_line, InputHandler.prev_page, InputHandler.prev_word, InputHandler.repeat, InputHandler.select_all, InputHandler.toggle_rect, InputHandler.Wrapper
 
Field Summary
private  java.util.Hashtable bindings
           
private  java.util.Hashtable currentBindings
           
private  jsource.gui.MainFrame mainFrame
           
 
Fields inherited from class jsource.syntax.InputHandler
BACKSPACE, BACKSPACE_WORD, CLIP_COPY, CLIP_CUT, CLIP_PASTE, DELETE, DELETE_WORD, DOCUMENT_END, DOCUMENT_HOME, END, grabAction, HOME, INSERT_BREAK, INSERT_CHAR, INSERT_TAB, NEXT_CHAR, NEXT_LINE, NEXT_PAGE, NEXT_WORD, OVERWRITE, PREV_CHAR, PREV_LINE, PREV_PAGE, PREV_WORD, recorder, repeat, REPEAT, repeatCount, SELECT_ALL, SELECT_DOC_END, SELECT_DOC_HOME, SELECT_END, SELECT_HOME, SELECT_NEXT_CHAR, SELECT_NEXT_LINE, SELECT_NEXT_PAGE, SELECT_NEXT_WORD, SELECT_PREV_CHAR, SELECT_PREV_LINE, SELECT_PREV_PAGE, SELECT_PREV_WORD, SMART_HOME_END_PROPERTY, TOGGLE_RECT
 
Constructor Summary
private DefaultInputHandler(DefaultInputHandler copy)
           
  DefaultInputHandler(jsource.gui.MainFrame mainFrame)
          Creates a new input handler with no key bindings defined.
 
Method Summary
 void addDefaultKeyBindings()
          Sets up the default key bindings.
 void addKeyBinding(java.lang.String keyBinding, java.awt.event.ActionListener action)
          Adds a key binding to this input handler.
 InputHandler copy()
          Returns a copy of this input handler that shares the same key bindings.
 void keyPressed(java.awt.event.KeyEvent evt)
          Handle a key pressed event.
 void keyReleased(java.awt.event.KeyEvent evt)
          Handle a key released event.
 void keyTyped(java.awt.event.KeyEvent evt)
          Handle a key typed event.
static javax.swing.KeyStroke parseKeyStroke(java.lang.String keyStroke)
          Converts a string to a keystroke.
 void removeAllKeyBindings()
          Removes all key bindings from this input handler.
 void removeKeyBinding(java.lang.String keyBinding)
          Removes a key binding from this input handler.
 
Methods inherited from class jsource.syntax.InputHandler
executeAction, getAction, getActionName, getActions, getMacroRecorder, getRepeatCount, getTextArea, grabNextKeyStroke, handleGrabAction, isRepeatEnabled, setMacroRecorder, setRepeatCount, setRepeatEnabled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bindings

private java.util.Hashtable bindings

currentBindings

private java.util.Hashtable currentBindings

mainFrame

private jsource.gui.MainFrame mainFrame
Constructor Detail

DefaultInputHandler

private DefaultInputHandler(DefaultInputHandler copy)

DefaultInputHandler

public DefaultInputHandler(jsource.gui.MainFrame mainFrame)
Creates a new input handler with no key bindings defined.

Method Detail

addDefaultKeyBindings

public void addDefaultKeyBindings()
Sets up the default key bindings.

Specified by:
addDefaultKeyBindings in class InputHandler

addKeyBinding

public void addKeyBinding(java.lang.String keyBinding,
                          java.awt.event.ActionListener action)
Adds a key binding to this input handler. The key binding is a list of white space separated key strokes of the form [modifiers+]key where modifier is C for Control, A for Alt, or S for Shift, and key is either a character (a-z) or a field name in the KeyEvent class prefixed with VK_ (e.g., BACK_SPACE)

Specified by:
addKeyBinding in class InputHandler

removeKeyBinding

public void removeKeyBinding(java.lang.String keyBinding)
Removes a key binding from this input handler. This is not yet implemented.

Specified by:
removeKeyBinding in class InputHandler

removeAllKeyBindings

public void removeAllKeyBindings()
Removes all key bindings from this input handler.

Specified by:
removeAllKeyBindings in class InputHandler

copy

public 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.

Specified by:
copy in class InputHandler

keyPressed

public void keyPressed(java.awt.event.KeyEvent evt)
Handle a key pressed event. This will look up the binding for the key stroke and execute it.


keyReleased

public void keyReleased(java.awt.event.KeyEvent evt)
Handle a key released event. Used only to stop the Timer that handles Refresher in the MainFrame.


keyTyped

public void keyTyped(java.awt.event.KeyEvent evt)
Handle a key typed event. This inserts the key into the text area.


parseKeyStroke

public static javax.swing.KeyStroke parseKeyStroke(java.lang.String keyStroke)
Converts a string to a keystroke. The string should be of the form modifiers+shortcut where modifiers is any combination of A for Alt, C for Control, S for Shift or M for Meta, and shortcut is either a single character, or a keycode name from the KeyEvent class, without the VK_ prefix.