List of usage examples for org.eclipse.jface.bindings.keys KeyBinding getKeySequence
public final KeySequence getKeySequence()
From source file:org.csstudio.iter.css.product.util.WorkbenchUtil.java
License:Open Source License
/** * Unbind F11 KeyBinding of org.eclipse.debug.ui to avoid conflict with * org.csstudio.opibuilder plugin//from w w w.j a v a 2 s . co m */ public static void unbindDebugLast() { IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench() .getAdapter(IBindingService.class); BindingManager localChangeManager = new BindingManager(new ContextManager(), new CommandManager()); final Scheme[] definedSchemes = bindingService.getDefinedSchemes(); try { for (int i = 0; i < definedSchemes.length; i++) { final Scheme scheme = definedSchemes[i]; final Scheme copy = localChangeManager.getScheme(scheme.getId()); copy.define(scheme.getName(), scheme.getDescription(), scheme.getParentId()); } localChangeManager.setActiveScheme(bindingService.getActiveScheme()); } catch (final NotDefinedException e) { e.printStackTrace(); } localChangeManager.setLocale(bindingService.getLocale()); localChangeManager.setPlatform(bindingService.getPlatform()); localChangeManager.setBindings(bindingService.getBindings()); KeyBinding opiFullScreenBinding = null; int nbBinding = 0; Binding[] bArray = bindingService.getBindings(); if (bArray != null) { for (Binding binding : bArray) { if (binding instanceof KeyBinding) { KeyBinding kBind = (KeyBinding) binding; if (kBind.getParameterizedCommand() != null && kBind.getParameterizedCommand().getCommand() != null) { if ("org.eclipse.debug.ui.commands.DebugLast" .equals(kBind.getParameterizedCommand().getCommand().getId())) { KeySequence triggerSequence = kBind.getKeySequence(); String contextId = kBind.getContextId(); String schemeId = kBind.getSchemeId(); KeyBinding deleteBinding = new KeyBinding(triggerSequence, null, schemeId, contextId, null, null, null, Binding.USER); localChangeManager.addBinding(deleteBinding); try { bindingService.savePreferences(localChangeManager.getActiveScheme(), localChangeManager.getBindings()); } catch (IOException e) { e.printStackTrace(); } } else if ("org.csstudio.opibuilder.actions.fullscreen" .equals(kBind.getParameterizedCommand().getCommand().getId())) { if (opiFullScreenBinding == null) opiFullScreenBinding = kBind; nbBinding++; } } } } } // Rebind OPI runner full screen command if it exists only one time if (nbBinding == 1) { KeySequence triggerSequence = opiFullScreenBinding.getKeySequence(); String contextId = opiFullScreenBinding.getContextId(); String schemeId = opiFullScreenBinding.getSchemeId(); KeyBinding updateBinding = new KeyBinding(triggerSequence, opiFullScreenBinding.getParameterizedCommand(), schemeId, contextId, null, null, null, Binding.USER); localChangeManager.addBinding(updateBinding); try { bindingService.savePreferences(localChangeManager.getActiveScheme(), localChangeManager.getBindings()); } catch (IOException e) { e.printStackTrace(); } } }
From source file:org.eclipse.oomph.setup.workbench.impl.KeyBindingTaskImpl.java
License:Open Source License
private boolean isEqual(KeyBindingContext keyBindingContext, KeyBinding keyBinding) throws Exception { if (!ObjectUtil.equals(keyBinding.getSchemeId(), getScheme())) { return false; }//from ww w . j a va2 s . c o m if (!ObjectUtil.equals(keyBinding.getContextId(), keyBindingContext.getID())) { return false; } if (!ObjectUtil.equals(keyBinding.getPlatform(), getPlatform())) { return false; } if (!ObjectUtil.equals(keyBinding.getLocale(), getLocale())) { return false; } KeySequence keySequence = KeySequence.getInstance(getKeys()); if (!ObjectUtil.equals(keyBinding.getKeySequence(), keySequence)) { return false; } ParameterizedCommand parameterizedCommand = keyBinding.getParameterizedCommand(); if (parameterizedCommand == null || !ObjectUtil.equals(parameterizedCommand.getId(), getCommand())) { return false; } if (!ObjectUtil.equals(parameterizedCommand.getParameterMap(), getCommandParameterMap())) { return false; } return true; }
From source file:org.eclipse.ui.internal.keys.KeysPreferencePage.java
License:Open Source License
/** * Handles the selection event on the table containing the bindings for a * particular command. This updates the context and trigger sequence based * on the selected binding./*from ww w. jav a 2s . c o m*/ */ private final void selectedTableBindingsForCommand() { final int selection = tableBindingsForCommand.getSelectionIndex(); if ((selection >= 0) && (selection < tableBindingsForCommand.getItemCount())) { final TableItem item = tableBindingsForCommand.getItem(selection); final KeyBinding binding = (KeyBinding) item.getData(ITEM_DATA_KEY); setContextId(binding.getContextId()); setKeySequence(binding.getKeySequence()); } update(); }
From source file:org.eclipse.ui.internal.keys.model.BindingModel.java
License:Open Source License
/** * Removes the <code>bindingElement</code> binding. * // ww w . java 2 s . c o m * @param bindingElement */ public void remove(BindingElement bindingElement) { if (bindingElement == null || !(bindingElement.getModelObject() instanceof Binding)) { return; } KeyBinding keyBinding = (KeyBinding) bindingElement.getModelObject(); if (keyBinding.getType() == Binding.USER) { bindingManager.removeBinding(keyBinding); } else { KeySequence keySequence = keyBinding.getKeySequence(); // Add the delete binding bindingManager.addBinding(new KeyBinding(keySequence, null, keyBinding.getSchemeId(), keyBinding.getContextId(), null, null, null, Binding.USER)); // Unbind any conflicts affected by the delete binding ConflictModel conflictModel = controller.getConflictModel(); conflictModel.updateConflictsFor(bindingElement); Collection conflictsList = conflictModel.getConflicts(); if (conflictsList != null) { Object[] conflicts = conflictsList.toArray(); for (int i = 0; i < conflicts.length; i++) { BindingElement be = (BindingElement) conflicts[i]; if (be == bindingElement) { continue; } Object modelObject = be.getModelObject(); if (modelObject instanceof Binding) { Binding binding = (Binding) modelObject; if (binding.getType() != Binding.SYSTEM) { continue; } ParameterizedCommand pCommand = binding.getParameterizedCommand(); be.fill(pCommand); commandToElement.put(pCommand, be); } } } } ParameterizedCommand parameterizedCommand = keyBinding.getParameterizedCommand(); bindingElement.fill(parameterizedCommand); commandToElement.put(parameterizedCommand, bindingElement); controller.firePropertyChange(this, PROP_CONFLICT_ELEMENT_MAP, null, bindingElement); }
From source file:org.eclipse.ui.internal.keys.model.KeyController.java
License:Open Source License
private void updateBindingContext(ContextElement context) { if (context == null) { return;/* w w w . j a v a2 s .co m*/ } BindingElement activeBinding = (BindingElement) bindingModel.getSelectedElement(); if (activeBinding == null) { return; } String activeSchemeId = fSchemeModel.getSelectedElement().getId(); Object obj = activeBinding.getModelObject(); if (obj instanceof KeyBinding) { KeyBinding keyBinding = (KeyBinding) obj; if (!keyBinding.getContextId().equals(context.getId())) { final KeyBinding binding = new KeyBinding(keyBinding.getKeySequence(), keyBinding.getParameterizedCommand(), activeSchemeId, context.getId(), null, null, null, Binding.USER); if (keyBinding.getType() == Binding.USER) { fBindingManager.removeBinding(keyBinding); } else { fBindingManager.addBinding(new KeyBinding(keyBinding.getKeySequence(), null, keyBinding.getSchemeId(), keyBinding.getContextId(), null, null, null, Binding.USER)); } bindingModel.getBindingToElement().remove(activeBinding.getModelObject()); fBindingManager.addBinding(binding); activeBinding.fill(binding, contextModel); bindingModel.getBindingToElement().put(binding, activeBinding); } } }
From source file:org.eclipse.ui.internal.keys.model.KeyController.java
License:Open Source License
/** * @param activeBinding/*from w w w.j a v a 2s .c om*/ * @param oldSequence * @param keySequence */ public void updateTrigger(BindingElement activeBinding, KeySequence oldSequence, KeySequence keySequence) { if (activeBinding == null) { return; } Object obj = activeBinding.getModelObject(); if (obj instanceof KeyBinding) { KeyBinding keyBinding = (KeyBinding) obj; if (!keyBinding.getKeySequence().equals(keySequence)) { if (keySequence != null && !keySequence.isEmpty()) { String activeSchemeId = fSchemeModel.getSelectedElement().getId(); ModelElement selectedElement = contextModel.getSelectedElement(); String activeContextId = selectedElement == null ? IContextService.CONTEXT_ID_WINDOW : selectedElement.getId(); final KeyBinding binding = new KeyBinding(keySequence, keyBinding.getParameterizedCommand(), activeSchemeId, activeContextId, null, null, null, Binding.USER); Map bindingToElement = bindingModel.getBindingToElement(); bindingToElement.remove(keyBinding); if (keyBinding.getType() == Binding.USER) { fBindingManager.removeBinding(keyBinding); } else { fBindingManager.addBinding( new KeyBinding(keyBinding.getKeySequence(), null, keyBinding.getSchemeId(), keyBinding.getContextId(), null, null, null, Binding.USER)); } fBindingManager.addBinding(binding); activeBinding.fill(binding, contextModel); bindingModel.getBindingToElement().put(binding, activeBinding); // Remove binding for any system conflicts bindingModel.setSelectedElement(activeBinding); } else { bindingModel.getBindingToElement().remove(keyBinding); if (keyBinding.getType() == Binding.USER) { fBindingManager.removeBinding(keyBinding); } else { fBindingManager.addBinding( new KeyBinding(keyBinding.getKeySequence(), null, keyBinding.getSchemeId(), keyBinding.getContextId(), null, null, null, Binding.USER)); } activeBinding.fill(keyBinding.getParameterizedCommand()); } } } else if (obj instanceof ParameterizedCommand) { ParameterizedCommand cmd = (ParameterizedCommand) obj; if (keySequence != null && !keySequence.isEmpty()) { String activeSchemeId = fSchemeModel.getSelectedElement().getId(); ModelElement selectedElement = contextModel.getSelectedElement(); String activeContextId = selectedElement == null ? IContextService.CONTEXT_ID_WINDOW : selectedElement.getId(); final KeyBinding binding = new KeyBinding(keySequence, cmd, activeSchemeId, activeContextId, null, null, null, Binding.USER); fBindingManager.addBinding(binding); activeBinding.fill(binding, contextModel); bindingModel.getBindingToElement().put(binding, activeBinding); } } }