Search in sources :

Example 11 with PropertyChangeEvent

use of org.eclipse.jface.util.PropertyChangeEvent in project eclipse.platform.text by eclipse.

the class LineNumberColumn method initialize.

/**
 * Initializes the given line number ruler column from the preference store.
 */
private void initialize() {
    final IPreferenceStore store = getPreferenceStore();
    if (store == null)
        return;
    // initial set up
    updateForegroundColor(store, fDelegate);
    updateBackgroundColor(store, fDelegate);
    updateLineNumbersVisibility(fDelegate);
    updateQuickDiffVisibility(fDelegate);
    updateCharacterMode(store, fDelegate);
    updateRevisionRenderingMode(store, fDelegate);
    updateRevisionAuthorVisibility(store, fDelegate);
    updateRevisionIdVisibility(store, fDelegate);
    Map<Object, AnnotationPreference> annotationPrefs = getAnnotationPreferenceMap();
    // $NON-NLS-1$
    final AnnotationPreference changedPref = annotationPrefs.get("org.eclipse.ui.workbench.texteditor.quickdiffChange");
    // $NON-NLS-1$
    final AnnotationPreference addedPref = annotationPrefs.get("org.eclipse.ui.workbench.texteditor.quickdiffAddition");
    // $NON-NLS-1$
    final AnnotationPreference deletedPref = annotationPrefs.get("org.eclipse.ui.workbench.texteditor.quickdiffDeletion");
    updateChangedColor(changedPref, store, fDelegate);
    updateAddedColor(addedPref, store, fDelegate);
    updateDeletedColor(deletedPref, store, fDelegate);
    fDelegate.redraw();
    // listen to changes
    fDispatcher = new PropertyEventDispatcher(store);
    fDispatcher.addPropertyChangeListener(FG_COLOR_KEY, new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            updateForegroundColor(store, fDelegate);
            fDelegate.redraw();
        }
    });
    IPropertyChangeListener backgroundHandler = new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            updateBackgroundColor(store, fDelegate);
            fDelegate.redraw();
        }
    };
    fDispatcher.addPropertyChangeListener(BG_COLOR_KEY, backgroundHandler);
    fDispatcher.addPropertyChangeListener(USE_DEFAULT_BG_KEY, backgroundHandler);
    fDispatcher.addPropertyChangeListener(LINE_NUMBER_KEY, new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            // only handle quick diff on/off information, but not ruler visibility (handled by AbstractDecoratedTextEditor)
            updateLineNumbersVisibility(fDelegate);
        }
    });
    fDispatcher.addPropertyChangeListener(AbstractDecoratedTextEditorPreferenceConstants.QUICK_DIFF_CHARACTER_MODE, new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            updateCharacterMode(store, fDelegate);
        }
    });
    fDispatcher.addPropertyChangeListener(AbstractDecoratedTextEditorPreferenceConstants.REVISION_RULER_RENDERING_MODE, new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            updateRevisionRenderingMode(store, fDelegate);
        }
    });
    fDispatcher.addPropertyChangeListener(AbstractDecoratedTextEditorPreferenceConstants.REVISION_RULER_SHOW_AUTHOR, new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            updateRevisionAuthorVisibility(store, fDelegate);
        }
    });
    fDispatcher.addPropertyChangeListener(AbstractDecoratedTextEditorPreferenceConstants.REVISION_RULER_SHOW_REVISION, new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            updateRevisionIdVisibility(store, fDelegate);
        }
    });
    fDispatcher.addPropertyChangeListener(AbstractDecoratedTextEditorPreferenceConstants.QUICK_DIFF_ALWAYS_ON, new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            updateQuickDiffVisibility(fDelegate);
        }
    });
    if (changedPref != null) {
        fDispatcher.addPropertyChangeListener(changedPref.getColorPreferenceKey(), new IPropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent event) {
                updateChangedColor(changedPref, store, fDelegate);
                fDelegate.redraw();
            }
        });
    }
    if (addedPref != null) {
        fDispatcher.addPropertyChangeListener(addedPref.getColorPreferenceKey(), new IPropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent event) {
                updateAddedColor(addedPref, store, fDelegate);
                fDelegate.redraw();
            }
        });
    }
    if (deletedPref != null) {
        fDispatcher.addPropertyChangeListener(deletedPref.getColorPreferenceKey(), new IPropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent event) {
                updateDeletedColor(deletedPref, store, fDelegate);
                fDelegate.redraw();
            }
        });
    }
}
Also used : IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) AnnotationPreference(org.eclipse.ui.texteditor.AnnotationPreference)

