Java 类org.eclipse.ui.keys.IBindingService 实例源码

项目:Hydrograph    文件:HotKeyUtil.java   
public static KeyStroke getHotKey(String commondID) throws ParseException {
    IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class);
    if (bindingService != null) {
        TriggerSequence trigger = bindingService.getBestActiveBindingFor(commondID);
        if (trigger != null) {
            Trigger[] tiggers = trigger.getTriggers();
            if (tiggers.length > 0) {
                Trigger tigger = tiggers[0];
                if (tigger instanceof KeyStroke) {
                    return (KeyStroke) tigger;
                }
            }
        }
    }
    return KeyStroke.getInstance("Ctrl+Space");
}
项目:team-explorer-everywhere    文件:ModernActionKeyBindingSupport.java   
private ModernActionKeyBindingSupport(
    final IAdaptable serviceLocator,
    final Expression expression,
    final int sourcePriorities) {
    Check.notNull(serviceLocator, "serviceLocator"); //$NON-NLS-1$
    Check.notNull(expression, "expression"); //$NON-NLS-1$

    bindingService = (IBindingService) serviceLocator.getAdapter(IBindingService.class);
    handlerService = (IHandlerService) serviceLocator.getAdapter(IHandlerService.class);

    if (bindingService == null || handlerService == null) {
        throw new IllegalArgumentException(
            "specified IAdapable could not provide IBindingService or IHandlerService"); //$NON-NLS-1$
    }

    this.expression = expression;
    this.sourcePriorities = sourcePriorities;
}
项目:Notepad4e    文件:NotepadView.java   
/**
 * Returns key binding as a String for a given ShortcutCommand.
 * 
 * @param shortcut
 * @return
 */
