Java 类org.eclipse.ui.internal.keys.model.BindingElement 实例源码

项目:translationstudio8    文件:KeysPreferencePage.java   
public String getColumnText(Object element, int index) {
    BindingElement bindingElement = ((BindingElement) element);
    switch (index) {
    case COMMAND_NAME_COLUMN: {// name
        String name = bindingElement.getName();
        if (name != null && name.endsWith("()")) {
            name = name.substring(0, name.length() - 2);
        }
        return name;
    }
    case KEY_SEQUENCE_COLUMN: // keys
        TriggerSequence seq = bindingElement.getTrigger();
        return seq == null ? Util.ZERO_LENGTH_STRING : seq.format();
    case CATEGORY_COLUMN: // category
        String id = bindingElement.getId();
        if (id.equalsIgnoreCase("net.heartsome.cat.ts.command.preference")) {
            return Messages.getString("preferencepage.KeysPreferencePage.toolCategory");
        } else if (id.equalsIgnoreCase("org.eclipse.ui.window.lockToolBar")) {
            return Messages.getString("preferencepage.KeysPreferencePage.toolbarCategory");
        } else if (id.equalsIgnoreCase("org.eclipse.ui.window.showKeyAssist")) {
            return Messages.getString("preferencepage.KeysPreferencePage.helpCategory");
        }
        return bindingElement.getCategory();
    }
    return null;
}
项目:translationstudio8    文件:KeysPreferencePage.java   
public Image getColumnImage(Object element, int index) {
    BindingElement be = (BindingElement) element;
    switch (index) {
    case COMMAND_NAME_COLUMN:
        final String commandId = be.getId();
        final ImageDescriptor imageDescriptor = commandImageService.getImageDescriptor(commandId);
        if (imageDescriptor == null) {
            return null;
        }
        try {
            return localResourceManager.createImage(imageDescriptor);
        } catch (final DeviceResourceException e) {
            final String message = "Problem retrieving image for a command '" //$NON-NLS-1$
                    + commandId + '\'';
            final IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 0, message, e);
            WorkbenchPlugin.log(message, status);
        }
        return null;
    }

    return null;
}
项目:translationstudio8    文件:KeysPreferencePage.java   
@Override
        protected void setValue(Object element, Object value) {
            if (column == 1) {
                // BindingElement activeBinding = (BindingElement) model.getSelectedElement();
                BindingElement activeBinding = (BindingElement) element;
                if (activeBinding != null) {
                    KeySequence keySequence = fKeySequenceText.getKeySequence();
//                  Bug #2740
                    if (keySequence == null || !keySequence.toString().endsWith("+")) {
                        activeBinding.setTrigger(keySequence);
                    }
                }
                changeBackground();
                // isValid();
            }
        }
项目:translationstudio8    文件:KeyController2.java   
private void addSetBindingListener() {
        addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (event.getSource() == bindingModel && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) {
                    BindingElement binding = (BindingElement) event.getNewValue();
//                  Bug #2740
                    if (binding == null || binding.getTrigger() == null) {
                        conflictModel.setSelectedElement(null);
                        return;
                    }
                    conflictModel.setSelectedElement(binding);
                    ContextElement context = binding.getContext();
                    if (context != null) {
                        contextModel.setSelectedElement(context);
                    }
                }
            }
        });
    }
项目:translationstudio8    文件:KeyController2.java   
private void addSetKeySequenceListener() {
        addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (BindingElement.PROP_TRIGGER.equals(event.getProperty())) {
//                  Bug #2740
                    if (((KeySequence) event.getNewValue()) != null) {
                        if (((KeySequence) event.getNewValue()).toString().endsWith("+")) {
                            return;
                        } else {
                            updateTrigger((BindingElement) event.getSource(), (KeySequence) event.getOldValue(),
                                    (KeySequence) event.getNewValue());
                        }
                    }
                }
            }
        });
    }
