private Action addAction( ActionFactory actionFactory, int textOperation, String actionDefinitionId) { IWorkbenchWindow window = getEditorSite().getWorkbenchWindow(); IWorkbenchAction globalAction = actionFactory.create(window); // Create our text action. QueryViewAction action = new QueryViewAction(textOperation, actionDefinitionId); actions.put(actionFactory.getId(), action); // Copy its properties from the global action. action.setText(globalAction.getText()); action.setToolTipText(globalAction.getToolTipText()); action.setDescription(globalAction.getDescription()); action.setImageDescriptor(globalAction.getImageDescriptor()); action.setDisabledImageDescriptor(globalAction.getDisabledImageDescriptor()); action.setAccelerator(globalAction.getAccelerator()); // Register our text action with the global action handler. IActionBars actionBars = getEditorSite().getActionBars(); actionBars.setGlobalActionHandler(actionFactory.getId(), action); return action; }
private void updateActions() { for (QueryViewAction a : actions.values()) a.setEnabled(queryViewer.canDoOperation(a.actionId)); }