private String getShortcutDescription(String commandID) {
    Binding bestBinding = null;
    for (Binding binding : getViewSite().getService(IBindingService.class).getBindings()) {
        if (binding.getParameterizedCommand() != null
                && commandID.equals(binding.getParameterizedCommand().getId())) {
            if (bestBinding == null) {
                bestBinding = binding;
            } else if (binding.getType() == Binding.USER) {
                // Give higher priority to a user type binding (user has overriden default).
                bestBinding = binding;
                break;
            }
        }
    }
    return bestBinding == null ? "" : " " + bestBinding.getTriggerSequence().format();
}
项目:APICloud-Studio    文件:KeyBindingHelper.java   
public static boolean matchesKeybinding(int keyCode, int stateMask, String commandId)
{
    final IBindingService bindingSvc = (IBindingService) PlatformUI.getWorkbench()
            .getAdapter(IBindingService.class);
    TriggerSequence[] activeBindingsFor = bindingSvc.getActiveBindingsFor(commandId);

    for (TriggerSequence seq : activeBindingsFor)
    {
        if (seq instanceof KeySequence)
        {
            if (matchesKeybinding(keyCode, stateMask, seq))
            {
                return true;
            }
        }
    }

    return false;
}
项目:APICloud-Studio    文件:KeyBindingHelper.java   
public static void handleEvent(Event e)
{
    IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);

    Listener keyDownFilter = ((BindingService) bindingService).getKeyboard().getKeyDownFilter();
    boolean enabled = bindingService.isKeyFilterEnabled();
    Control focusControl = e.display.getFocusControl();
    try
    {
        bindingService.setKeyFilterEnabled(true);
        keyDownFilter.handleEvent(e);
    }
    finally
    {
        if (focusControl == e.display.getFocusControl()) // $codepro.audit.disable useEquals
        {
            bindingService.setKeyFilterEnabled(enabled);
        }
    }
}
项目:Eclipse-Postfix-Code-Completion    文件:CodeAssistAdvancedConfigurationBlock.java   
private static String getKeyboardShortcut(ParameterizedCommand command) {
    IBindingService bindingService= (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);
    fgLocalBindingManager.setBindings(bindingService.getBindings());
    try {
        Scheme activeScheme= bindingService.getActiveScheme();
        if (activeScheme != null)
            fgLocalBindingManager.setActiveScheme(activeScheme);
    } catch (NotDefinedException e) {
        JavaPlugin.log(e);
    }

    TriggerSequence[] bindings= fgLocalBindingManager.getActiveBindingsDisregardingContextFor(command);
    if (bindings.length > 0)
        return bindings[0].format();
    return null;
}
项目:translationstudio8    文件:KeyAssistHandler.java   
public Object execute(ExecutionEvent event) throws ExecutionException {
    final IWorkbench workbench = PlatformUI.getWorkbench();
    IBindingService bindingService = (IBindingService) workbench.getService(IBindingService.class);
    BindingService service = (BindingService) bindingService;
    ArrayList<Binding> lstBinding = new ArrayList<Binding>(Arrays.asList(bindingService.getBindings()));
    List<String> lstRemove = Constants.lstRemove;
    Iterator<Binding> it = lstBinding.iterator();
    while (it.hasNext()) {
        Binding binding = it.next();
        ParameterizedCommand pCommand = binding.getParameterizedCommand();
        if (pCommand == null || lstRemove.contains(pCommand.getCommand().getId())) {
            it.remove();
        }
    }
    service.getKeyboard().openKeyAssistShell(lstBinding);
    return null;
}
项目:translationstudio8    文件:KeyController2.java   
private static BindingManager loadModelBackend(IServiceLocator locator) {
    IBindingService bindingService = (IBindingService) locator.getService(IBindingService.class);
    BindingManager bindingManager = new BindingManager(new ContextManager(), new CommandManager());
    final Scheme[] definedSchemes = bindingService.getDefinedSchemes();
    try {
        Scheme modelActiveScheme = null;
        for (int i = 0; i < definedSchemes.length; i++) {
            final Scheme scheme = definedSchemes[i];
            final Scheme copy = bindingManager.getScheme(scheme.getId());
            copy.define(scheme.getName(), scheme.getDescription(), scheme.getParentId());
            if (definedSchemes[i] == bindingService.getActiveScheme()) {
                modelActiveScheme = copy;
            }
        }
        bindingManager.setActiveScheme(modelActiveScheme);
    } catch (final NotDefinedException e) {
        StatusManager.getManager()
                .handle(new Status(IStatus.WARNING, WorkbenchPlugin.PI_WORKBENCH,
                        "Keys page found an undefined scheme", e)); //$NON-NLS-1$
    }
    bindingManager.setLocale(bindingService.getLocale());
    bindingManager.setPlatform(bindingService.getPlatform());
    bindingManager.setBindings(bindingService.getBindings());
    return bindingManager;
}
项目:translationstudio8    文件:KeyController2.java   
/**
 * Sets the bindings to default.
 * @param bindingService
 * @throws NotDefinedException
 */