项目:tmxeditor8    文件:KeysPreferencePage.java   
public String getColumnText(Object element, int index) {
    BindingElement bindingElement = ((BindingElement) element);
    switch (index) {
    case COMMAND_NAME_COLUMN: {// name
        String name = bindingElement.getName();
        if (name != null && name.endsWith("()")) {
            name = name.substring(0, name.length() - 2);
        }
        return name;
    }
    case KEY_SEQUENCE_COLUMN: // keys
        TriggerSequence seq = bindingElement.getTrigger();
        return seq == null ? Util.ZERO_LENGTH_STRING : seq.format();
    case CATEGORY_COLUMN: // category
        String id = bindingElement.getId();
        if (id.equalsIgnoreCase("net.heartsome.cat.ts.command.preference")) {
            return Messages.getString("preferencepage.KeysPreferencePage.toolCategory");
        } else if (id.equalsIgnoreCase("org.eclipse.ui.window.lockToolBar")) {
            return Messages.getString("preferencepage.KeysPreferencePage.toolbarCategory");
        } else if (id.equalsIgnoreCase("org.eclipse.ui.window.showKeyAssist")) {
            return Messages.getString("preferencepage.KeysPreferencePage.helpCategory");
        }
        return bindingElement.getCategory();
    }
    return null;
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
public Image getColumnImage(Object element, int index) {
    BindingElement be = (BindingElement) element;
    switch (index) {
    case COMMAND_NAME_COLUMN:
        final String commandId = be.getId();
        final ImageDescriptor imageDescriptor = commandImageService.getImageDescriptor(commandId);
        if (imageDescriptor == null) {
            return null;
        }
        try {
            return localResourceManager.createImage(imageDescriptor);
        } catch (final DeviceResourceException e) {
            final String message = "Problem retrieving image for a command '" //$NON-NLS-1$
                    + commandId + '\'';
            final IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 0, message, e);
            WorkbenchPlugin.log(message, status);
        }
        return null;
    }

    return null;
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
@Override
        protected void setValue(Object element, Object value) {
            if (column == 1) {
                // BindingElement activeBinding = (BindingElement) model.getSelectedElement();
                BindingElement activeBinding = (BindingElement) element;
                if (activeBinding != null) {
                    KeySequence keySequence = fKeySequenceText.getKeySequence();
//                  Bug #2740
                    if (keySequence == null || !keySequence.toString().endsWith("+")) {
                        activeBinding.setTrigger(keySequence);
                    }
                }
                changeBackground();
                // isValid();
            }
        }
项目:tmxeditor8    文件:KeyController2.java   
private void addSetBindingListener() {
        addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (event.getSource() == bindingModel && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) {
                    BindingElement binding = (BindingElement) event.getNewValue();
//                  Bug #2740
                    if (binding == null || binding.getTrigger() == null) {
                        conflictModel.setSelectedElement(null);
                        return;
                    }
                    conflictModel.setSelectedElement(binding);
                    ContextElement context = binding.getContext();
                    if (context != null) {
                        contextModel.setSelectedElement(context);
                    }
                }
            }
        });
    }
项目:tmxeditor8    文件:KeyController2.java   
private void addSetKeySequenceListener() {
        addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (BindingElement.PROP_TRIGGER.equals(event.getProperty())) {
//                  Bug #2740
                    if (((KeySequence) event.getNewValue()) != null) {
                        if (((KeySequence) event.getNewValue()).toString().endsWith("+")) {
                            return;
                        } else {
                            updateTrigger((BindingElement) event.getSource(), (KeySequence) event.getOldValue(),
                                    (KeySequence) event.getNewValue());
                        }
                    }
                }
            }
        });
    }
