Search in sources :

Example 46 with IHandlerService

use of org.eclipse.ui.handlers.IHandlerService in project netxms by netxms.

the class PredefinedGraphTree method createActions.

/**
 * Create actions
 */
private void createActions() {
    final IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class);
    actionRefresh = new RefreshAction(this) {

        @Override
        public void run() {
            reloadGraphList();
        }
    };
    actionDelete = new Action(Messages.get().PredefinedGraphTree_Delete, SharedIcons.DELETE_OBJECT) {

        @Override
        public void run() {
            deletePredefinedGraph();
        }
    };
    actionOpen = new Action() {

        @SuppressWarnings("rawtypes")
        @Override
        public void run() {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            Iterator it = selection.iterator();
            while (it.hasNext()) {
                Object o = it.next();
                if (o instanceof GraphSettings) {
                    showPredefinedGraph((GraphSettings) o);
                }
            }
        }
    };
    actionOpen.setText(Messages.get().PredefinedGraphTree_Open);
    actionProperties = new Action(Messages.get().PredefinedGraphTree_Properties) {

        @Override
        public void run() {
            editPredefinedGraph();
        }
    };
    actionShowFilter = new Action(Messages.get().PredefinedGraphTree_ShowFilter, Action.AS_CHECK_BOX) {

        @Override
        public void run() {
            enableFilter(!initShowFilter);
            actionShowFilter.setChecked(initShowFilter);
        }
    };
    // $NON-NLS-1$
    actionShowFilter.setId("org.netxms.ui.eclipse.perfview.actions.showFilter");
    actionShowFilter.setChecked(initShowFilter);
    // $NON-NLS-1$
    actionShowFilter.setActionDefinitionId("org.netxms.ui.eclipse.perfview.commands.show_graph_filter");
    final ActionHandler showFilterHandler = new ActionHandler(actionShowFilter);
    handlerService.activateHandler(actionShowFilter.getActionDefinitionId(), showFilterHandler);
}
Also used : RefreshAction(org.netxms.ui.eclipse.actions.RefreshAction) Action(org.eclipse.jface.action.Action) IHandlerService(org.eclipse.ui.handlers.IHandlerService) RefreshAction(org.netxms.ui.eclipse.actions.RefreshAction) GraphSettings(org.netxms.client.datacollection.GraphSettings) Iterator(java.util.Iterator) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ActionHandler(org.eclipse.jface.commands.ActionHandler)

Example 47 with IHandlerService

use of org.eclipse.ui.handlers.IHandlerService in project netxms by netxms.

the class ScheduledTaskView method createActions.

/**
 * Create actions
 */
private void createActions() {
    final IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class);
    actionRefresh = new RefreshAction(this) {

        @Override
        public void run() {
            refresh();
        }
    };
    actionCreate = new Action("New scheduled task...", SharedIcons.ADD_OBJECT) {

        @Override
        public void run() {
            createTask();
        }
    };
    // $NON-NLS-1$
    actionCreate.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.new_task");
    handlerService.activateHandler(actionCreate.getActionDefinitionId(), new ActionHandler(actionCreate));
    actionEdit = new Action("Edit...", SharedIcons.EDIT) {

        @Override
        public void run() {
            editTask();
        }
    };
    // $NON-NLS-1$
    actionEdit.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.edit_task");
    handlerService.activateHandler(actionEdit.getActionDefinitionId(), new ActionHandler(actionEdit));
    actionDelete = new Action("Delete", SharedIcons.DELETE_OBJECT) {

        @Override
        public void run() {
            deleteTask();
        }
    };
    actionDisable = new Action("Disable") {

        @Override
        public void run() {
            setScheduledTaskEnabled(false);
        }
    };
    // $NON-NLS-1$
    actionDisable.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.disable_task");
    handlerService.activateHandler(actionDisable.getActionDefinitionId(), new ActionHandler(actionDisable));
    actionEnable = new Action("Enable") {

        @Override
        public void run() {
            setScheduledTaskEnabled(true);
        }
    };
    // $NON-NLS-1$
    actionEnable.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.enable_task");
    handlerService.activateHandler(actionEnable.getActionDefinitionId(), new ActionHandler(actionEnable));
    actionReschedule = new Action("Reschedule...", SharedIcons.EXECUTE) {

        @Override
        public void run() {
            rescheduleTask();
        }
    };
    // $NON-NLS-1$
    actionReschedule.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.reschedule_task");
    handlerService.activateHandler(actionReschedule.getActionDefinitionId(), new ActionHandler(actionReschedule));
}
Also used : Action(org.eclipse.jface.action.Action) RefreshAction(org.netxms.ui.eclipse.actions.RefreshAction) IHandlerService(org.eclipse.ui.handlers.IHandlerService) RefreshAction(org.netxms.ui.eclipse.actions.RefreshAction) ActionHandler(org.eclipse.jface.commands.ActionHandler)