public void setDefaultBindings(IBindingService bindingService, List<String> lstRemove) throws NotDefinedException {
    // Fix the scheme in the local changes.
    final String defaultSchemeId = bindingService.getDefaultSchemeId();
    final Scheme defaultScheme = fBindingManager.getScheme(defaultSchemeId);
    try {
        fBindingManager.setActiveScheme(defaultScheme);
    } catch (final NotDefinedException e) {
        // At least we tried....
    }

    // Restore any User defined bindings
    Binding[] bindings = fBindingManager.getBindings();
    for (int i = 0; i < bindings.length; i++) {
        ParameterizedCommand pCommand = bindings[i].getParameterizedCommand();
        String commandId = null;
        if (pCommand != null) {
            commandId = pCommand.getCommand().getId();
        }
        if (bindings[i].getType() == Binding.USER || (commandId != null && lstRemove.contains(commandId))) {
            fBindingManager.removeBinding(bindings[i]);
        }
    }
    bindingModel.refresh(contextModel, lstRemove);
    saveBindings(bindingService);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:CodeAssistAdvancedConfigurationBlock.java   
private static String getKeyboardShortcut(ParameterizedCommand command) {
    IBindingService bindingService= (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);
    fgLocalBindingManager.setBindings(bindingService.getBindings());
    try {
        Scheme activeScheme= bindingService.getActiveScheme();
        if (activeScheme != null)
            fgLocalBindingManager.setActiveScheme(activeScheme);
    } catch (NotDefinedException e) {
        JavaPlugin.log(e);
    }

    TriggerSequence[] bindings= fgLocalBindingManager.getActiveBindingsDisregardingContextFor(command);
    if (bindings.length > 0)
        return bindings[0].format();
    return null;
}
项目:show-shortcuts    文件:Activator.java   
private String getFormattedShortcut(String commandId, Event trigger) {
    IPreferenceStore store = getPreferenceStore();

    int accelerator = SWTKeySupport.convertEventToUnmodifiedAccelerator(trigger);
    KeyStroke keyStroke = SWTKeySupport.convertAcceleratorToKeyStroke(accelerator);

    if (KeyStroke.NO_KEY != keyStroke.getNaturalKey()) {
        if (store.getBoolean(PREF_KEY_SHORTCUTS_ENABLED)) {
            String formattedStroke = SWTKeySupport.getKeyFormatterForPlatform().format(keyStroke);
            if (debug && debugTrace != null) {
                debugTrace.trace(DEBUG_PATH, "Formatted stroke is: " + formattedStroke); //$NON-NLS-1$
            }
            return formattedStroke;
        } else { // keystroke found, but we're disabled
            return null;
        }
    }

    else if (store.getBoolean(PREF_KEY_MOUSE_TRIGGER_ENABLED)) {
        IBindingService bindingService = (IBindingService) getWorkbench().getService(IBindingService.class);
        return bindingService.getBestActiveBindingFormattedFor(commandId);
    }

    return null;
}
项目:tmxeditor8    文件:KeyController2.java   
private static BindingManager loadModelBackend(IServiceLocator locator) {
    IBindingService bindingService = (IBindingService) locator.getService(IBindingService.class);
    BindingManager bindingManager = new BindingManager(new ContextManager(), new CommandManager());
    final Scheme[] definedSchemes = bindingService.getDefinedSchemes();
    try {
        Scheme modelActiveScheme = null;
        for (int i = 0; i < definedSchemes.length; i++) {
            final Scheme scheme = definedSchemes[i];
            final Scheme copy = bindingManager.getScheme(scheme.getId());
            copy.define(scheme.getName(), scheme.getDescription(), scheme.getParentId());
            if (definedSchemes[i] == bindingService.getActiveScheme()) {
                modelActiveScheme = copy;
            }
        }
        bindingManager.setActiveScheme(modelActiveScheme);
    } catch (final NotDefinedException e) {
        StatusManager.getManager()
                .handle(new Status(IStatus.WARNING, WorkbenchPlugin.PI_WORKBENCH,
                        "Keys page found an undefined scheme", e)); //$NON-NLS-1$
    }
    bindingManager.setLocale(bindingService.getLocale());
    bindingManager.setPlatform(bindingService.getPlatform());
    bindingManager.setBindings(bindingService.getBindings());
    return bindingManager;
}
项目:tmxeditor8    文件:KeyController2.java   
/**
 * Sets the bindings to default.
 * @param bindingService
 * @throws NotDefinedException
 */
public void setDefaultBindings(IBindingService bindingService, List<String> lstRemove) throws NotDefinedException {
    // Fix the scheme in the local changes.
    final String defaultSchemeId = bindingService.getDefaultSchemeId();
    final Scheme defaultScheme = fBindingManager.getScheme(defaultSchemeId);
    try {
        fBindingManager.setActiveScheme(defaultScheme);
    } catch (final NotDefinedException e) {
        // At least we tried....
    }

    // Restore any User defined bindings
    Binding[] bindings = fBindingManager.getBindings();
    for (int i = 0; i < bindings.length; i++) {
        ParameterizedCommand pCommand = bindings[i].getParameterizedCommand();
        String commandId = null;
        if (pCommand != null) {
            commandId = pCommand.getCommand().getId();
        }
        if (bindings[i].getType() == Binding.USER || (commandId != null && lstRemove.contains(commandId))) {
            fBindingManager.removeBinding(bindings[i]);
        }
    }
    bindingModel.refresh(contextModel, lstRemove);
    saveBindings(bindingService);
}
项目:tmxeditor8    文件:KeyAssistHandler.java   
public Object execute(ExecutionEvent event) throws ExecutionException {
    final IWorkbench workbench = PlatformUI.getWorkbench();
    IBindingService bindingService = (IBindingService) workbench.getService(IBindingService.class);
    BindingService service = (BindingService) bindingService;
    ArrayList<Binding> lstBinding = new ArrayList<Binding>(Arrays.asList(bindingService.getBindings()));
    List<String> lstRemove = Constants.lstRemove;
    Iterator<Binding> it = lstBinding.iterator();
    while (it.hasNext()) {
        Binding binding = it.next();
        ParameterizedCommand pCommand = binding.getParameterizedCommand();
        if (pCommand == null || lstRemove.contains(pCommand.getCommand().getId())) {
            it.remove();
        }
    }
    service.getKeyboard().openKeyAssistShell(lstBinding);
    return null;
}
项目:tmxeditor8    文件:KeyController2.java   
private static BindingManager loadModelBackend(IServiceLocator locator) {
    IBindingService bindingService = (IBindingService) locator.getService(IBindingService.class);
    BindingManager bindingManager = new BindingManager(new ContextManager(), new CommandManager());
    final Scheme[] definedSchemes = bindingService.getDefinedSchemes();
    try {
        Scheme modelActiveScheme = null;
        for (int i = 0; i < definedSchemes.length; i++) {
            final Scheme scheme = definedSchemes[i];
            final Scheme copy = bindingManager.getScheme(scheme.getId());
            copy.define(scheme.getName(), scheme.getDescription(), scheme.getParentId());
            if (definedSchemes[i] == bindingService.getActiveScheme()) {
                modelActiveScheme = copy;
            }
        }
        bindingManager.setActiveScheme(modelActiveScheme);
    } catch (final NotDefinedException e) {
        StatusManager.getManager()
                .handle(new Status(IStatus.WARNING, WorkbenchPlugin.PI_WORKBENCH,
                        "Keys page found an undefined scheme", e)); //$NON-NLS-1$
    }
    bindingManager.setLocale(bindingService.getLocale());
    bindingManager.setPlatform(bindingService.getPlatform());
    bindingManager.setBindings(bindingService.getBindings());
    return bindingManager;
}
项目:tmxeditor8    文件:KeyController2.java   
/**
 * Sets the bindings to default.
 * @param bindingService
 * @throws NotDefinedException
 */
public void setDefaultBindings(IBindingService bindingService, List<String> lstRemove) throws NotDefinedException {
    // Fix the scheme in the local changes.
    final String defaultSchemeId = bindingService.getDefaultSchemeId();
    final Scheme defaultScheme = fBindingManager.getScheme(defaultSchemeId);
    try {
        fBindingManager.setActiveScheme(defaultScheme);
    } catch (final NotDefinedException e) {
        // At least we tried....
    }

    // Restore any User defined bindings
    Binding[] bindings = fBindingManager.getBindings();
    for (int i = 0; i < bindings.length; i++) {
        ParameterizedCommand pCommand = bindings[i].getParameterizedCommand();
        String commandId = null;
        if (pCommand != null) {
            commandId = pCommand.getCommand().getId();
        }
        if (bindings[i].getType() == Binding.USER || (commandId != null && lstRemove.contains(commandId))) {
            fBindingManager.removeBinding(bindings[i]);
        }
    }
    bindingModel.refresh(contextModel, lstRemove);
    saveBindings(bindingService);
}
项目:tmxeditor8    文件:ShieldStartup.java   
public void earlyStartup() {
    final IWorkbench workbench = PlatformUI.getWorkbench();
    workbench.getDisplay().asyncExec(new Runnable() {

        public void run() {
            // 在工作台初始化后,移除平台默认的 scheme
            IBindingService bindingService = (IBindingService) workbench.getService(IBindingService.class);

            Scheme[] schemes = bindingService.getDefinedSchemes();
            for (int i = 0; i < schemes.length; i++) {
                String id = schemes[i].getId();
                if (id.equals(platformDefaultScheme) || id.equals(platformEmacsScheme)) {
                    schemes[i].undefine();
                }
            }
        }
    });
}
项目:e4macs    文件:KbdMacroLoadHandler.java   
/**
 * Bind the loaded macro to its previous key binding, removing any conflicts
 * 
 * @param editor
 * @param command - the new kbd macro command
 * @param sequence - key sequence for binding
 * @param previous - conflicting binding
 */
private void bindMacro(ITextEditor editor, Command command, KeySequence sequence, Binding previous) {
    if (command != null && sequence != null) {

        IBindingService service = (editor != null) ? (IBindingService) editor.getSite().getService(IBindingService.class) :
            (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class);
        if (service instanceof  BindingService) {
            BindingService bindingMgr = (BindingService) service;
            if (previous != null) {
                bindingMgr.removeBinding(previous);
            }
            ParameterizedCommand p = new ParameterizedCommand(command, null);
            Binding binding = new KeyBinding(sequence, p,
                    KBD_SCHEMEID, KBD_CONTEXTID, null, null, null, Binding.USER);
            bindingMgr.addBinding(binding);
            // check for conflicts independent of the current Eclipse context
            checkConflicts(bindingMgr,sequence,binding);
        }
    }               
}
项目:e4macs    文件:KbdMacroSupport.java   
/**
 * Check for a binding that is not a full command and was not handled by the minibuffer
 * Remove the partial binding and add the command id entry
 * 
 * @param cmdId
 * @param trigger
 * @param onExit - it is the endMacro command, ignore id entry
 */

void checkTrigger(String cmdId, Map<?,?> parameters, Event trigger, boolean onExit) {
    int index = macro.size() -1;
    if (!macro.isEmpty() && trigger != null && macro.get(index).isSubCmd()) {
        Event event = macro.get(index).getEvent();
        // have trigger and previous entry is a subCmd type 
        KeyStroke key = KeyStroke.getInstance(event.stateMask, Character.toUpperCase(event.keyCode));
        IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class);
        Collection<Binding> values = EmacsPlusUtils.getPartialMatches(bindingService,KeySequence.getInstance(key)).values();
        // Check partial binding
        for (Binding v : values) {
            if (cmdId.equals((v.getParameterizedCommand().getId()))) {
                // remove (possibly partial) binding
                macro.remove(index);
                // flag for minibuffer exit
                macro.add(new KbdEvent(true));
                break;
            }
        }
    }
    if (!onExit) {
        macro.add(new KbdEvent(cmdId, parameters));
    }
}
项目:Pydev    文件:KeyBindingHelper.java   
public static boolean matchesKeybinding(int keyCode, int stateMask, String commandId) {
    final IBindingService bindingSvc = PlatformUI.getWorkbench()
            .getAdapter(IBindingService.class);
    TriggerSequence[] activeBindingsFor = bindingSvc.getActiveBindingsFor(commandId);

    for (TriggerSequence seq : activeBindingsFor) {
        if (seq instanceof KeySequence) {
            KeySequence keySequence = (KeySequence) seq;
            if (matchesKeybinding(keyCode, stateMask, keySequence)) {
                return true;
            }
        }
    }

    return false;
}
项目:n4js    文件:WorkspaceWizardPage.java   
/**
 * Returns the active key binding for content assist.
 *
 * If no binding is set null is returned.
 */