项目:tmxeditor8    文件:KeysPreferencePage.java   
public String getColumnText(Object element, int index) {
    BindingElement bindingElement = ((BindingElement) element);
    switch (index) {
    case COMMAND_NAME_COLUMN: {// name
        String name = bindingElement.getName();
        if (name != null && name.endsWith("()")) {
            name = name.substring(0, name.length() - 2);
        }
        return name;
    }
    case KEY_SEQUENCE_COLUMN: // keys
        TriggerSequence seq = bindingElement.getTrigger();
        return seq == null ? Util.ZERO_LENGTH_STRING : seq.format();
    case CATEGORY_COLUMN: // category
        String id = bindingElement.getId();
        if (id.equalsIgnoreCase("net.heartsome.cat.ts.command.preference")) {
            return Messages.getString("preferencepage.KeysPreferencePage.toolCategory");
        } else if (id.equalsIgnoreCase("org.eclipse.ui.window.lockToolBar")) {
            return Messages.getString("preferencepage.KeysPreferencePage.toolbarCategory");
        } else if (id.equalsIgnoreCase("org.eclipse.ui.window.showKeyAssist")) {
            return Messages.getString("preferencepage.KeysPreferencePage.helpCategory");
        }
        return bindingElement.getCategory();
    }
    return null;
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
public Image getColumnImage(Object element, int index) {
    BindingElement be = (BindingElement) element;
    switch (index) {
    case COMMAND_NAME_COLUMN:
        final String commandId = be.getId();
        final ImageDescriptor imageDescriptor = commandImageService.getImageDescriptor(commandId);
        if (imageDescriptor == null) {
            return null;
        }
        try {
            return localResourceManager.createImage(imageDescriptor);
        } catch (final DeviceResourceException e) {
            final String message = "Problem retrieving image for a command '" //$NON-NLS-1$
                    + commandId + '\'';
            final IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 0, message, e);
            WorkbenchPlugin.log(message, status);
        }
        return null;
    }

    return null;
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
@Override
        protected void setValue(Object element, Object value) {
            if (column == 1) {
                // BindingElement activeBinding = (BindingElement) model.getSelectedElement();
                BindingElement activeBinding = (BindingElement) element;
                if (activeBinding != null) {
                    KeySequence keySequence = fKeySequenceText.getKeySequence();
//                  Bug #2740
                    if (keySequence == null || !keySequence.toString().endsWith("+")) {
                        activeBinding.setTrigger(keySequence);
                    }
                }
                changeBackground();
                // isValid();
            }
        }
项目:tmxeditor8    文件:KeyController2.java   
private void addSetBindingListener() {
        addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (event.getSource() == bindingModel && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) {
                    BindingElement binding = (BindingElement) event.getNewValue();
//                  Bug #2740
                    if (binding == null || binding.getTrigger() == null) {
                        conflictModel.setSelectedElement(null);
                        return;
                    }
                    conflictModel.setSelectedElement(binding);
                    ContextElement context = binding.getContext();
                    if (context != null) {
                        contextModel.setSelectedElement(context);
                    }
                }
            }
        });
    }
项目:tmxeditor8    文件:KeyController2.java   
private void addSetKeySequenceListener() {
        addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (BindingElement.PROP_TRIGGER.equals(event.getProperty())) {
//                  Bug #2740
                    if (((KeySequence) event.getNewValue()) != null) {
                        if (((KeySequence) event.getNewValue()).toString().endsWith("+")) {
                            return;
                        } else {
                            updateTrigger((BindingElement) event.getSource(), (KeySequence) event.getOldValue(),
                                    (KeySequence) event.getNewValue());
                        }
                    }
                }
            }
        });
    }
