Example usage for org.eclipse.jface.bindings.keys KeyBinding getType

List of usage examples for org.eclipse.jface.bindings.keys KeyBinding getType

Introduction

In this page you can find the example usage for org.eclipse.jface.bindings.keys KeyBinding getType.

Prototype

public final int getType() 

Source Link

Document

Returns the type for this binding.

Usage

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);
        }
    }
}