Gridarta Editor
net.sf.gridarta.textedit.textarea.DefaultInputHandler Class Reference

The default input handler. More...

+ Inheritance diagram for net.sf.gridarta.textedit.textarea.DefaultInputHandler:
+ Collaboration diagram for net.sf.gridarta.textedit.textarea.DefaultInputHandler:

Public Member Functions

void addDefaultKeyBindings ()
 Sets up the default key bindings. More...
 
InputHandler copy ()
 Returns a copy of this input handler that shares the same key bindings. More...
 
 DefaultInputHandler (@NotNull final ScriptEditControl scriptEditControl, @NotNull final MenuEntries menuEntries)
 Creates a new input handler with no key bindings defined. More...
 
void keyPressed (final KeyEvent e)
 Handle a key pressed event. More...
 
void keyReleased (final KeyEvent e)
 
void keyTyped (final KeyEvent e)
 Handle a key typed event. More...
 
- Public Member Functions inherited from net.sf.gridarta.textedit.textarea.InputHandler
abstract void addDefaultKeyBindings ()
 Adds the default key bindings to this input handler. More...
 
abstract InputHandler copy ()
 Returns a copy of this input handler that shares the same key bindings. More...
 
void executeAction (final ActionListener listener, final Object source, @Nullable final String actionCommand)
 Executes the specified action, repeating and recording it as necessary. More...
 
int getRepeatCount ()
 Returns the number of times the next action will be repeated. More...
 
boolean isRepeatEnabled ()
 Returns if repetition is enabled. More...
 
void setRepeatCount (final int repeatCount)
 Sets the number of times the next action will be repeated. More...
 
void setRepeatEnabled (final boolean repeat)
 Sets the enabled state of repetition. More...
 

Private Member Functions

void addKeyBinding (final String keyBinding, final ActionListener action)
 Adds a key binding to this input handler. More...
 
 DefaultInputHandler (final DefaultInputHandler copy)
 

Static Private Member Functions

static KeyStroke parseKeyStroke (final String keyStroke)
 Converts a string to a keystroke. More...
 

Private Attributes

final Map< KeyStroke, ActionListener > bindings
 
final InputActions inputActions
 

Static Private Attributes

static final Category LOG = Logger.getLogger(DefaultInputHandler.class)
 The Logger for printing log messages. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from net.sf.gridarta.textedit.textarea.InputHandler
static JEditTextArea getTextArea (final EventObject evt)
 Returns the text area that fired the specified event. More...
 
- Protected Member Functions inherited from net.sf.gridarta.textedit.textarea.InputHandler
boolean handleGrabAction (final KeyEvent evt)
 If a key is being grabbed, this method should be called with the appropriate key event. More...
 
- Protected Attributes inherited from net.sf.gridarta.textedit.textarea.InputHandler
int repeatCount
 

Detailed Description

The default input handler.

It maps sequences of keystrokes into actions and inserts key typed events into the text area.

Author
Slava Pestov
Andreas Vogl

Definition at line 33 of file DefaultInputHandler.java.

Constructor & Destructor Documentation

◆ DefaultInputHandler() [1/2]

net.sf.gridarta.textedit.textarea.DefaultInputHandler.DefaultInputHandler ( @NotNull final ScriptEditControl  scriptEditControl,
@NotNull final MenuEntries  menuEntries 
)

Creates a new input handler with no key bindings defined.

Parameters
scriptEditControlthe script edit control to affect
menuEntriesthe menu entries to include in the function list popup

Definition at line 52 of file DefaultInputHandler.java.

Referenced by net.sf.gridarta.textedit.textarea.DefaultInputHandler.copy().

+ Here is the caller graph for this function:

◆ DefaultInputHandler() [2/2]

net.sf.gridarta.textedit.textarea.DefaultInputHandler.DefaultInputHandler ( final DefaultInputHandler  copy)
private

Member Function Documentation

◆ addDefaultKeyBindings()

void net.sf.gridarta.textedit.textarea.DefaultInputHandler.addDefaultKeyBindings ( )

Sets up the default key bindings.

Definition at line 61 of file DefaultInputHandler.java.