项目:translationstudio8    文件:CategoryPatternFilter.java   
private ParameterizedCommand getCommand(Object element) {
    if (element instanceof BindingElement) {
        Object modelObject = ((BindingElement) element).getModelObject();
        if (modelObject instanceof Binding) {
            return ((Binding) modelObject).getParameterizedCommand();
        } else if (modelObject instanceof ParameterizedCommand) {
            return (ParameterizedCommand) modelObject;
        }
    }
    return null;
}
项目:translationstudio8    文件:ConflictModel2.java   
public void init(BindingManager manager, BindingModel model) {
    bindingManager = manager;
    bindingModel = model;
    conflictsMap = new HashMap();
    Iterator i = bindingModel.getBindings().iterator();
    while (i.hasNext()) {
        BindingElement be = (BindingElement) i.next();
        if (be.getModelObject() instanceof Binding) {
            updateConflictsFor(be);
        }
    }
    controller.addPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getSource() == ConflictModel2.this
                    && CommonModel.PROP_SELECTED_ELEMENT.equals(event
                            .getProperty())) {
                if (event.getNewValue() != null) {
                    updateConflictsFor(
                            (BindingElement) event.getOldValue(),
                            (BindingElement) event.getNewValue());
                    setConflicts((Collection) conflictsMap.get(event
                            .getNewValue()));
                } else {
                    setConflicts(null);
                }
            } else if (BindingModel.PROP_BINDING_REMOVE.equals(event
                    .getProperty())) {
                updateConflictsFor((BindingElement) event.getOldValue(),
                        (BindingElement) event.getNewValue(), true);
            }
        }
    });
}
项目:translationstudio8    文件:KeysPreferencePage.java   
private void changeBackground() {
    for (TreeItem item : viewer.getTree().getItems()) {
        BindingElement element = (BindingElement) item.getData();
        if (element.getConflict()) {
            item.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
        } else {
            item.setBackground(null);
        }
    }
}
项目:translationstudio8    文件:KeysPreferencePage.java   
@Override
protected Object getValue(Object element) {
    // System.out.println(element);
    BindingElement bindingElement = ((BindingElement) element);
    TriggerSequence seq = bindingElement.getTrigger();
    return seq == null ? Util.ZERO_LENGTH_STRING : seq.format();
}
项目:translationstudio8    文件:KeysPreferencePage.java   
public boolean validateConflict() {
    for (TreeItem item : viewer.getTree().getItems()) {
        BindingElement element = (BindingElement) item.getData();
        if (element.getConflict()) {
            MessageDialog.openInformation(getShell(),
                    Messages.getString("preferencepage.KeysPreferencePage.msgTitle"),
                    Messages.getString("preferencepage.KeysPreferencePage.msg"));
            // setValid(false);
            return false;
        }
    }
    // setValid(true);
    return true;
}
项目:translationstudio8    文件:BindingModel2.java   
/**
 * Makes a copy of the
 * @param element
 */
public void copy(BindingElement element) {
    if (element == null || !(element.getModelObject() instanceof Binding)) {
        return;
    }
    BindingElement be = new BindingElement(controller);
    ParameterizedCommand parameterizedCommand = ((Binding) element.getModelObject()).getParameterizedCommand();
    be.init(parameterizedCommand);
    be.setParent(this);
    bindingElements.add(be);
    commandToElement.put(parameterizedCommand, be);
    controller.firePropertyChange(this, PROP_BINDING_ADD, null, be);
    setSelectedElement(be);
}
项目:translationstudio8    文件:KeyController2.java   
public void init(IServiceLocator locator, List<String> lstRemove) {
    getEventManager().clear();
    this.serviceLocator = locator;
//  filterDupliteBind();
    fBindingManager = loadModelBackend(serviceLocator);
    contextModel = new ContextModel(this);
    contextModel.init(serviceLocator);
    fSchemeModel = new SchemeModel(this);
    fSchemeModel.init(fBindingManager);
    bindingModel = new BindingModel2(this);
    bindingModel.init(serviceLocator, fBindingManager, contextModel);

    HashSet<BindingElement> set = bindingModel.getBindings();
    Iterator<BindingElement> iterator = set.iterator();
    while (iterator.hasNext()) {
        BindingElement bindingElement = iterator.next();
        if (lstRemove.contains(bindingElement.getId())) {
            iterator.remove();
        }
    }
    bindingModel.setBindings(set);
    Map<Binding, BindingElement> mapBBe = bindingModel.getBindingToElement();
    Iterator<Entry<Binding, BindingElement>> it = mapBBe.entrySet().iterator();
    while (it.hasNext()) {
        Entry<Binding, BindingElement> entry = (Entry<Binding, BindingElement>) it.next();
        if (lstRemove.contains(entry.getValue().getId())) {
            it.remove();
        }
    }
    bindingModel.setBindingToElement(mapBBe);

    conflictModel = new ConflictModel2(this);
    conflictModel.init(fBindingManager, bindingModel);
    addSetContextListener();
    addSetBindingListener();
    addSetConflictListener();
    addSetKeySequenceListener();
    addSetSchemeListener();
    addSetModelObjectListener();
}
项目:translationstudio8    文件:KeyController2.java   
private void addSetModelObjectListener() {
        addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (event.getSource() instanceof BindingElement
                        && ModelElement.PROP_MODEL_OBJECT.equals(event.getProperty())) {
                    if (event.getNewValue() != null) {
                        BindingElement element = (BindingElement) event.getSource();
                        Object oldValue = event.getOldValue();
                        Object newValue = event.getNewValue();
//                      Bug #2740 快捷键--快捷键设置问题
                        if (oldValue instanceof Binding && newValue instanceof Binding) {
                            conflictModel.updateConflictsFor(element, ((Binding) oldValue).getTriggerSequence(),
                                    ((Binding) newValue).getTriggerSequence(), false);
                        } else if (oldValue instanceof Binding) {
                            conflictModel.updateConflictsFor(element, ((Binding) oldValue).getTriggerSequence(),
                                    null, false);
                        } else if (newValue instanceof Binding) {
                            conflictModel.updateConflictsFor(element, null,
                                    ((Binding) newValue).getTriggerSequence(), false);
                        } else {
                            conflictModel.updateConflictsFor(element, false);
                        }

                        ContextElement context = element.getContext();
                        if (context != null) {
                            contextModel.setSelectedElement(context);
                        }
                    }
                }
            }
        });
    }