Example 48 with IHandlerService

use of org.eclipse.ui.handlers.IHandlerService in project netxms by netxms.

the class ExportFileBuilder method createActions.

/**
 * Create actions
 */
private void createActions() {
    final IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class);
    actionSave = new Action(Messages.get().ExportFileBuilder_Save, SharedIcons.SAVE) {

        @Override
        public void run() {
            save();
        }
    };
    // $NON-NLS-1$
    actionSave.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.save_exported_config");
    handlerService.activateHandler(actionSave.getActionDefinitionId(), new ActionHandler(actionSave));
    actionPublish = new Action("&Publish...", Activator.getImageDescriptor("icons/publish.gif")) {

        @Override
        public void run() {
            publish();
        }
    };
    // $NON-NLS-1$
    actionPublish.setActionDefinitionId("org.netxms.ui.eclipse.serverconfig.commands.publish_config");
    handlerService.activateHandler(actionPublish.getActionDefinitionId(), new ActionHandler(actionPublish));
}
Also used : ServerAction(org.netxms.client.ServerAction) Action(org.eclipse.jface.action.Action) IHandlerService(org.eclipse.ui.handlers.IHandlerService) ActionHandler(org.eclipse.jface.commands.ActionHandler)

Example 49 with IHandlerService

use of org.eclipse.ui.handlers.IHandlerService in project eclipse-integration-commons by spring-projects.

the class ExtensionsEditor method createPartControl.

/*
	 * (non-Javadoc)
	 *
	 * @see
	 * org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets
	 * .Composite)
	 */
