Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Scout/Concepts/KeyStroke"

m (Category changed)
(Description)
Line 7: Line 7:
  
 
== Description ==
 
== Description ==
{{note|TODO|Add a 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 ==
 
== Screenshot ==

Revision as of 05:48, 15 November 2013

The Scout documentation has been moved to https://eclipsescout.github.io/.

Special type of The Scout documentation has been moved to https://eclipsescout.github.io/. for key actions.

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

            @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

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 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");
            }
          }
        }

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 The Scout documentation has been moved to https://eclipsescout.github.io/. 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 The Scout documentation has been moved to https://eclipsescout.github.io/. 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

Copyright © Eclipse Foundation, Inc. All Rights Reserved.