private KeyStroke getActiveContentAssistBinding() {
    IBindingService bindingService = PlatformUI.getWorkbench().getService(IBindingService.class);
    TriggerSequence[] activeBindingsFor = bindingService
            .getActiveBindingsFor(CONTENT_ASSIST_ECLIPSE_COMMAND_ID);

    if (activeBindingsFor.length > 0 && activeBindingsFor[0] instanceof KeySequence) {
        KeyStroke[] strokes = ((KeySequence) activeBindingsFor[0]).getKeyStrokes();
        if (strokes.length == 1) {
            return strokes[0];
        }
    }
    return null;
}
项目:Hydrograph    文件:ComponentSearchUtility.java   
public ComponentSearchUtility() {
    proposalList = new ArrayList<IContentProposal>();
    Object service = PlatformUI.getWorkbench().getService(IBindingService.class);
    if (service != null && service instanceof IBindingService) {
        bindingService = (IBindingService) service;
        isKeyFilterEnabled = bindingService.isKeyFilterEnabled();
    }
}
项目:workspacemechanic    文件:KbaBootstrapper.java   
KbaBootstrapper(
    final MechanicLog log,
    final IBindingService bindingService,
    final String currentPlatform) {
  this.log = log;
  this.bindingService = bindingService;
  this.currentPlatform = currentPlatform;
}
项目:workspacemechanic    文件:KeyboardBindingsTask.java   
KeyboardBindingsTask(
    MechanicLog log,
    IWorkbench workbench,
    ICommandService commandService,
    IBindingService bindingService,
    KeyBindingsModel model,
    String id) {
  this.log = log;
  this.workbench = workbench;
  this.commandService = commandService;
  this.bindingService = bindingService;
  this.model = Preconditions.checkNotNull(model);
  this.id = id;
}
项目:typescript.java    文件:RenameInformationPopup.java   
/**
 * WARNING: only works in workbench window context!
 * @return the keybinding for Refactor &gt; Rename
 */
