package com.vistatec.ocelot.lqi.constants;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import javax.swing.JComponent;
import javax.swing.JTable;
import javax.swing.KeyStroke;
import com.vistatec.ocelot.PlatformSupport;
public class ShortCutConstants {
/**
* <ul>
* <li>Ctrl + R - Opens the Filter Rules window.</li>
* <li>Ctrl + Shift + R - Replace the whole content of the target with the
* content of the selected target from the Translation/Concordance search
* panel</li>
* <li>Alt + Up - moves the selection to the upper row in the
* Translation/Concordance Search table.</li>
* <li>Alt + Down - moves the selection to the lower row in the
* Translation/Concordance Search table.</li>
* <li>Ctrl + O - Open XLIFF menu item shortcut</li>
* <li>Ctrl + S - Save menu item shortcut</li>
* <li>Ctrl + Shift + S - Save as menu item shortcut</li>
* <li>Ctrl + P - Profile menu item shortcut</li>
* <li>Ctrl + Equals - Add Issue menu item shortcut</li>
* <li>Alt + F - Opens the File menu</li>
* <li>Alt + V - Opens the View menu</li>
* <li>Alt + T - Opens the Filter menu</li>
* <li>Alt + E - Opens the Extensions menu</li>
* <li>Alt + H - Opens the Help menu</li>
* <li>Ctrl + Shift + F1 - ?</li>
* <li>Ctrl + Alt + Shift + F1 - ?</li>
* </ul>
*
*/
public static List<KeyStroke> getOcelotReservedKeys(PlatformSupport platform) {
int platformMask = platform.getPlatformKeyMask();
List<KeyStroke> keys = new ArrayList<>();
Collections.addAll(keys,
KeyStroke.getKeyStroke(KeyEvent.VK_L, platformMask),
KeyStroke.getKeyStroke(KeyEvent.VK_R, platformMask),
KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_O, platformMask),
KeyStroke.getKeyStroke(KeyEvent.VK_S, platformMask),
KeyStroke.getKeyStroke(KeyEvent.VK_S, platformMask
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_P, platformMask),
KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, platformMask),
KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_T, KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_E, KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_H, KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_F1, platformMask
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_F1, platformMask
+ KeyEvent.SHIFT_MASK + KeyEvent.SHIFT_MASK));
return keys;
};
/**
* <ul>
* <li>Space - add to selection</li>
* <li>Escape - Cancel</li>
* <li>Ctrl + Insert / Ctrl + C - Copy</li>
* <li>Shift + Del / Ctrl + X - Cut</li>
* <li>Shift + Space - Extend to</li>
* <li>F8 - Focus header</li>
* <li>Shift + Ctrl + Space - move selection to</li>
* <li>Shift + Insert / Ctrl + V - Paste</li>
* <li>Page Down - Scroll selection down</li>
* <li>Shift + Page Down - Scroll down extend selection</li>
* <li>Ctrl + Page Up - Scroll left change selection</li>
* <li>Ctrl + Shift + Page Up - Scroll left extend selection</li>
* <li>Ctrl + Page Down - Scroll right change selection</li>
* <li>Ctrl + Shift + Page Down - Scroll right extend selection</li>
* <li>Page Up - scroll up change selection</li>
* <li>Shift + Page Up - scroll up change selection</li>
* <li>Ctrl + A - Select All</li>
* <li>Home - Select first column</li>
* <li>Shift + Home - Select first column extend selection</li>
* <li>Ctrl + Home - Select first row</li>
* <li>Ctrl + Shift + Home - Select first row extend selection</li>
* <li>End - Select last column</li>
* <li>Shift + End - Select last column extend selection</li>
* <li>Ctrl + End - Select last row</li>
* <li>Ctrl + Shift + End - Select last row extend selection</li>
* <li>Right - Select next column</li>
* <li>Tab - Select next column cell</li>
* <li>Ctrl + Right - Select next column change lead</li>
* <li>Ctrl + Shift + Right / Shift + Right - Select next column extend
* selection</li>
* <li>Down - select next row</li>
* <li>Enter - select next row cell</li>
* <li>Ctrl + Down - select next row change lead</li>
* <li>Ctrl + Shift + Down / Shift + Down - select next row extend selection
* </li>
* <li>Left - Select previous column</li>
* <li>Shift + Tab - Select previous column extend selection</li>
* <li>Ctrl + Left - Select previous column change lead</li>
* <li>Ctrl + Shift + Left / Shift + Left - Select previous column extend
* selection</li>
* <li>Up - Select previous row</li>
* <li>Shift + Enter - Select previous row cell</li>
* <li>Crtl + Up - Select previous row change lead</li>
* <li>Crtl + Shift + Up / Shift + Up - Select previous row extend selection
* </li>
* <li>F2 - Start editing</li>
* <li>Ctrl + Space - toggle and anchor</li>
* <li>Ctrl + F1 - ?</li>
* <li>F6 - ?</li>
* <li>Ctrl + Shift + 0 - ?</li>
* <li>Ctrl + Shift + numPad-x - ?</li>
* <li>Ctrl + Alt + Shift + numPad-x - ?</li>
* <li>Alt + Shift + numPad-x - ?</li>
* <li>Shift + numPad-x - ?</li>
* <li>Ctrl + Alt + Shift + Decimal - ?</li>
* <li>Alt + Shift + Decimal - ?</li>
* <li>Shift + Decimal - ?</li>
* </ul>
*/
public static final KeyStroke[] SWING_RESERVED_KEYS = {
KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_INSERT, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_F8, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, KeyEvent.SHIFT_MASK
+ KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_INSERT, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_A, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_HOME, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_HOME, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_HOME, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_END, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_END, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_END, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_END, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_TAB, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_F1, KeyEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_F6, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD1, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD2, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD3, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD4, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD5, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD6, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD7, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD8, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD9, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD1, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD2, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD3, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD4, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD5, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD6, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD7, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD8, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD9, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD1, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD2, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD3, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD4, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD5, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD6, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD7, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD8, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD9, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD1, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD2, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD3, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD4, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD5, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD6, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD7, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD8, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD9, KeyEvent.SHIFT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DECIMAL, KeyEvent.CTRL_MASK
+ KeyEvent.SHIFT_MASK + KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DECIMAL, KeyEvent.SHIFT_MASK
+ KeyEvent.ALT_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DECIMAL, KeyEvent.SHIFT_MASK) };
public static final int[] funcKeys = { KeyEvent.VK_BACK_SPACE,
KeyEvent.VK_TAB, KeyEvent.VK_ENTER, KeyEvent.VK_ESCAPE,
KeyEvent.VK_SPACE, KeyEvent.VK_PAGE_UP, KeyEvent.VK_PAGE_DOWN,
KeyEvent.VK_END, KeyEvent.VK_HOME, KeyEvent.VK_LEFT,
KeyEvent.VK_UP, KeyEvent.VK_RIGHT, KeyEvent.VK_DOWN,
KeyEvent.VK_INSERT, KeyEvent.VK_DELETE };
public static final int[] numberKeys = { KeyEvent.VK_0, KeyEvent.VK_1,
KeyEvent.VK_2, KeyEvent.VK_3, KeyEvent.VK_4, KeyEvent.VK_5,
KeyEvent.VK_6, KeyEvent.VK_7, KeyEvent.VK_8, KeyEvent.VK_9 };
public static final int[] letterKeys = { KeyEvent.VK_A, KeyEvent.VK_B,
KeyEvent.VK_C, KeyEvent.VK_D, KeyEvent.VK_E, KeyEvent.VK_F,
KeyEvent.VK_G, KeyEvent.VK_H, KeyEvent.VK_I, KeyEvent.VK_J,
KeyEvent.VK_K, KeyEvent.VK_L, KeyEvent.VK_M, KeyEvent.VK_N,
KeyEvent.VK_O, KeyEvent.VK_P, KeyEvent.VK_Q, KeyEvent.VK_R,
KeyEvent.VK_S, KeyEvent.VK_T, KeyEvent.VK_U, KeyEvent.VK_V,
KeyEvent.VK_W, KeyEvent.VK_X, KeyEvent.VK_Y, KeyEvent.VK_Z };
public static final int[] numPadKeys = { KeyEvent.VK_NUMPAD0,
KeyEvent.VK_NUMPAD1, KeyEvent.VK_NUMPAD2, KeyEvent.VK_NUMPAD3,
KeyEvent.VK_NUMPAD4, KeyEvent.VK_NUMPAD5, KeyEvent.VK_NUMPAD6,
KeyEvent.VK_NUMPAD7, KeyEvent.VK_NUMPAD8, KeyEvent.VK_NUMPAD9,
KeyEvent.VK_ADD, KeyEvent.VK_MULTIPLY, KeyEvent.VK_DIVIDE,
KeyEvent.VK_SUBTRACT, KeyEvent.VK_DECIMAL };
public static final int[] fKeys = { KeyEvent.VK_F1, KeyEvent.VK_F2,
KeyEvent.VK_F3, KeyEvent.VK_F4, KeyEvent.VK_F5, KeyEvent.VK_F6,
KeyEvent.VK_F7, KeyEvent.VK_F8, KeyEvent.VK_F9, KeyEvent.VK_F10,
KeyEvent.VK_F11, KeyEvent.VK_F12 };
public static void main(String[] args) {
JTable table = new JTable();
if (table.getInputMap() != null && table.getInputMap().size() > 0) {
for (KeyStroke key : table.getInputMap().allKeys()) {
System.out.println(KeyEvent.getModifiersExText(key
.getModifiers())
+ KeyEvent.getKeyText(key.getKeyCode())
+ ": "
+ table.getInputMap().get(key));
}
}
if (table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT) != null
&& table.getInputMap(
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).size() > 0) {
for (KeyStroke key : table.getInputMap(
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).allKeys()) {
System.out.println(KeyEvent.getModifiersExText(key
.getModifiers())
+ KeyEvent.getKeyText(key.getKeyCode())
+ ": "
+ table.getInputMap(
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
.get(key));
}
}
}
public static List<KeyStroke> getReservedKeyList(PlatformSupport platform) {
List<KeyStroke> keys = new ArrayList<KeyStroke>();
keys.addAll(Arrays.asList(platform.getReservedKeys()));
keys.addAll(getOcelotReservedKeys(platform));
keys.addAll(Arrays.asList(SWING_RESERVED_KEYS));
return keys;
}
}