Java 类org.eclipse.core.commands.AbstractHandler 实例源码

项目:APICloud-Studio    文件:FindBarActions.java   
private void setFindBarContextActive(boolean activate)
{
    fActivated = activate;
    IWorkbenchPartSite site = textEditor.getSite();
    IHandlerService handlerService = (IHandlerService) site.getService(IHandlerService.class);
    IBindingService service = (IBindingService) site.getService(IBindingService.class);

    if (activate)
    {

        // These will be the only active commands (note that they may have multiple keybindings
        // defined in plugin.xml)
        for (Map.Entry<String, AbstractHandler> entry : fCommandToHandler.entrySet())
        {
            AbstractHandler handler = entry.getValue();
            if (handler != null)
            {
                fHandlerActivations.add(handlerService.activateHandler(entry.getKey(), handler));
            }
        }

        // Yes, no longer execute anything from the binding service (we'll do our own handling so that the commands
        // we need still get executed).
        service.setKeyFilterEnabled(false);

        service.addBindingManagerListener(fClearCommandToBindingOnChangesListener);
    }
    else
    {
        fCommandToBinding = null;
        service.setKeyFilterEnabled(true);

        service.removeBindingManagerListener(fClearCommandToBindingOnChangesListener);
        handlerService.deactivateHandlers(fHandlerActivations);
        fHandlerActivations.clear();
    }
}
项目:Eclipse-Postfix-Code-Completion    文件:JDTQuickMenuCreator.java   
/**
 * Returns a handler that can create and open the quick menu.
 * 
 * @return a handler that can create and open the quick menu
 */
public IHandler createHandler() {
    return new AbstractHandler() {
        public Object execute(ExecutionEvent event) throws ExecutionException {
            createMenu();
            return null;
        }
    };
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:JDTQuickMenuCreator.java   
/**
 * Returns a handler that can create and open the quick menu.
 * 
 * @return a handler that can create and open the quick menu
 */
public IHandler createHandler() {
    return new AbstractHandler() {
        public Object execute(ExecutionEvent event) throws ExecutionException {
            createMenu();
            return null;
        }
    };
}
项目:goclipse    文件:LangEditorActionContributor.java   
protected AbstractHandler getHandler_OpenDefinition() {
    return getEditorHandler((editor) -> {
        OpenNewEditorMode newEditorMode = OpenNewEditorMode.TRY_REUSING_EXISTING;
        SourceRange selection = EditorUtils.getSelectionSR(editor);
        return createOpenDefinitionOperation(editor, selection, newEditorMode);
    });
}
项目:d-case_editor    文件:OpenAttachmentHandler.java   
/**
 * execute {@link OpenUrlHandler} or {@link OpenDefaultEditorHandler}
 * dependent on the type of the selected node's attachment.
 * 
 * @param event ExecutionEvent An event
 * @return result of the execution
 * @throws ExecutionException if an exception occurred during execution OpenUrlHandler or OpenDefaultEditorHandler.
 * @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
 */
public Object execute(ExecutionEvent event) throws ExecutionException {

    GraphicalEditPart editPart = getSelectedElement(event);
    String attachment = null;

    if (editPart == null) {
        DcaseLinkEditPart linkEditPart = DcaseEditorUtil.getFirstCurrentSelectedLink();
        if (linkEditPart != null) {
            BasicLink basicLink = (BasicLink)DcaseEditorUtil.getElement(linkEditPart);
            attachment = basicLink.getAttachment();
        }
    } else {
        BasicNode basicNode = getBasicNode(editPart);
        attachment = basicNode.getAttachment();
    }

    if (attachment != null && attachment.length() > 0) {

        if (isUrl(attachment)) {
            // in the case of uri type, execute OpenUrlHandler.
            AbstractHandler openUrlHandler = new OpenUrlHandler();
            return openUrlHandler.execute(event);
        } else if (ModuleUtil.isWorkspaceReference(attachment)) {
            // in the case of Workspace type, execute OpenDefaultEditorHandler.
            AbstractHandler openDefaultEditorHandler = new OpenDefaultEditorHandler();
            return openDefaultEditorHandler.execute(event);
        } else {
            AbstractHandler openModuleHandler = new OpenModuleHandler();
            return openModuleHandler.execute(event);
        }
    } else {
        MessageWriter.showErrorMessageBox(NLS.bind(Messages.OpenUrlHandler_5, "Attachment")); //$NON-NLS-1$
        return null;
    }
}
项目:gerrit-tools    文件:UseGerritToolsWarningCommand.java   
@Override
protected Object internalExecute(ExecutionEvent event) throws Exception {
    Shell shell = HandlerUtil.getActiveShell(event);

    AbstractHandler original;
    String id = event.getCommand().getId();
    if ("org.eclipse.egit.ui.PushHeadToGerrit".equals(id)) { //$NON-NLS-1$
        original = new PushHeadToGerritCommand();
    } else if ("org.eclipse.egit.ui.FetchGerritChange".equals(id)) { //$NON-NLS-1$
        original = new FetchChangeFromGerritCommand();
    } else {
        return null;
    }

    IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(GerritToolsPlugin.PLUGIN_ID);
    if (!prefs.getBoolean(PREF_SHOW_USE_GERRIT_TOOLS_INFO, true)) {
        return original.execute(event);
    }

    MessageDialogWithToggle dialog = new MessageDialogWithToggle(
            shell, "Use Gerrit Tools", null, null, MessageDialog.INFORMATION, 
            new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL }, 
            0, "Do not show again", false) {

        protected Control createMessageArea(Composite theParent) {
            super.createMessageArea(theParent);
            Link link = new Link(theParent, SWT.WRAP);

            GridDataFactory
                    .fillDefaults()
                    .align(SWT.FILL, SWT.BEGINNING)
                    .grab(true, false)
                    .hint(convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH),
                            SWT.DEFAULT).applyTo(link);

            link.setText("Gerrit Tools provides an improved experience when pushing and fetching from Gerrit. <a>Learn more about using Gerrit Tools.</a>\n\nContinue to the standard EGit action?");

            link.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    try {
                        PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser().openURL(
                                new URL("https://github.com/Genuitec/gerrit-tools/wiki")); //$NON-NLS-1$
                    } catch (Exception e1) {
                        throw new RuntimeException(e1);
                    }
                }});
            return theParent;
        }

    };

    try {
        if (dialog.open() == IDialogConstants.YES_ID) {
            return original.execute(event);
        }
    } finally {
        prefs.putBoolean(PREF_SHOW_USE_GERRIT_TOOLS_INFO, !dialog.getToggleState());
    }
    return null;
}
项目:goclipse    文件:LangEditorActionContributor.java   
protected void activateHandler(String string, AbstractHandler handler) {
    IHandlerActivation handlerActivation = getHandlerService_2().activateHandler(string, handler);
    handlerActivations.add(handlerActivation);
}
项目:goclipse    文件:LangEditorActionContributor.java   
protected AbstractHandler getHandler_GoToMatchingBracket() {
    return new GoToMatchingBracketHandler(getPage());
}
项目:goclipse    文件:LangEditorActionContributor.java   
protected AbstractHandler getHandler_ToggleComment() {
    return new ToggleCommentHandler(getPage());
}
项目:goclipse    文件:LangEditorActionContributor.java   
protected AbstractHandler getHandler_QuickOutline() {
    return new OpenQuickOutlineHandler(getPage());
}