@Override
public void createPartControl(Composite parent) {
    toolkit = new FormToolkit(parent.getDisplay());
    form = toolkit.createScrolledForm(parent);
    Composite body = form.getBody();
    body.setLayout(new GridLayout(5, false));
    discoveryViewer = new DashboardDiscoveryViewer(getSite(), this);
    initialize(discoveryViewer);
    discoveryViewer.setDirectoryUrl(ResourceProvider.getUrl(RESOURCE_DISCOVERY_DIRECTORY).replace("%VERSION%", IdeUiUtils.getShortVersion()));
    discoveryViewer.setShowConnectorDescriptorKindFilter(false);
    discoveryViewer.createControl(body);
    adaptRecursively(discoveryViewer.getControl(), toolkit);
    GridDataFactory.fillDefaults().span(5, 1).grab(true, true).applyTo(discoveryViewer.getControl());
    findUpdatesButton = toolkit.createButton(body, "&Find Updates", SWT.NONE);
    findUpdatesButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent event) {
            IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class);
            try {
                handlerService.executeCommand("org.eclipse.equinox.p2.ui.sdk.update", new Event());
            } catch (Exception e) {
                StatusManager.getManager().handle(new Status(IStatus.ERROR, IdeUiPlugin.PLUGIN_ID, "Find updates failed with an unexpected error.", e), StatusManager.SHOW | StatusManager.LOG);
            }
        }
    });
    Hyperlink configureLink = toolkit.createHyperlink(body, "Configure Extensions...", SWT.NONE);
    configureLink.addHyperlinkListener(new HyperlinkAdapter() {

        @Override
        public void linkActivated(HyperlinkEvent event) {
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getSite().getShell(), ID_PREFERENCE_PAGE, new String[] { ID_PREFERENCE_PAGE }, null);
            dialog.open();
        }
    });
    progressMonitorPart = new ProgressMonitorPart(body, null);
    monitor.attach(progressMonitorPart);
    progressMonitorPart.addDisposeListener(new DisposeListener() {

        public void widgetDisposed(DisposeEvent e) {
            monitor.setCanceled(true);
            monitor.detach(progressMonitorPart);
        }
    });
    adaptRecursively(progressMonitorPart, toolkit);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(progressMonitorPart);
    // Button refreshButton = toolkit.createButton(body, "Refresh",
    // SWT.NONE);
    // refreshButton.addSelectionListener(new SelectionAdapter() {
    // @Override
    // public void widgetSelected(SelectionEvent e) {
    // pane.updateDiscovery();
    // }
    // });
    cancelButton = toolkit.createButton(body, "&Cancel", SWT.NONE);
    cancelButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            cancelButton.setEnabled(false);
            progressMonitorPart.setCanceled(true);
        }
    });
    installButton = toolkit.createButton(body, "&Install", SWT.NONE);
    installButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            // check for conflicts
            List<ConnectorDescriptor> selection = discoveryViewer.getInstallableConnectors();
            IStatus conflictStatus = new MultiStatus(IdeUiPlugin.PLUGIN_ID, -1, new IStatus[] { checkForConflicts(SVN_FEATURES, " Please select only one SVN team provider.", selection), checkForConflicts(M2E_EXTENSION_IDS, " Please select only one m2e version to install.", selection) }, "Could not perform install due to conflicts.", null);
            if (!conflictStatus.isOK()) {
                StatusManager.getManager().handle(conflictStatus, StatusManager.SHOW | StatusManager.BLOCK);
                return;
            }
            // now, if m2e is going to be installed, ensure that all other
            // versions of m2e are uninstalled first.
            Set<String> featuresToUninstall = chooseUnwantedFeatures(selection);
            if (!featuresToUninstall.isEmpty()) {
                IStatus uninstallResult = uninstallFeatures(featuresToUninstall);
                if (!uninstallResult.isOK()) {
                    if (uninstallResult.getSeverity() != IStatus.CANCEL) {
                        StatusManager.getManager().handle(uninstallResult, StatusManager.SHOW | StatusManager.LOG | StatusManager.BLOCK);
                    }
                    return;
                }
            }
            DiscoveryUi.install(discoveryViewer.getInstallableConnectors(), ExtensionsEditor.this);
        }

        private IStatus uninstallFeatures(final Set<String> featuresToUninstall) {
            String allInstalled = findFeaturesToUninstall(featuresToUninstall, discoveryViewer.getInstalledFeatures());
            if (allInstalled.length() == 0) {
                return Status.OK_STATUS;
            }
            boolean res = MessageDialog.openQuestion(getEditorSite().getShell(), "Perform uninstall?", "In order to switch versions of m2eclipse, the following features will be uninstalled:\n" + allInstalled + "Do you want to continue?");
            if (!res) {
                return Status.CANCEL_STATUS;
            }
            // uninstall previous Maven tooling
            AbstractInstallJob job = DiscoveryUi.createInstallJob();
            try {
                return job.uninstall(new UninstallRequest() {

                    /**
                     * Uninstall all features that are somehow related to
                     * m2eclipse
                     */
                    @Override
                    public boolean select(@SuppressWarnings("rawtypes") InstalledItem item) {
                        String featureId = item.getId();
                        return isRelatedToM2e(featuresToUninstall, featureId);
                    }
                }, new NullProgressMonitor());
            } catch (Exception e) {
                return new Status(IStatus.ERROR, IdeUiPlugin.PLUGIN_ID, NLS.bind("Could not uninstall features:\n{0},\n try uninstalling manually.", featuresToUninstall), e);
            }
        }

        private String findFeaturesToUninstall(Set<String> featuresToUninstall, Set<String> installedFeatures) {
            StringBuilder sb = new StringBuilder();
            for (String featureId : installedFeatures) {
                if (isRelatedToM2e(featuresToUninstall, featureId)) {
                    if (featureId.endsWith(".feature.group")) {
                        featureId = featureId.substring(0, featureId.length() - ".feature.group".length());
                    }
                    sb.append("   " + featureId + "\n");
                }
            }
            return sb.toString();
        }

        private Set<String> chooseUnwantedFeatures(List<ConnectorDescriptor> selection) {
            boolean uninstallOld = false;
            boolean uninstallNew = false;
            for (ConnectorDescriptor feature : selection) {
                // first and vice versa
                if (feature.getId().equals(NEW_M2E_EXTENSION_ID)) {
                    uninstallOld = true;
                } else if (feature.getId().equals(OLD_M2E_EXTENSION_ID)) {
                    uninstallNew = true;
                }
            }
            Set<String> maybeUninstall;
            if (uninstallOld) {
                maybeUninstall = OLD_M2E_FEATURES;
            } else if (uninstallNew) {
                maybeUninstall = NEW_M2E_FEATURES;
            } else {
                maybeUninstall = Collections.emptySet();
            }
            Set<String> installedFeatures = ExtensionsEditor.this.discoveryViewer.getInstalledFeatures();
            Set<String> definitelyUninstall = new HashSet<String>();
            for (String feature : maybeUninstall) {
                if (installedFeatures.contains(feature)) {
                    definitelyUninstall.add(feature);
                }
            }
            if (definitelyUninstall.size() > 0) {
                IdeUiPlugin.log(new Status(IStatus.INFO, IdeUiPlugin.PLUGIN_ID, "To make way for a new version of m2eclipse, we will uninstall these features: " + definitelyUninstall));
            }
            return definitelyUninstall;
        }

        /**
         * This method checks for conflicts with requested installs. If a
         * conflict is found, this method will pop up a dialog explaining
         * the conflict and it will return true.
         *
         * @param featuresToCheck set of features of which only one can be
         * installed at once.
         * @param message message to add if there is an error
         * @param selection
         *
         * @return true iff there is a conflict.
         */
        public IStatus checkForConflicts(Set<String> featuresToCheck, String prependedMessage, List<ConnectorDescriptor> selection) {
            StringBuilder message = new StringBuilder();
            List<ConnectorDescriptor> conflicting = new ArrayList<ConnectorDescriptor>();
            for (ConnectorDescriptor descriptor : selection) {
                if (featuresToCheck.contains(descriptor.getId())) {
                    conflicting.add(descriptor);
                    if (message.length() > 0) {
                        message.append(", ");
                    }
                    message.append(descriptor.getName());
                }
            }
            if (conflicting.size() > 1) {
                return new Status(IStatus.WARNING, IdeUiPlugin.PLUGIN_ID, NLS.bind("The following extensions can not be installed at the same time: {0}.", message.toString()));
            } else {
                return Status.OK_STATUS;
            }
        }
    });
    Display.getCurrent().asyncExec(new Runnable() {

        public void run() {
            if (form != null && !form.isDisposed()) {
                discoveryViewer.updateDiscovery();
            }
        }
    });
    discoveryViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            installButton.setEnabled(discoveryViewer.isComplete());
        }
    });
}
Also used : DisposeListener(org.eclipse.swt.events.DisposeListener) NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) IStatus(org.eclipse.core.runtime.IStatus) HyperlinkEvent(org.eclipse.ui.forms.events.HyperlinkEvent) Set(java.util.Set) HashSet(java.util.HashSet) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) MultiStatus(org.eclipse.core.runtime.MultiStatus) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) DisposeEvent(org.eclipse.swt.events.DisposeEvent) InstalledItem(org.eclipse.mylyn.internal.discovery.ui.InstalledItem) UninstallRequest(org.eclipse.mylyn.internal.discovery.ui.UninstallRequest) GridLayout(org.eclipse.swt.layout.GridLayout) PreferenceDialog(org.eclipse.jface.preference.PreferenceDialog) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ProgressMonitorPart(org.eclipse.jface.wizard.ProgressMonitorPart) List(java.util.List) ArrayList(java.util.ArrayList) MultiStatus(org.eclipse.core.runtime.MultiStatus) IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) PartInitException(org.eclipse.ui.PartInitException) InvocationTargetException(java.lang.reflect.InvocationTargetException) ConnectorDescriptor(org.eclipse.mylyn.internal.discovery.core.model.ConnectorDescriptor) IHandlerService(org.eclipse.ui.handlers.IHandlerService) DisposeEvent(org.eclipse.swt.events.DisposeEvent) HyperlinkEvent(org.eclipse.ui.forms.events.HyperlinkEvent) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) Event(org.eclipse.swt.widgets.Event) SelectionEvent(org.eclipse.swt.events.SelectionEvent) AbstractInstallJob(org.eclipse.mylyn.internal.discovery.ui.AbstractInstallJob) Hyperlink(org.eclipse.ui.forms.widgets.Hyperlink) HyperlinkAdapter(org.eclipse.ui.forms.events.HyperlinkAdapter)