项目:translationstudio8    文件:KeyController2.java   
private void updateBindingContext(ContextElement context) {
    if (context == null) {
        return;
    }
    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);
        }
    }
}
项目:tmxeditor8    文件:CategoryPatternFilter.java   
private ParameterizedCommand getCommand(Object element) {
    if (element instanceof BindingElement) {
        Object modelObject = ((BindingElement) element).getModelObject();
        if (modelObject instanceof Binding) {
            return ((Binding) modelObject).getParameterizedCommand();
        } else if (modelObject instanceof ParameterizedCommand) {
            return (ParameterizedCommand) modelObject;
        }
    }
    return null;
}
项目:tmxeditor8    文件:ConflictModel2.java   
public void init(BindingManager manager, BindingModel model) {
    bindingManager = manager;
    bindingModel = model;
    conflictsMap = new HashMap();
    Iterator i = bindingModel.getBindings().iterator();
    while (i.hasNext()) {
        BindingElement be = (BindingElement) i.next();
        if (be.getModelObject() instanceof Binding) {
            updateConflictsFor(be);
        }
    }
    controller.addPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getSource() == ConflictModel2.this
                    && CommonModel.PROP_SELECTED_ELEMENT.equals(event
                            .getProperty())) {
                if (event.getNewValue() != null) {
                    updateConflictsFor(
                            (BindingElement) event.getOldValue(),
                            (BindingElement) event.getNewValue());
                    setConflicts((Collection) conflictsMap.get(event
                            .getNewValue()));
                } else {
                    setConflicts(null);
                }
            } else if (BindingModel.PROP_BINDING_REMOVE.equals(event
                    .getProperty())) {
                updateConflictsFor((BindingElement) event.getOldValue(),
                        (BindingElement) event.getNewValue(), true);
            }
        }
    });
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
private void changeBackground() {
    for (TreeItem item : viewer.getTree().getItems()) {
        BindingElement element = (BindingElement) item.getData();
        if (element.getConflict()) {
            item.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
        } else {
            item.setBackground(null);
        }
    }
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
@Override
protected Object getValue(Object element) {
    // System.out.println(element);
    BindingElement bindingElement = ((BindingElement) element);
    TriggerSequence seq = bindingElement.getTrigger();
    return seq == null ? Util.ZERO_LENGTH_STRING : seq.format();
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
public boolean validateConflict() {
    for (TreeItem item : viewer.getTree().getItems()) {
        BindingElement element = (BindingElement) item.getData();
        if (element.getConflict()) {
            MessageDialog.openInformation(getShell(),
                    Messages.getString("preferencepage.KeysPreferencePage.msgTitle"),
                    Messages.getString("preferencepage.KeysPreferencePage.msg"));
            // setValid(false);
            return false;
        }
    }
    // setValid(true);
    return true;
}
项目:tmxeditor8    文件:BindingModel2.java   
/**
 * Makes a copy of the
 * @param element
 */
public void copy(BindingElement element) {
    if (element == null || !(element.getModelObject() instanceof Binding)) {
        return;
    }
    BindingElement be = new BindingElement(controller);
    ParameterizedCommand parameterizedCommand = ((Binding) element.getModelObject()).getParameterizedCommand();
    be.init(parameterizedCommand);
    be.setParent(this);
    bindingElements.add(be);
    commandToElement.put(parameterizedCommand, be);
    controller.firePropertyChange(this, PROP_BINDING_ADD, null, be);
    setSelectedElement(be);
}
项目:tmxeditor8    文件:KeyController2.java   
public void init(IServiceLocator locator, List<String> lstRemove) {
    getEventManager().clear();
    this.serviceLocator = locator;
//  filterDupliteBind();
    fBindingManager = loadModelBackend(serviceLocator);
    contextModel = new ContextModel(this);
    contextModel.init(serviceLocator);
    fSchemeModel = new SchemeModel(this);
    fSchemeModel.init(fBindingManager);
    bindingModel = new BindingModel2(this);
    bindingModel.init(serviceLocator, fBindingManager, contextModel);

    HashSet<BindingElement> set = bindingModel.getBindings();
    Iterator<BindingElement> iterator = set.iterator();
    while (iterator.hasNext()) {
        BindingElement bindingElement = iterator.next();
        if (lstRemove.contains(bindingElement.getId())) {
            iterator.remove();
        }
    }
    bindingModel.setBindings(set);
    Map<Binding, BindingElement> mapBBe = bindingModel.getBindingToElement();
    Iterator<Entry<Binding, BindingElement>> it = mapBBe.entrySet().iterator();
    while (it.hasNext()) {
        Entry<Binding, BindingElement> entry = (Entry<Binding, BindingElement>) it.next();
        if (lstRemove.contains(entry.getValue().getId())) {
            it.remove();
        }
    }
    bindingModel.setBindingToElement(mapBBe);

    conflictModel = new ConflictModel2(this);
    conflictModel.init(fBindingManager, bindingModel);
    addSetContextListener();
    addSetBindingListener();
    addSetConflictListener();
    addSetKeySequenceListener();
    addSetSchemeListener();
    addSetModelObjectListener();
}
项目:tmxeditor8    文件:KeyController2.java   
private void addSetModelObjectListener() {
        addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (event.getSource() instanceof BindingElement
                        && ModelElement.PROP_MODEL_OBJECT.equals(event.getProperty())) {
                    if (event.getNewValue() != null) {
                        BindingElement element = (BindingElement) event.getSource();
                        Object oldValue = event.getOldValue();
                        Object newValue = event.getNewValue();
//                      Bug #2740 快捷键--快捷键设置问题
                        if (oldValue instanceof Binding && newValue instanceof Binding) {
                            conflictModel.updateConflictsFor(element, ((Binding) oldValue).getTriggerSequence(),
                                    ((Binding) newValue).getTriggerSequence(), false);
                        } else if (oldValue instanceof Binding) {
                            conflictModel.updateConflictsFor(element, ((Binding) oldValue).getTriggerSequence(),
                                    null, false);
                        } else if (newValue instanceof Binding) {
                            conflictModel.updateConflictsFor(element, null,
                                    ((Binding) newValue).getTriggerSequence(), false);
                        } else {
                            conflictModel.updateConflictsFor(element, false);
                        }

                        ContextElement context = element.getContext();
                        if (context != null) {
                            contextModel.setSelectedElement(context);
                        }
                    }
                }
            }
        });
    }
