public void setCaption(String caption) { if (action.getShortcutCombination() != null) { StringBuilder sb = new StringBuilder(); sb.append(caption); if (action.getShortcutCombination() != null) { sb.append(" (").append(action.getShortcutCombination().format()).append(")"); } caption = sb.toString(); } menuItem.setText(caption); } }
public void removeAction(Action action) { if (action != null) { removeShortcut(action); // find and assign alternative if (action.getShortcutCombination() != null) { addAlternativeShortcut(action.getShortcutCombination()); } } }
protected void actionPropertyChanged(PropertyChangeEvent propertyChangeEvent) { if (Action.PROP_SHORTCUT.equals(propertyChangeEvent.getPropertyName())) { Action action = (Action) propertyChangeEvent.getSource(); actions.inverse().remove(action); if (action.getShortcutCombination() != null) { actions.put(createShortcutAction(action), action); } } }
private void addAlternativeShortcut(KeyCombination kc) { Action alternativeAction = null; for (Action action : getActions()) { // find last action with same shortcut if (kc.equals(action.getShortcutCombination())) { alternativeAction = action; } } if (alternativeAction != null) { addShortcut(alternativeAction.getId(), alternativeAction.getShortcutCombination()); } }
protected void actionPropertyChanged(PropertyChangeEvent evt) { Action action = (Action) evt.getSource(); CubaButton button = actionButtons.get(action); if (Action.PROP_ICON.equals(evt.getPropertyName())) { setContextMenuButtonIcon(button, showIconsForPopupMenuActions ? action.getIcon() : null); } else if (Action.PROP_CAPTION.equals(evt.getPropertyName())) { setContextMenuButtonCaption(button, action.getCaption(), action.getShortcutCombination()); } else if (Action.PROP_DESCRIPTION.equals(evt.getPropertyName())) { button.setDescription(action.getDescription()); } else if (Action.PROP_ENABLED.equals(evt.getPropertyName())) { button.setEnabled(action.isEnabled()); } else if (Action.PROP_VISIBLE.equals(evt.getPropertyName())) { button.setVisible(action.isVisible()); } }
public void addAction(Action action, int index) { int oldIndex = findActionById(actionList, action.getId()); if (oldIndex >= 0) { removeAction(actionList.get(oldIndex)); if (index > oldIndex) { index--; } } if (action.getShortcutCombination() != null) { actions.put(createShortcutAction(action), action); } actionList.add(index, action); action.addPropertyChangeListener(actionPropertyChangeListener); }
@Override public void addAction(Action action) { checkNotNullArgument(action, "action must be non null"); actionsHolder.addAction(action); actionsPermissions.apply(action); // force update of actions on client side if (action.getShortcutCombination() != null) { component.markAsDirty(); } }
public void addAction(@Nullable Action oldAction, Action newAction) { KeyCombination newShortcut = newAction.getShortcutCombination(); if (newShortcut != null) { if (oldAction != null) { KeyCombination oldShortcut = oldAction.getShortcutCombination(); if (newShortcut.equals(oldShortcut)) { removeShortcut(oldAction); } else if (oldShortcut != null) { removeShortcut(oldAction); // find and assign alternative addAlternativeShortcut(oldShortcut); } } addShortcut(newAction.getId(), newShortcut); } else { if (oldAction != null) { KeyCombination oldShortcut = oldAction.getShortcutCombination(); if (oldShortcut != null) { removeShortcut(oldAction); // find and assign alternative addAlternativeShortcut(oldShortcut); } } } }
protected Action getEnterAction() { for (Action action : getActions()) { KeyCombination kc = action.getShortcutCombination(); if (kc != null) { if ((kc.getModifiers() == null || kc.getModifiers().length == 0) && kc.getKey() == KeyCombination.Key.ENTER) { return action; } } } return null; }
@Override public void addAction(Action action, int index) { checkNotNullArgument(action, "action must be non null"); actionsHolder.addAction(action, index); actionsPermissions.apply(action); // force update of actions on client side if (action.getShortcutCombination() != null) { component.markAsDirty(); } }
protected Action getEnterAction() { for (Action action : getActions()) { KeyCombination kc = action.getShortcutCombination(); if (kc != null) { if ((kc.getModifiers() == null || kc.getModifiers().length == 0) && kc.getKey() == KeyCombination.Key.ENTER) { return action; } } } return null; }
private void addShortcut(final String actionId, KeyCombination keyCombination) { if (!allowEnterShortcut && (keyCombination.getModifiers() == null || keyCombination.getModifiers().length == 0) && keyCombination.getKey() == KeyCombination.Key.ENTER) { return; } for (Action oldAction : getActions()) { if (keyCombination.equals(oldAction.getShortcutCombination())) { removeShortcut(oldAction); } } shortcuts.put(actionId, attachShortcut(actionId, keyCombination)); }
protected com.vaadin.event.ShortcutAction createShortcutAction(com.haulmont.cuba.gui.components.Action action) { KeyCombination keyCombination = action.getShortcutCombination(); if (keyCombination != null) { return new com.vaadin.event.ShortcutAction( action.getCaption(), keyCombination.getKey().getCode(), KeyCombination.Modifier.codes(keyCombination.getModifiers()) ); } else { return null; } }
if (description == null && action.getShortcutCombination() != null) { description = action.getShortcutCombination().format();
protected void setPickerButtonAction(CubaButton button, Action action) { String description = action.getDescription(); if (description == null && action.getShortcutCombination() != null) { description = action.getShortcutCombination().format(); } if (description != null) { button.setDescription(description); } button.setEnabled(action.isEnabled()); button.setVisible(action.isVisible()); if (action.getIcon() != null) { setPickerButtonIcon(button, action.getIcon()); } AppUI ui = AppUI.getCurrent(); if (ui != null && ui.isTestMode()) { button.setCubaId(action.getId()); } action.addPropertyChangeListener(actionPropertyChangeListener); button.setClickHandler(event -> { this.focus(); action.actionPerform(this); }); }
protected void setPopupButtonAction(CubaButton button, Action action) { button.setCaption(action.getCaption()); String description = action.getDescription(); if (description == null && action.getShortcutCombination() != null) { description = action.getShortcutCombination().format(); } if (description != null) { button.setDescription(description); } button.setEnabled(action.isEnabled()); button.setVisible(action.isVisible()); if (showActionIcons) { setPopupButtonIcon(button, action.getIcon()); } else { setPopupButtonIcon(button, null); } action.addPropertyChangeListener(actionPropertyChangeListener); button.setClickHandler(mouseEventDetails -> { this.focus(); if (isAutoClose()) { this.component.setPopupVisible(false); } action.actionPerform(this); }); }
protected void setContextMenuButtonAction(CubaButton button, Action action) { setContextMenuButtonIcon(button, showIconsForPopupMenuActions ? action.getIcon() : null); setContextMenuButtonCaption(button, action.getCaption(), action.getShortcutCombination()); button.setDescription(action.getDescription()); button.setEnabled(action.isEnabled()); button.setVisible(action.isVisible()); action.addPropertyChangeListener(actionPropertyChangeListener); button.setClickHandler(event -> { beforeContextMenuButtonHandlerPerformed(); action.actionPerform(WebAbstractActionsHolderComponent.this); }); }