public AbsPage zKeyboardShortcut(Shortcut shortcut) throws HarnessException { logger.info(myPageName() + " zKeyboardShortcut(" + shortcut + ")"); if (shortcut == null) throw new HarnessException("Shortcut cannot be null"); tracer.trace("Using the keyboard, press the " + shortcut.getKeys() + " keyboard shortcut"); AbsPage page = null; if (shortcut == Shortcut.S_ESCAPE) { // Close the window zKeyDown("27"); return page; } zTypeCharacters(shortcut.getKeys()); return (page); }
/** @return true if action is added and has second stroke */ private boolean addAction(AnAction action, Shortcut sc) { boolean hasSecondStroke = false; Shortcut[] shortcuts = action.getShortcutSet().getShortcuts(); for (Shortcut each : shortcuts) { if (!each.isKeyboard()) continue; if (each.startsWith(sc)) { if (!myContext.getActions().contains(action)) { myContext.getActions().add(action); } if (each instanceof KeyboardShortcut) { hasSecondStroke |= ((KeyboardShortcut) each).getSecondKeyStroke() != null; } } } return hasSecondStroke; }
@Override public void foundShortcut( int u_fromNode, int w_toNode, double existingDirectWeight, EdgeIterator outgoingEdges, int skippedEdge1, int incomingEdgeOrigCount) { // FOUND shortcut // but be sure that it is the only shortcut in the collection // and also in the graph for u->w. If existing AND identical weight => update setProperties. // Hint: shortcuts are always one-way due to distinct level of every node but we don't // know yet the levels so we need to determine the correct direction or if both directions // minor improvement: if (shortcuts.containsKey(sc) // then two shortcuts with the same nodes (u<->n.endNode) exists => check current shortcut // against both Shortcut sc = new Shortcut(u_fromNode, w_toNode, existingDirectWeight); if (shortcuts.containsKey(sc)) { return; } else { Shortcut tmpSc = new Shortcut(w_toNode, u_fromNode, existingDirectWeight); Shortcut tmpRetSc = shortcuts.get(tmpSc); if (tmpRetSc != null) { tmpRetSc.flags = scBothDir; return; } } shortcuts.put(sc, sc); sc.skippedEdge1 = skippedEdge1; sc.skippedEdge2 = outgoingEdges.getEdge(); sc.originalEdges = incomingEdgeOrigCount + getOrigEdgeCount(outgoingEdges.getEdge()); }
public static String getShortcutText(@NotNull Shortcut shortcut) { String s = ""; if (shortcut instanceof KeyboardShortcut) { KeyboardShortcut keyboardShortcut = (KeyboardShortcut) shortcut; String acceleratorText = getKeystrokeText(keyboardShortcut.getFirstKeyStroke()); if (!acceleratorText.isEmpty()) { s = acceleratorText; } acceleratorText = getKeystrokeText(keyboardShortcut.getSecondKeyStroke()); if (!acceleratorText.isEmpty()) { s += ", " + acceleratorText; } } else if (shortcut instanceof MouseShortcut) { MouseShortcut mouseShortcut = (MouseShortcut) shortcut; s = getMouseShortcutText( mouseShortcut.getButton(), mouseShortcut.getModifiers(), mouseShortcut.getClickCount()); } else if (shortcut instanceof KeyboardModifierGestureShortcut) { final KeyboardModifierGestureShortcut gestureShortcut = (KeyboardModifierGestureShortcut) shortcut; s = gestureShortcut.getType() == KeyboardGestureAction.ModifierType.dblClick ? "Press, release and hold " : "Hold "; s += getKeystrokeText(gestureShortcut.getStroke()); } else { throw new IllegalArgumentException( "unknown shortcut class: " + shortcut.getClass().getCanonicalName()); } return s; }
public void onModuleLoad() { SelectionListener<MenuEvent> menuListener = new SelectionListener<MenuEvent>() { @Override public void componentSelected(MenuEvent me) { itemSelected(me); } }; SelectionListener<ComponentEvent> shortcutListener = new SelectionListener<ComponentEvent>() { @Override public void componentSelected(ComponentEvent ce) { itemSelected(ce); } }; Window chesseWindows = createCheeseWindows(); Window configuratorWindows = createConfiguratorWindows(); Shortcut s1 = new Shortcut(); s1.setText("3DappsTest"); s1.setId("grid-win-shortcut"); s1.setData("window", chesseWindows); s1.addSelectionListener(shortcutListener); desktop.addShortcut(s1); Shortcut s2 = new Shortcut(); s2.setText("Zweiter Test 3D app"); s2.setId("acc-win-shortcut"); s2.setData("window", configuratorWindows); s2.addSelectionListener(shortcutListener); desktop.addShortcut(s2); TaskBar taskBar = desktop.getTaskBar(); StartMenu menu = taskBar.getStartMenu(); menu.setHeading("Charly TestUser"); menu.setIconStyle("user"); MenuItem menuItem = new MenuItem("3DappsTest"); menuItem.setData("window", chesseWindows); menuItem.setIcon(IconHelper.createStyle("icon-grid")); menuItem.addSelectionListener(menuListener); menu.add(menuItem); menuItem = new MenuItem("Tab Window"); menuItem.setIcon(IconHelper.createStyle("tabs")); menuItem.addSelectionListener(menuListener); menuItem.setData("window", createTabWindow()); menu.add(menuItem); menuItem = new MenuItem("Zweiter Test 3Dapp"); menuItem.setIcon(IconHelper.createStyle("accordion")); menuItem.addSelectionListener(menuListener); menuItem.setData("window", configuratorWindows); menu.add(menuItem); menuItem = new MenuItem("Bogus Submenu"); menuItem.setIcon(IconHelper.createStyle("bogus")); Menu sub = new Menu(); for (int i = 0; i < 5; i++) { MenuItem item = new MenuItem("Bogus Window " + (i + 1)); item.setData("window", createBogusWindow(i)); item.addSelectionListener(menuListener); sub.add(item); } menuItem.setSubMenu(sub); menu.add(menuItem); // tools MenuItem tool = new MenuItem("Settings"); tool.setIcon(IconHelper.createStyle("settings")); tool.addSelectionListener( new SelectionListener<MenuEvent>() { @Override public void componentSelected(MenuEvent ce) { Info.display("Event", "The 'Settings' tool was clicked"); } }); menu.addTool(tool); menu.addToolSeperator(); tool = new MenuItem("Logout"); tool.setIcon(IconHelper.createStyle("logout")); tool.addSelectionListener( new SelectionListener<MenuEvent>() { @Override public void componentSelected(MenuEvent ce) { Info.display("Event", "The 'Logout' tool was clicked"); } }); menu.addTool(tool); }