Example 12 with PropertyChangeEvent

use of org.eclipse.jface.util.PropertyChangeEvent in project knime-core by knime.

the class BorderStyleDialog method createColorSelector.

private void createColorSelector(final Composite parent) {
    Composite panel = new Composite(parent, SWT.FILL);
    GridData gData = new GridData(GridData.FILL_HORIZONTAL);
    panel.setLayoutData(gData);
    panel.setLayout(new GridLayout(2, false));
    Label msg = new Label(panel, SWT.LEFT);
    msg.setText("Border color (click to change):");
    msg.setLayoutData(gData);
    final ColorSelector sel = new ColorSelector(panel);
    sel.setColorValue(m_defColor.getRGB());
    sel.addListener(new IPropertyChangeListener() {

        @Override
        public void propertyChange(final PropertyChangeEvent event) {
            m_color = sel.getColorValue();
        }
    });
    m_color = m_defColor.getRGB();
}
Also used : IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) GridLayout(org.eclipse.swt.layout.GridLayout) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) Composite(org.eclipse.swt.widgets.Composite) GridData(org.eclipse.swt.layout.GridData) Label(org.eclipse.swt.widgets.Label) ColorSelector(org.eclipse.jface.preference.ColorSelector)

Example 13 with PropertyChangeEvent

use of org.eclipse.jface.util.PropertyChangeEvent in project translationstudio8 by heartsome.

the class KeysPreferencePage method createTree.

