Jump to: navigation, search

Scout/Concepts/KeyStroke


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitter
Bugzilla
Bugzilla


Special type of Action for key actions.

  • implements: I obj.pngIKeyStroke
  • extends: C obj.pngAbstractKeyStroke

Description

In Eclipse Scout you can set KeyStrokes to components (such as Menus, Buttons, StringFields, GroupBoxes...). A KeyStroke represents a certain key sequence on the keyboard and can be associated with an action if the key sequence is pressed. For example one can associate a KeyStroke (F5) on a table in order to refresh it.

A KeyStroke in Scout is defined as a String and set via

@Override
protected String getConfiguredKeyStroke() {
  return "<keyStrokeDefinition>";
}

Below you will see some examples of keyStrokes:

  • "Alt-F4" --> alternate-f4
  • "Ctrl+Alt+1" --> control-alternate-1
  • "F1" --> f1
  • "F10" --> f10
  • "Ctrl-Shift-1" --> control-shift-1
  • "Ctrl-Shift-a" --> control-shift-a

If you want to map keys from the numeric keypad you need to use those keys identifiers in scout:

  • "ADD" --> the "+" key in the numpad
  • "SUBTRACT" --> the "-" key in the numpad
  • "DIVIDE" --> the "/" key in the numpad
  • "MULTIPLY" --> the "*" key in the numpad

Scout defines predefined Strings which will be mapped to keyStrokes:

  • alternate --> Alt
  • control --> Ctrl
  • f1 - f12 --> F1 - F12
  • shift --> Shift

Examples

KeyStroke on StringField

The following snippet shows a StringField with a keyStroke "F5", which will open a MessageBox if pressed:

public class StringField extends AbstractStringField {
 
  @Override
  protected String getConfiguredLabel() {
    return "StringField";
  }
 
  public class KeyStroke extends AbstractKeyStroke {
 
    @Override
    protected String getConfiguredKeyStroke() {
      return "f5";
    }
 
    @Override
    protected void execAction() throws ProcessingException {
      MessageBox.showOkMessage("KeyStroke", "F5 pressed on TextField", "");
    }
  }
}

KeyStroke on ContextMenu

The following snippet shows a SmartField with a context menu and a keyStroke "F5", which will open a MessageBox if pressed:

public class SmartFieldMenu extends AbstractExtensibleMenu {
 
  @Override
  protected void execAction() throws ProcessingException {
    MessageBox.showOkMessage("KeyStroke", "Alt+2 pressed on SmartField", "");
  }
 
  @Override
  protected String getConfiguredKeyStroke() {
    return "alt-2";
  }
 
  @Override
  protected String getConfiguredText() {
    return TEXTS.get("ContextMenu with KeyStroke");
    }
  }
}

Will result in: Keystroke menu.png

Screenshot

Note.png
TODO
Add a screenshot (or remove this section, if there is no screenshot to make)


Properties

Defined with getConfiguredXxxxxx() methods.

Note.png
TODO
Add a description of important properties. The idea is not to recreate the JavaDoc of the getConfiguredXxxxxx() methods but to provide explanations, best practice, example... Group the properties by domain.


Events

Defined with execXxxxxx() methods.

Note.png
TODO
Add a description of important events. The idea is not to recreate the JavaDoc of the execXxxxxx() methods but to provide explanations, best practice, example... Group the events by domain.


See Also