项目:tmxeditor8    文件:KeyController2.java   
private void updateBindingContext(ContextElement context) {
    if (context == null) {
        return;
    }
    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);
        }
    }
}
项目:tmxeditor8    文件:CategoryPatternFilter.java   
private ParameterizedCommand getCommand(Object element) {
    if (element instanceof BindingElement) {
        Object modelObject = ((BindingElement) element).getModelObject();
        if (modelObject instanceof Binding) {
            return ((Binding) modelObject).getParameterizedCommand();
        } else if (modelObject instanceof ParameterizedCommand) {
            return (ParameterizedCommand) modelObject;
        }
    }
    return null;
}
项目:tmxeditor8    文件:ConflictModel2.java   
public void init(BindingManager manager, BindingModel model) {
    bindingManager = manager;
    bindingModel = model;
    conflictsMap = new HashMap();
    Iterator i = bindingModel.getBindings().iterator();
    while (i.hasNext()) {
        BindingElement be = (BindingElement) i.next();
        if (be.getModelObject() instanceof Binding) {
            updateConflictsFor(be);
        }
    }
    controller.addPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getSource() == ConflictModel2.this
                    && CommonModel.PROP_SELECTED_ELEMENT.equals(event
                            .getProperty())) {
                if (event.getNewValue() != null) {
                    updateConflictsFor(
                            (BindingElement) event.getOldValue(),
                            (BindingElement) event.getNewValue());
                    setConflicts((Collection) conflictsMap.get(event
                            .getNewValue()));
                } else {
                    setConflicts(null);
                }
            } else if (BindingModel.PROP_BINDING_REMOVE.equals(event
                    .getProperty())) {
                updateConflictsFor((BindingElement) event.getOldValue(),
                        (BindingElement) event.getNewValue(), true);
            }
        }
    });
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
private void changeBackground() {
    for (TreeItem item : viewer.getTree().getItems()) {
        BindingElement element = (BindingElement) item.getData();
        if (element.getConflict()) {
            item.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
        } else {
            item.setBackground(null);
        }
    }
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
@Override
protected Object getValue(Object element) {
    // System.out.println(element);
    BindingElement bindingElement = ((BindingElement) element);
    TriggerSequence seq = bindingElement.getTrigger();
    return seq == null ? Util.ZERO_LENGTH_STRING : seq.format();
}
项目:tmxeditor8    文件:KeysPreferencePage.java   
public boolean validateConflict() {
    for (TreeItem item : viewer.getTree().getItems()) {
        BindingElement element = (BindingElement) item.getData();
        if (element.getConflict()) {
            MessageDialog.openInformation(getShell(),
                    Messages.getString("preferencepage.KeysPreferencePage.msgTitle"),
                    Messages.getString("preferencepage.KeysPreferencePage.msg"));
            // setValid(false);
            return false;
        }
    }
    // setValid(true);
    return true;
}
项目:tmxeditor8    文件:BindingModel2.java   
/**
 * Makes a copy of the
 * @param element
 */
public void copy(BindingElement element) {
    if (element == null || !(element.getModelObject() instanceof Binding)) {
        return;
    }
    BindingElement be = new BindingElement(controller);
    ParameterizedCommand parameterizedCommand = ((Binding) element.getModelObject()).getParameterizedCommand();
    be.init(parameterizedCommand);
    be.setParent(this);
    bindingElements.add(be);
    commandToElement.put(parameterizedCommand, be);
    controller.firePropertyChange(this, PROP_BINDING_ADD, null, be);
    setSelectedElement(be);
}
项目:tmxeditor8    文件:KeyController2.java   
public void init(IServiceLocator locator, List<String> lstRemove) {
    getEventManager().clear();
    this.serviceLocator = locator;
//  filterDupliteBind();
    fBindingManager = loadModelBackend(serviceLocator);
    contextModel = new ContextModel(this);
    contextModel.init(serviceLocator);
    fSchemeModel = new SchemeModel(this);
    fSchemeModel.init(fBindingManager);
    bindingModel = new BindingModel2(this);
    bindingModel.init(serviceLocator, fBindingManager, contextModel);

    HashSet<BindingElement> set = bindingModel.getBindings();
    Iterator<BindingElement> iterator = set.iterator();
    while (iterator.hasNext()) {
        BindingElement bindingElement = iterator.next();
        if (lstRemove.contains(bindingElement.getId())) {
            iterator.remove();
        }
    }
    bindingModel.setBindings(set);
    Map<Binding, BindingElement> mapBBe = bindingModel.getBindingToElement();
    Iterator<Entry<Binding, BindingElement>> it = mapBBe.entrySet().iterator();
    while (it.hasNext()) {
        Entry<Binding, BindingElement> entry = (Entry<Binding, BindingElement>) it.next();
        if (lstRemove.contains(entry.getValue().getId())) {
            it.remove();
        }
    }
    bindingModel.setBindingToElement(mapBBe);

    conflictModel = new ConflictModel2(this);
    conflictModel.init(fBindingManager, bindingModel);
    addSetContextListener();
    addSetBindingListener();
    addSetConflictListener();
    addSetKeySequenceListener();
    addSetSchemeListener();
    addSetModelObjectListener();
}