References net.sf.gridarta.textedit.textarea.DefaultInputHandler.addKeyBinding(), net.sf.gridarta.textedit.textarea.actions.InputActions.backspace, net.sf.gridarta.textedit.textarea.actions.InputActions.backspaceWord, net.sf.gridarta.textedit.textarea.actions.InputActions.delete, net.sf.gridarta.textedit.textarea.actions.InputActions.deleteWord, net.sf.gridarta.textedit.textarea.actions.InputActions.documentEnd, net.sf.gridarta.textedit.textarea.actions.InputActions.documentHome, net.sf.gridarta.textedit.textarea.actions.InputActions.end, net.sf.gridarta.textedit.textarea.actions.InputActions.functionMenu, net.sf.gridarta.textedit.textarea.actions.InputActions.home, net.sf.gridarta.textedit.textarea.actions.InputActions.insertBreak, net.sf.gridarta.textedit.textarea.actions.InputActions.insertTab, net.sf.gridarta.textedit.textarea.actions.InputActions.nextChar, net.sf.gridarta.textedit.textarea.actions.InputActions.nextLine, net.sf.gridarta.textedit.textarea.actions.InputActions.nextPage, net.sf.gridarta.textedit.textarea.actions.InputActions.nextWord, net.sf.gridarta.textedit.textarea.actions.InputActions.overwrite, net.sf.gridarta.textedit.textarea.actions.InputActions.prevChar, net.sf.gridarta.textedit.textarea.actions.InputActions.prevLine, net.sf.gridarta.textedit.textarea.actions.InputActions.prevPage, net.sf.gridarta.textedit.textarea.actions.InputActions.prevWord, net.sf.gridarta.textedit.textarea.actions.InputActions.repeat, net.sf.gridarta.textedit.textarea.actions.InputActions.selectDocEnd, net.sf.gridarta.textedit.textarea.actions.InputActions.selectDocHome, net.sf.gridarta.textedit.textarea.actions.InputActions.selectEnd, net.sf.gridarta.textedit.textarea.actions.InputActions.selectHome, net.sf.gridarta.textedit.textarea.actions.InputActions.selectNextChar, net.sf.gridarta.textedit.textarea.actions.InputActions.selectNextLine, net.sf.gridarta.textedit.textarea.actions.InputActions.selectNextPage, net.sf.gridarta.textedit.textarea.actions.InputActions.selectNextWord, net.sf.gridarta.textedit.textarea.actions.InputActions.selectPrevChar, net.sf.gridarta.textedit.textarea.actions.InputActions.selectPrevLine, net.sf.gridarta.textedit.textarea.actions.InputActions.selectPrevPage, net.sf.gridarta.textedit.textarea.actions.InputActions.selectPrevWord, and net.sf.gridarta.textedit.textarea.actions.InputActions.toggleRectangle.

+ Here is the call graph for this function:

◆ addKeyBinding()

void net.sf.gridarta.textedit.textarea.DefaultInputHandler.addKeyBinding ( final String  keyBinding,
final ActionListener  action 
)
private

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)

Parameters
keyBindingthe key binding
actionthe action

Definition at line 114 of file DefaultInputHandler.java.

References net.sf.gridarta.textedit.textarea.DefaultInputHandler.parseKeyStroke().

Referenced by net.sf.gridarta.textedit.textarea.DefaultInputHandler.addDefaultKeyBindings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copy()

InputHandler net.sf.gridarta.textedit.textarea.DefaultInputHandler.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.

Definition at line 126 of file DefaultInputHandler.java.

References net.sf.gridarta.textedit.textarea.DefaultInputHandler.DefaultInputHandler().

+ Here is the call graph for this function:

◆ keyPressed()

void net.sf.gridarta.textedit.textarea.DefaultInputHandler.keyPressed ( final KeyEvent  e)

Handle a key pressed event.

This will look up the binding for the key stroke and execute it.

Definition at line 135 of file DefaultInputHandler.java.

References net.sf.gridarta.textedit.textarea.InputHandler.executeAction(), and net.sf.gridarta.textedit.textarea.InputHandler.handleGrabAction().

+ Here is the call graph for this function:

◆ keyReleased()

void net.sf.gridarta.textedit.textarea.DefaultInputHandler.keyReleased ( final KeyEvent  e)

Definition at line 158 of file DefaultInputHandler.java.

◆ keyTyped()

◆ parseKeyStroke()

static KeyStroke net.sf.gridarta.textedit.textarea.DefaultInputHandler.parseKeyStroke ( final String  keyStroke)
staticprivate

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 key code name from the

KeyEvent

class, without the

VK_

prefix.

Parameters
keyStrokea string description of the key stroke
Returns
the key stroke or
null
if invalid

Definition at line 208 of file DefaultInputHandler.java.

Referenced by net.sf.gridarta.textedit.textarea.DefaultInputHandler.addKeyBinding().

+ Here is the caller graph for this function:

Member Data Documentation

◆ bindings

final Map<KeyStroke, ActionListener> net.sf.gridarta.textedit.textarea.DefaultInputHandler.bindings
private

◆ inputActions

final InputActions net.sf.gridarta.textedit.textarea.DefaultInputHandler.inputActions
private

◆ LOG

final Category net.sf.gridarta.textedit.textarea.DefaultInputHandler.LOG = Logger.getLogger(DefaultInputHandler.class)
staticprivate

The Logger for printing log messages.

Definition at line 41 of file DefaultInputHandler.java.


The documentation for this class was generated from the following file: