Difference between revisions of "Scout/Concepts/KeyStroke"
m (Category changed) |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 7: | Line 7: | ||
== Description == | == 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 | ||
+ | <source lang="java"> | ||
+ | @Override | ||
+ | protected String getConfiguredKeyStroke() { | ||
+ | return "<keyStrokeDefinition>"; | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | Below you will see some examples of keyStrokes: | ||
+ | |||
+ | * <tt>"Alt-F4"</tt> --> alternate-f4 | ||
+ | * <tt>"Ctrl+Alt+1"</tt> --> control-alternate-1 | ||
+ | * <tt>"F1"</tt> --> f1 | ||
+ | * <tt>"F10"</tt> --> f10 | ||
+ | * <tt>"Ctrl-Shift-1"</tt> --> control-shift-1 | ||
+ | * <tt>"Ctrl-Shift-a"</tt> --> control-shift-a | ||
+ | |||
+ | If you want to map keys from the numeric keypad you need to use those keys identifiers in scout: | ||
+ | * <tt>"ADD"</tt> --> the "+" key in the numpad | ||
+ | * <tt>"SUBTRACT"</tt> --> the "-" key in the numpad | ||
+ | * <tt>"DIVIDE"</tt> --> the "/" key in the numpad | ||
+ | * <tt>"MULTIPLY"</tt> --> 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: | ||
+ | |||
+ | <source lang="java"> | ||
+ | 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", ""); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | === KeyStroke on ContextMenu === | ||
+ | The following snippet shows a SmartField with a context menu and a keyStroke "F5", which will open a MessageBox if pressed: | ||
+ | |||
+ | <source lang="java"> | ||
+ | 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"); | ||
+ | } | ||
+ | } | ||
+ | }</source> | ||
+ | Will result in: | ||
+ | [[File:Keystroke_menu.png]] | ||
== Screenshot == | == Screenshot == |
Latest revision as of 02:57, 23 July 2014
Scout |
Wiki Home |
Website |
Download • Git |
Community |
Forums • Blog • Twitter • G+ |
Bugzilla |
Bugzilla |
Special type of Action for key actions.
Contents
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"); } } }
Screenshot
Properties
Defined with getConfiguredXxxxxx() methods.
Events
Defined with execXxxxxx() methods.