List of usage examples for org.eclipse.jface.bindings.keys KeyBinding getType
public final int getType()
From source file:org.eclipse.ui.internal.keys.model.BindingElement.java
License:Open Source License
/** * @param binding/*from w w w.j a v a 2 s . c o m*/ * @param contextModel */ public void fill(KeyBinding binding, ContextModel contextModel) { setCommandInfo(binding.getParameterizedCommand()); setTrigger(binding.getTriggerSequence()); setContext((ContextElement) contextModel.getContextIdToElement().get(binding.getContextId())); setUserDelta(new Integer(binding.getType())); setModelObject(binding); }
From source file:org.eclipse.ui.internal.keys.model.BindingModel.java
License:Open Source License
/** * Removes the <code>bindingElement</code> binding. * //from w w w. j a v a 2s.com * @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 ww .j a v a2 s .c o 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/*ww w . ja v a2s . co m*/ * @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); } } }