private void createTree(Composite parent) {
    fPatternFilter = new CategoryPatternFilter(true, fDefaultCategory);
    fPatternFilter.filterCategories(true);
    GridData gridData;
    fFilteredTree = new CategoryFilterTree(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION, fPatternFilter);
    final GridLayout layout = new GridLayout(1, false);
    layout.marginWidth = 0;
    fFilteredTree.setLayout(layout);
    gridData = new GridData();
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalAlignment = SWT.FILL;
    gridData.verticalAlignment = SWT.FILL;
    fFilteredTree.setLayoutData(gridData);
    viewer = fFilteredTree.getViewer();
    // Make sure the filtered tree has a height of ITEMS_TO_SHOW
    final Tree tree = viewer.getTree();
    tree.setHeaderVisible(true);
    final Object layoutData = tree.getLayoutData();
    if (layoutData instanceof GridData) {
        gridData = (GridData) layoutData;
        final int itemHeight = tree.getItemHeight();
        if (itemHeight > 1) {
            gridData.heightHint = ITEMS_TO_SHOW * itemHeight;
        }
    }
    BindingModelComparator comparator = new BindingModelComparator();
    comparator.setSortColumn(2);
    viewer.setComparator(comparator);
    final TreeColumn commandNameColumn = new TreeColumn(tree, SWT.LEFT, COMMAND_NAME_COLUMN);
    commandNameColumn.setText(Messages.getString("preferencepage.KeysPreferencePage.commandNameColumn"));
    tree.setSortColumn(commandNameColumn);
    tree.setSortDirection(comparator.isAscending() ? SWT.UP : SWT.DOWN);
    commandNameColumn.addSelectionListener(new ResortColumn(comparator, commandNameColumn, viewer, COMMAND_NAME_COLUMN));
    final TreeViewerColumn triggerSequenceColumn = new TreeViewerColumn(viewer, SWT.LEFT, KEY_SEQUENCE_COLUMN);
    triggerSequenceColumn.getColumn().setText(Messages.getString("preferencepage.KeysPreferencePage.triggerSequenceColumn"));
    triggerSequenceColumn.getColumn().addSelectionListener(new ResortColumn(comparator, triggerSequenceColumn.getColumn(), viewer, KEY_SEQUENCE_COLUMN));
    triggerSequenceColumn.setEditingSupport(new TableViewerEditingSupport(viewer, 1));
    final TreeColumn categoryColumn = new TreeColumn(tree, SWT.LEFT, CATEGORY_COLUMN);
    categoryColumn.setText(Messages.getString("preferencepage.KeysPreferencePage.categoryColumn"));
    categoryColumn.addSelectionListener(new ResortColumn(comparator, categoryColumn, viewer, CATEGORY_COLUMN));
    viewer.setContentProvider(new ModelContentProvider());
    viewer.setLabelProvider(new BindingElementLabelProvider());
    fFilteredTree.getPatternFilter().setIncludeLeadingWildcard(true);
    final TreeColumn[] columns = viewer.getTree().getColumns();
    columns[COMMAND_NAME_COLUMN].setWidth(240);
    columns[KEY_SEQUENCE_COLUMN].setWidth(130);
    columns[CATEGORY_COLUMN].setWidth(130);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        // When the viewer changes selection, update the model's current
        // selection
        public void selectionChanged(SelectionChangedEvent event) {
            changeBackground();
            ModelElement binding = (ModelElement) ((IStructuredSelection) event.getSelection()).getFirstElement();
            model.setSelectedElement(binding);
        }
    });
    IPropertyChangeListener treeUpdateListener = new IPropertyChangeListener() {

        // When the model changes a property, update the viewer
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getSource() == model && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) {
                Object newVal = event.getNewValue();
                StructuredSelection structuredSelection = newVal == null ? null : new StructuredSelection(newVal);
                viewer.setSelection(structuredSelection, true);
            } else if (event.getSource() instanceof BindingElement && ModelElement.PROP_MODEL_OBJECT.equals(event.getProperty())) {
                viewer.update(event.getSource(), null);
            } else if (BindingElement.PROP_CONFLICT.equals(event.getProperty())) {
                viewer.update(event.getSource(), null);
            } else if (BindingModel.PROP_BINDINGS.equals(event.getProperty())) {
            // viewer.refresh();
            } else if (BindingModel.PROP_BINDING_ADD.equals(event.getProperty())) {
                viewer.add(model, event.getNewValue());
            } else if (BindingModel.PROP_BINDING_REMOVE.equals(event.getProperty())) {
                viewer.remove(event.getNewValue());
            } else if (BindingModel.PROP_BINDING_FILTER.equals(event.getProperty())) {
            // viewer.refresh();
            }
            changeBackground();
        // isValid();
        }
    };
    keyController.addPropertyChangeListener(treeUpdateListener);
    // IPropertyChangeListener conflictsListener = new IPropertyChangeListener() {
    // public void propertyChange(PropertyChangeEvent event) {
    // // System.out.println(event.getNewValue().getClass());
    // if (keyController.getConflictModel().getConflicts() != null) {
    // if (ConflictModel.PROP_CONFLICTS.equals(event.getProperty())) {
    // // lstConflict.clear();
    // if (event.getNewValue() != null) {
    // lstConflict.addAll((Collection<? extends Object>) event.getNewValue());
    // }
    // // conflictViewer.setInput(event.getNewValue());
    // } else if (ConflictModel.PROP_CONFLICTS_ADD.equals(event.getProperty())) {
    // if (event.getNewValue() != null) {
    // lstConflict.add(event.getNewValue());
    // }
    // // conflictViewer.add(event.getNewValue());
    // } else if (ConflictModel.PROP_CONFLICTS_REMOVE.equals(event.getProperty())) {
    // // conflictViewer.remove(event.getNewValue());
    // if (event.getNewValue() != null) {
    // lstConflict.remove(event.getNewValue());
    // }
    // }
    // } else {
    // lstConflict.clear();
    // }
    // // if (event.getSource() == keyController.getConflictModel()
    // // && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) {
    // // if (keyController.getConflictModel().getConflicts() != null) {
    // // Object newVal = event.getNewValue();
    // // StructuredSelection structuredSelection = newVal == null ? null : new StructuredSelection(
    // // newVal);
    // // // conflictViewer.setSelection(structuredSelection, true);
    // // }
    // // } else if (ConflictModel.PROP_CONFLICTS.equals(event.getProperty())) {
    // // // lstConflict.clear();
    // // if (event.getNewValue() != null) {
    // // lstConflict.addAll((Collection<? extends Object>) event.getNewValue());
    // // }
    // // // conflictViewer.setInput(event.getNewValue());
    // // } else if (ConflictModel.PROP_CONFLICTS_ADD.equals(event.getProperty())) {
    // // if (event.getNewValue() != null) {
    // // lstConflict.clear();
    // // lstConflict.add(event.getNewValue());
    // // }
    // // // conflictViewer.add(event.getNewValue());
    // // } else if (ConflictModel.PROP_CONFLICTS_REMOVE.equals(event.getProperty())) {
    // // // conflictViewer.remove(event.getNewValue());
    // // if (event.getNewValue() != null) {
    // // lstConflict.clear();
    // // lstConflict.remove(event.getNewValue());
    // // }
    // // }
    // }
    // };
    // keyController.addPropertyChangeListener(conflictsListener);
    IPropertyChangeListener dataUpdateListener = new IPropertyChangeListener() {

        public void propertyChange(PropertyChangeEvent event) {
            BindingElement bindingElement = null;
            boolean weCare = false;
            if (event.getSource() == model && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) {
                bindingElement = (BindingElement) event.getNewValue();
                weCare = true;
            } else if (event.getSource() == model.getSelectedElement() && ModelElement.PROP_MODEL_OBJECT.equals(event.getProperty())) {
                bindingElement = (BindingElement) event.getSource();
                weCare = true;
            }
            if (bindingElement == null && weCare) {
                //$NON-NLS-1$
                fBindingText.setText("");
            } else if (bindingElement != null) {
                KeySequence trigger = (KeySequence) bindingElement.getTrigger();
                fKeySequenceText.setKeySequence(trigger);
            }
        }
    };
    keyController.addPropertyChangeListener(dataUpdateListener);
}
Also used : BindingElement(org.eclipse.ui.internal.keys.model.BindingElement) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ModelElement(org.eclipse.ui.internal.keys.model.ModelElement) GridLayout(org.eclipse.swt.layout.GridLayout) TreeColumn(org.eclipse.swt.widgets.TreeColumn) Tree(org.eclipse.swt.widgets.Tree) FilteredTree(org.eclipse.ui.dialogs.FilteredTree) IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) TreeViewerColumn(org.eclipse.jface.viewers.TreeViewerColumn) GridData(org.eclipse.swt.layout.GridData) KeySequence(org.eclipse.jface.bindings.keys.KeySequence)

