|
|
(3 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
− | {{ScoutPage|cat=Component Model}}
| + | The Scout documentation has been moved to https://eclipsescout.github.io/. |
− | | + | |
− | Special type of {{ScoutLink|Concepts|Action|Action}} for key actions.
| + | |
− | | + | |
− | * implements: {{ScoutJavadoc|IKeyStroke|I}}
| + | |
− | * extends: {{ScoutJavadoc|AbstractKeyStroke|C}}
| + | |
− | | + | |
− | == Description ==
| + | |
− | In Eclipse Scout you can set KeyStrokes to components (such as Button, StringField, GroupBox...). 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:
| + | |
− | | + | |
− | * 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
| + | |
− | | + | |
− | 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 SmartField extends AbstractSmartField<Long> {
| + | |
− | | + | |
− | @Override
| + | |
− | protected String getConfiguredLabel() {
| + | |
− | return "SmartField";
| + | |
− | }
| + | |
− | | + | |
− | @Order(10.0)
| + | |
− | 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 "ContextMenu with KeyStroke");
| + | |
− | }
| + | |
− | }
| + | |
− | }
| + | |
− | </source>
| + | |
− | Will result in
| + | |
− | [[File:Keystroke_menu.png]]
| + | |
− | | + | |
− | == Screenshot ==
| + | |
− | {{note|TODO|Add a screenshot (or remove this section, if there is no screenshot to make)}}
| + | |
− | | + | |
− | | + | |
− | == Properties ==
| + | |
− | ''Defined with {{ScoutLink|Concepts|GetConfigured Methods|getConfiguredXxxxxx()}} methods''.
| + | |
− | | + | |
− | {{note|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 {{ScoutLink|Concepts|Exec_Methods|execXxxxxx()}} methods''.
| + | |
− | | + | |
− | {{note|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 ==
| + | |
− | * {{ScoutLink|Concepts|Action|Action}}
| + | |
− | * {{ScoutLink|Concepts|Client Plug-In|Client Plug-In}}
| + | |