Class LegacyActionTools


  • public final class LegacyActionTools
    extends Object

    Some static utility methods for handling labels on actions. This includes mnemonics and accelerators.

    Clients may neither instantiate this class nor extend.

    Since:
    3.2
    • Field Detail

      • MNEMONIC_NONE

        public static final char MNEMONIC_NONE
        The constant to use if there is no mnemonic for this location.
        See Also:
        Constant Field Values
    • Method Detail

      • convertAccelerator

        public static String convertAccelerator​(int keyCode)
        Converts an accelerator key code to a string representation.
        Parameters:
        keyCode - the key code to be translated
        Returns:
        a string representation of the key code
      • convertAccelerator

        public static int convertAccelerator​(String acceleratorText)
        Parses the given accelerator text, and converts it to an accelerator key code.
        Parameters:
        acceleratorText - the accelerator text
        Returns:
        the SWT key code, or 0 if there is no accelerator
      • extractAcceleratorText

        public static String extractAcceleratorText​(String text)
        Extracts the accelerator text from the given text. Returns null if there is no accelerator text, and the empty string if there is no text after the accelerator delimiter (last tab or last '@' if there's no tab).
        Parameters:
        text - the text for the action; may be null.
        Returns:
        the accelerator text, or null
      • extractMnemonic

        public static char extractMnemonic​(String text)
        Extracts the mnemonic text from the given string.
        Parameters:
        text - The text from which the mnemonic should be extracted; may be null
        Returns:
        The text of the mnemonic; will be MNEMONIC_NONE if there is no mnemonic;
      • findKeyCode

        public static int findKeyCode​(String token)
        Maps a standard keyboard key name to an SWT key code. Key names are converted to upper case before comparison. If the key name is a single letter, for example "S", its character code is returned.

        The following key names are known (case is ignored):

        • "BACKSPACE"
        • "TAB"
        • "RETURN"
        • "ENTER"
        • "ESC"
        • "ESCAPE"
        • "DELETE"
        • "SPACE"
        • "ARROW_UP", "ARROW_DOWN", "ARROW_LEFT", and "ARROW_RIGHT"
        • "PAGE_UP" and "PAGE_DOWN"
        • "HOME"
        • "END"
        • "INSERT"
        • "F1", "F2" through "F12"
        Parameters:
        token - the key name
        Returns:
        the SWT key code, -1 if no match was found
        See Also:
        SWT
      • findKeyString

        public static String findKeyString​(int keyCode)
        Maps an SWT key code to a standard keyboard key name. The key code is stripped of modifiers (SWT.CTRL, SWT.ALT, SWT.SHIFT, and SWT.COMMAND). If the key code is not an SWT code (for example if it a key code for the key 'S'), a string containing a character representation of the key code is returned.
        Parameters:
        keyCode - the key code to be translated
        Returns:
        the string representation of the key code
        Since:
        2.0
        See Also:
        SWT
      • findModifier

        public static int findModifier​(String token)
        Maps standard keyboard modifier key names to the corresponding SWT modifier bit. The following modifier key names are recognized (case is ignored): "CTRL", "SHIFT", "ALT", and "COMMAND". The given modifier key name is converted to upper case before comparison.
        Parameters:
        token - the modifier key name
        Returns:
        the SWT modifier bit, or 0 if no match was found
        See Also:
        SWT
      • findModifierString

        public static String findModifierString​(int keyCode)
        Returns a string representation of an SWT modifier bit (SWT.CTRL, SWT.ALT, SWT.SHIFT, and SWT.COMMAND). Returns null if the key code is not an SWT modifier bit.
        Parameters:
        keyCode - the SWT modifier bit to be translated
        Returns:
        the string representation of the SWT modifier bit, or null if the key code was not an SWT modifier bit
        See Also:
        SWT
      • removeAcceleratorText

        public static String removeAcceleratorText​(String text)
        Convenience method for removing any optional accelerator text from the given string. The accelerator text appears at the end of the text, and is separated from the main part by the last tab character '\t' (or the last '@' if there is no tab).
        Parameters:
        text - the text
        Returns:
        the text sans accelerator
      • removeMnemonics

        public static String removeMnemonics​(String text)
        Convenience method for removing any mnemonics from the given string. For example, removeMnemonics("&Open") will return "Open".
        Parameters:
        text - the text
        Returns:
        the text sans mnemonics
      • escapeMnemonics

        public static String escapeMnemonics​(String text)
        Convenience method for escaping all mnemonics in the given string. For example, escapeMnemonics("a & b & c") will return "a && b && c".
        Parameters:
        text - the text
        Returns:
        the text with mnemonics escaped
        Since:
        3.6