public void keyPressed(KeyEvent e) { KeyStroke currentStroke = KeyStroke.getKeyStrokeForEvent(e); if (e.getKeyCode() == KeyEvent.VK_ENTER) { TreePath path = ((JTree) e.getSource()).getSelectionPath(); if (path == null) { return; } AWorkspaceTreeNode node = (AWorkspaceTreeNode) path.getLastPathComponent(); if (node instanceof IWorkspaceNodeActionListener) { ((IWorkspaceNodeActionListener) node) .handleAction( new WorkspaceActionEvent( node, WorkspaceActionEvent.WSNODE_OPEN_DOCUMENT, 0, 0, e.getComponent())); e.consume(); } } else { for (HotKeyIdentifier id : actionKeyMap.keySet()) { if (currentStroke.equals(id.getKeyStroke())) { if (id.accept(e)) { AFreeplaneAction action = WorkspaceController.getAction(actionKeyMap.get(id)); if (action != null) { action.actionPerformed(new ActionEvent(e.getSource(), 0, null)); } else { LogUtils.info("No action set for: " + id.getKeyStroke()); } } e.consume(); break; } } } }
private void updateMenus() { Controller controller = Controller.getCurrentController(); final ModeController modeController = controller.getModeController(); final MenuBuilder menuBuilder = modeController.getUserInputListenerFactory().getMenuBuilder(); menuBuilder.removeChildElements(MENU_CATEGORY); int i = 0; int maxEntries = getMaxMenuEntries(); for (final String key : lastOpenedList) { if (i == 0 && (!modeController.getModeName().equals(MModeController.MODENAME) || controller.getMap() == null || controller.getMap().getURL() == null)) { i++; maxEntries++; } if (i == maxEntries) { break; } final AFreeplaneAction lastOpenedActionListener = new OpenLastOpenedAction(i++, this); final IFreeplaneAction decoratedAction = menuBuilder.decorateAction(lastOpenedActionListener); final JMenuItem item = new JFreeplaneMenuItem(decoratedAction); item.setActionCommand(key); String text = createOpenMapItemName(key); item.setText(text); item.setMnemonic(0); menuBuilder.addMenuItem( MENU_CATEGORY, item, MENU_CATEGORY + '/' + lastOpenedActionListener.getKey(), UIBuilder.AS_CHILD); } }
/** * ********************************************************************************* CONSTRUCTORS * ******************************************************************************** */ public FreeplaneActionMultiCaster(AFreeplaneAction a, AFreeplaneAction b) { super(b.getKey()); if (a != null) { assert (b.getKey().equals(a.getKey())); } this.a = a; this.b = b; }
public static String getActionTitle(final AFreeplaneAction action) { String title = (String) action.getValue(Action.NAME); if (title == null || title.isEmpty()) { title = TextUtils.getText(action.getTextKey()); } if (title == null || title.isEmpty()) { title = action.getTextKey(); } return TextUtils.removeTranslateComment(title); }
public static ResizableIcon getActionIcon(final AFreeplaneAction action) { ResizableIcon icon = null; ImageIcon ico = (ImageIcon) action.getValue(Action.SMALL_ICON); if (ico != null) { icon = ImageWrapperResizableIcon.getIcon( ico.getImage(), new Dimension(ico.getIconWidth(), ico.getIconHeight())); } else { String resource = ResourceController.getResourceController().getProperty(action.getIconKey(), null); if (resource != null) { URL location = ResourceController.getResourceController().getResource(resource); icon = ImageWrapperResizableIcon.getIcon(location, new Dimension(16, 16)); } } if (icon == null) { icon = RibbonActionContributorFactory.BLANK_ACTION_ICON; } return icon; }
/** * ********************************************************************************* REQUIRED * METHODS FOR INTERFACES * ******************************************************************************** */ public void actionPerformed(ActionEvent e) { if (b != null) b.actionPerformed(e); if (a != null) a.actionPerformed(e); }
/** * ********************************************************************************* METHODS * ******************************************************************************** */ public boolean isEnabled() { return b.isEnabled(); }