private static String getOpenDialogBinding() {
    IBindingService bindingService= PlatformUI.getWorkbench().getAdapter(IBindingService.class);
    if (bindingService == null)
        return ""; //$NON-NLS-1$
    String binding= bindingService.getBestActiveBindingFormattedFor(ITypeScriptEditorActionDefinitionIds.RENAME_ELEMENT);
    return binding == null ? "" : binding; //$NON-NLS-1$
}
项目:bts    文件:RepeatedContentAssistProcessor.java   
protected String getStatusMessage() {
    String binding = "<binding>";
    if (workbench != null) {
        IBindingService bindingService = (IBindingService) workbench.getAdapter(IBindingService.class);
        binding = bindingService.getBestActiveBindingFormattedFor(IWorkbenchCommandConstants.EDIT_CONTENT_ASSIST);
    }
    String category = getModeAwareProposalProvider().getNextCategory();
    return binding + " to show " + category;
}
项目:bts    文件:RenameRefactoringPopup.java   
/**
 * WARNING: only works in workbench window context!
 * 
 * @return the keybinding for Refactor &gt; Rename
 */
protected static String getOpenDialogBinding() {
    IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);
    if (bindingService == null)
        return ""; //$NON-NLS-1$
    String binding = bindingService
            .getBestActiveBindingFormattedFor("org.eclipse.xtext.ui.refactoring.RenameElement");
    return binding == null ? "" : binding; //$NON-NLS-1$
}
项目:KaiZen-OpenAPI-Editor    文件:QuickOutline.java   
public QuickOutline(Shell parent, JsonEditor editor, String fileContentType) {
      super(parent, PopupDialog.INFOPOPUPRESIZE_SHELLSTYLE, true, true, true, true, true, null, null);
this.fileContentType = fileContentType;

      IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);
      this.bindingKey = bindingService.getBestActiveBindingFormattedFor(COMMAND_ID);
      this.triggerSequence = bindingService.getBestActiveBindingFor(COMMAND_ID);
      this.editor = editor;

      setInfoText(statusMessage());
      create();
  }
