Skip to main content
Jump to: navigation, search

Difference between revisions of "Scout/Concepts/KeyStroke"

(KeyStroke on StringField)
 
Line 11: Line 11:
 
A KeyStroke in Scout is defined as a String and set via
 
A KeyStroke in Scout is defined as a String and set via
 
<source lang="java">
 
<source lang="java">
            @Override
+
@Override
            protected String getConfiguredKeyStroke() {
+
protected String getConfiguredKeyStroke() {
              return "<keyStrokeDefinition>";
+
  return "<keyStrokeDefinition>";
            }
+
}
 
</source>
 
</source>
  
 
Below you will see some examples of keyStrokes:
 
Below you will see some examples of keyStrokes:
  
* Alt+F4 --> alternate-f4
+
* <tt>"Alt-F4"</tt> --> alternate-f4
* Ctrl+Alt+1 --> control-alternate-1
+
* <tt>"Ctrl+Alt+1"</tt> --> control-alternate-1
* F1 --> f1
+
* <tt>"F1"</tt> --> f1
* F10 --> f10
+
* <tt>"F10"</tt> --> f10
* Ctrl+Shift+1 --> control-shift-1
+
* <tt>"Ctrl-Shift-1"</tt> --> control-shift-1
* Ctrl+Shift+a --> control-shift-a
+
* <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:
 
Scout defines predefined Strings which will be mapped to keyStrokes:
Line 39: Line 45:
 
public class StringField extends AbstractStringField {
 
public class StringField extends AbstractStringField {
  
        @Override
+
  @Override
        protected String getConfiguredLabel() {
+
  protected String getConfiguredLabel() {
          return "StringField";
+
    return "StringField";
        }
+
  }
  
        public class KeyStroke extends AbstractKeyStroke {
+
  public class KeyStroke extends AbstractKeyStroke {
  
          @Override
+
    @Override
          protected String getConfiguredKeyStroke() {
+
    protected String getConfiguredKeyStroke() {
            return "f5";
+
      return "f5";
          }
+
    }
  
          @Override
+
    @Override
          protected void execAction() throws ProcessingException {
+
    protected void execAction() throws ProcessingException {
            MessageBox.showOkMessage("KeyStroke", "F5 pressed on TextField", "");
+
      MessageBox.showOkMessage("KeyStroke", "F5 pressed on TextField", "");
          }
+
    }
        }
+
  }
      }
+
}
 
</source>
 
</source>
  
Line 63: Line 69:
  
 
<source lang="java">
 
<source lang="java">
public class SmartField extends AbstractSmartField<Long> {
+
public class SmartFieldMenu extends AbstractExtensibleMenu {
  
          @Override
+
  @Override
          protected String getConfiguredLabel() {
+
  protected void execAction() throws ProcessingException {
            return "SmartField";
+
    MessageBox.showOkMessage("KeyStroke", "Alt+2 pressed on SmartField", "");
          }
+
  }
  
          @Order(10.0)
+
  @Override
          public class SmartFieldMenu extends AbstractExtensibleMenu {
+
  protected String getConfiguredKeyStroke() {
 +
    return "alt-2";
 +
  }
  
            @Override
+
  @Override
            protected void execAction() throws ProcessingException {
+
  protected String getConfiguredText() {
              MessageBox.showOkMessage("KeyStroke", "Alt+2 pressed on SmartField", "");
+
    return TEXTS.get("ContextMenu with KeyStroke");
            }
+
    }
 
+
  }
            @Override
+
}</source>
            protected String getConfiguredKeyStroke() {
+
Will result in:
              return "alt-2";
+
            }
+
 
+
            @Override
+
            protected String getConfiguredText() {
+
              return "ContextMenu with KeyStroke");
+
            }
+
          }
+
        }
+
</source>
+
Will result in
+
 
[[File:Keystroke_menu.png]]
 
[[File:Keystroke_menu.png]]
  

Latest revision as of 02:57, 23 July 2014


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitterG+
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

Copyright © Eclipse Foundation, Inc. All Rights Reserved.