Example 14 with PropertyChangeEvent

use of org.eclipse.jface.util.PropertyChangeEvent in project translationstudio8 by heartsome.

the class ConflictModel2 method init.

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);
            }
        }
    });
}
Also used : Binding(org.eclipse.jface.bindings.Binding) IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) HashMap(java.util.HashMap) BindingElement(org.eclipse.ui.internal.keys.model.BindingElement) Iterator(java.util.Iterator) Collection(java.util.Collection)

Example 15 with PropertyChangeEvent

use of org.eclipse.jface.util.PropertyChangeEvent in project translationstudio8 by heartsome.

the class KeyController2 method firePropertyChange.

public void firePropertyChange(Object source, String propId, Object oldVal, Object newVal) {
    if (!isNotifying()) {
        return;
    }
    if (Util.equals(oldVal, newVal)) {
        return;
    }
    Object[] listeners = getEventManager().getListeners();
    PropertyChangeEvent event = new PropertyChangeEvent(source, propId, oldVal, newVal);
    for (int i = 0; i < listeners.length; i++) {
        ((IPropertyChangeListener) listeners[i]).propertyChange(event);
    }
}
Also used : IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent)

Aggregations

PropertyChangeEvent (org.eclipse.jface.util.PropertyChangeEvent)31 IPropertyChangeListener (org.eclipse.jface.util.IPropertyChangeListener)27 IPreferenceStore (org.eclipse.jface.preference.IPreferenceStore)8 GridData (org.eclipse.swt.layout.GridData)8 Composite (org.eclipse.swt.widgets.Composite)7 GridLayout (org.eclipse.swt.layout.GridLayout)6 ColorSelector (org.eclipse.jface.preference.ColorSelector)5 Label (org.eclipse.swt.widgets.Label)5 PreferenceStore (org.eclipse.jface.preference.PreferenceStore)4 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)4 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)4 ChainedPreferenceStore (org.eclipse.ui.texteditor.ChainedPreferenceStore)4 Test (org.junit.Test)4 ISelection (org.eclipse.jface.viewers.ISelection)3 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)3 Text (org.eclipse.swt.widgets.Text)3 IOException (java.io.IOException)2 Iterator (java.util.Iterator)2 MissingResourceException (java.util.MissingResourceException)2 IMenuManager (org.eclipse.jface.action.IMenuManager)2