项目:KaiZen-OpenAPI-Editor    文件:JsonContentAssistProcessor.java   
protected String[] initTextMessages(Model model) {
    IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);
    String bindingKey = bindingService.getBestActiveBindingFormattedFor(EDIT_CONTENT_ASSIST);
        ContextType contextType = referenceProposalProvider.getContextTypes().get(model, getCurrentPath());
    String context = contextType != null ? contextType.label() : "";

    return new String[] { //
            String.format(Messages.content_assist_proposal_project, bindingKey, context),
            String.format(Messages.content_assist_proposal_workspace, bindingKey, context),
            String.format(Messages.content_assist_proposal_local, bindingKey, context) };
}
项目: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    文件:RenameInformationPopup.java   
/**
 * WARNING: only works in workbench window context!
 * @return the keybinding for Refactor &gt; Rename
 */
private static String getOpenDialogBinding() {
    IBindingService bindingService= (IBindingService)PlatformUI.getWorkbench().getAdapter(IBindingService.class);
    if (bindingService == null)
        return ""; //$NON-NLS-1$
    String binding= bindingService.getBestActiveBindingFormattedFor(IJavaEditorActionDefinitionIds.RENAME_ELEMENT);
    return binding == null ? "" : binding; //$NON-NLS-1$
}
项目:Eclipse-Postfix-Code-Completion    文件:OpenViewActionGroup.java   
private String getShowInMenuLabel() {
    String keyBinding= null;

    IBindingService bindingService= (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);
    if (bindingService != null)
        keyBinding= bindingService.getBestActiveBindingFormattedFor(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_QUICK_MENU);

    if (keyBinding == null)
        keyBinding= ""; //$NON-NLS-1$

    return ActionMessages.OpenViewActionGroup_showInAction_label + '\t' + keyBinding;
}
项目:Eclipse-Postfix-Code-Completion    文件:ContentAssistProcessor.java   
private KeySequence getIterationBinding() {
   final IBindingService bindingSvc= (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);
TriggerSequence binding= bindingSvc.getBestActiveBindingFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
if (binding instanceof KeySequence)
    return (KeySequence) binding;
return null;
  }