Example 50 with IHandlerService

use of org.eclipse.ui.handlers.IHandlerService in project bndtools by bndtools.

the class BndEditor method setupActions.

private void setupActions() {
    String fileName = getFileAndProject(getEditorInput()).getFirst();
    if (fileName.endsWith(LaunchConstants.EXT_BNDRUN)) {
        final IHandlerService handlerSvc = (IHandlerService) getEditorSite().getService(IHandlerService.class);
        final AbstractHandler handler = new AbstractHandler() {

            @Override
            public Object execute(ExecutionEvent event) throws ExecutionException {
                resolveRunBundles(new NullProgressMonitor(), false);
                return null;
            }
        };
        final IHandlerActivation activation = handlerSvc.activateHandler("bndtools.runEditor.resolve", handler);
        this.resolveJobListener = new JobChangeAdapter() {

            @Override
            public void running(IJobChangeEvent event) {
                if (event.getJob() instanceof ResolveJob)
                    Display.getDefault().asyncExec(() -> handlerSvc.deactivateHandler(activation));
            }

            @Override
            public void done(IJobChangeEvent event) {
                if (event.getJob() instanceof ResolveJob)
                    Display.getDefault().asyncExec(() -> handlerSvc.activateHandler(activation));
            }
        };
        Job.getJobManager().addJobChangeListener(resolveJobListener);
    }
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) IHandlerService(org.eclipse.ui.handlers.IHandlerService) ExecutionEvent(org.eclipse.core.commands.ExecutionEvent) IHandlerActivation(org.eclipse.ui.handlers.IHandlerActivation) JobChangeAdapter(org.eclipse.core.runtime.jobs.JobChangeAdapter) IJobChangeEvent(org.eclipse.core.runtime.jobs.IJobChangeEvent) ResolveJob(org.bndtools.core.resolve.ResolveJob) AbstractHandler(org.eclipse.core.commands.AbstractHandler)

Aggregations

IHandlerService (org.eclipse.ui.handlers.IHandlerService)102 ActionHandler (org.eclipse.jface.commands.ActionHandler)44 Action (org.eclipse.jface.action.Action)41 RefreshAction (org.netxms.ui.eclipse.actions.RefreshAction)25 IEvaluationContext (org.eclipse.core.expressions.IEvaluationContext)18 Command (org.eclipse.core.commands.Command)17 ICommandService (org.eclipse.ui.commands.ICommandService)17 ExecutionEvent (org.eclipse.core.commands.ExecutionEvent)15 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)14 AbstractHandler (org.eclipse.core.commands.AbstractHandler)10 ParameterizedCommand (org.eclipse.core.commands.ParameterizedCommand)9 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)9 SelectionEvent (org.eclipse.swt.events.SelectionEvent)9 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)9 IHandler (org.eclipse.core.commands.IHandler)8 EvaluationContext (org.eclipse.core.expressions.EvaluationContext)8 ArrayList (java.util.ArrayList)7 ExecutionException (org.eclipse.core.commands.ExecutionException)7 IAction (org.eclipse.jface.action.IAction)7 IContextService (org.eclipse.ui.contexts.IContextService)7