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"); }
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; }
/** * 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(); }
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; }
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); } } }
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; }
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; }
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; }
/** * 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); }
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; }
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(); } } } }); }
/** * 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); } } }
/** * 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)); } }
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; }
/** * 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; }
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(); } }
KbaBootstrapper( final MechanicLog log, final IBindingService bindingService, final String currentPlatform) { this.log = log; this.bindingService = bindingService; this.currentPlatform = currentPlatform; }
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; }
/** * WARNING: only works in workbench window context! * @return the keybinding for Refactor > 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$ }
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; }
/** * WARNING: only works in workbench window context! * * @return the keybinding for Refactor > 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$ }
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(); }
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) }; }
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(); } }
/** * WARNING: only works in workbench window context! * @return the keybinding for Refactor > 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$ }
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; }
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; }
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; }
/** * 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); }
@Override public boolean close() { IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); bindingService.setKeyFilterEnabled(true); srcSegmentViewer.reset(); tgtSegmentViewer.reset(); return super.close(); }
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); }
@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()])); }
/** * 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); } }