项目:Eclipse-Postfix-Code-Completion    文件:CorrectionCommandHandler.java   
public static String getShortCutString(String proposalId) {
    if (proposalId != null) {
        IBindingService bindingService= (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);
        if (bindingService != null) {
            TriggerSequence[] activeBindingsFor= bindingService.getActiveBindingsFor(proposalId);
            if (activeBindingsFor.length > 0) {
                return activeBindingsFor[0].format();
            }
        }
    }
    return null;
}
项目:translationstudio8    文件:TmMatchEditDialog.java   
/**
 * Create the dialog.
 * @param parentShell
 */
public TmMatchEditDialog(Shell parentShell, FuzzySearchResult fuzzyResult) {
    super(parentShell);
    this.fuzzyResult = fuzzyResult;
    setShellStyle(getShellStyle() | SWT.RESIZE);
    IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class);
    bindingService.setKeyFilterEnabled(false);
}
项目:translationstudio8    文件:TmMatchEditDialog.java   
@Override
public boolean close() {
    IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class);
    bindingService.setKeyFilterEnabled(true);
    srcSegmentViewer.reset();
    tgtSegmentViewer.reset();
    return super.close();
}
项目:translationstudio8    文件:KeysPreferencePage.java   
public void init(IWorkbench workbench) {
    keyController = new KeyController2();
    keyController.init(workbench, lstRemove);
    model = keyController.getBindingModel();

    commandService = (ICommandService) workbench.getService(ICommandService.class);
    Collection definedCommandIds = commandService.getDefinedCommandIds();

    fDefaultCategory = commandService.getCategory(null);
    fBindingService = (IBindingService) workbench.getService(IBindingService.class);

    commandImageService = (ICommandImageService) workbench.getService(ICommandImageService.class);
}
项目:translationstudio8    文件:KeyController2.java   
@SuppressWarnings("restriction")
public void filterDupliteBind(){
    IWorkbench workbench = PlatformUI.getWorkbench();
    IBindingService bindingService = (IBindingService) workbench.getService(IBindingService.class);
    BindingService service =(BindingService)bindingService;
    BindingManager bindingManager = service.getBindingManager();
    //service.getBindingManager().
    Binding[] bindings = bindingManager.getBindings();
     List<Binding> bindTemp = new ArrayList<Binding>();
     List<String> ids = new ArrayList<String>();
     for(Binding bind : bindings){
        if(null ==bind){
            continue;
        }
        ParameterizedCommand command = bind.getParameterizedCommand();
        if(null == command){
            continue;
        }
        String id = command.getId();
        if(!ids.contains(id)){
            ids.add(id);
            bindTemp.add(bind);
        }
    }

     bindingManager.setBindings(bindTemp.toArray(new Binding[ids.size()]));
}
项目:translationstudio8    文件:KeyController2.java   
/**
 * Replaces all the current bindings with the bindings in the local copy of the binding manager.
 * @param bindingService
 *            The binding service that saves the changes made to the local copy of the binding manager
 */
public void saveBindings(IBindingService bindingService) {
    try {
        bindingService.savePreferences(fBindingManager.getActiveScheme(), fBindingManager.getBindings());
    } catch (IOException e) {
        logPreferenceStoreException(e);
    }
}