Example usage for org.eclipse.jface.util PropertyChangeEvent PropertyChangeEvent

List of usage examples for org.eclipse.jface.util PropertyChangeEvent PropertyChangeEvent

Introduction

In this page you can find the example usage for org.eclipse.jface.util PropertyChangeEvent PropertyChangeEvent.

Prototype

public PropertyChangeEvent(Object source, String property, Object oldValue, Object newValue) 

Source Link

Document

Creates a new property change event.

Usage

From source file:at.nucle.e4.plugin.preferences.core.internal.context.PreferenceScopeContext.java

License:Open Source License

@Override
public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
    // important: create intermediate array to protect against listeners
    // being added/removed during the notification
    final Object[] list = getListeners();
    if (list.length == 0) {
        return;/*from   w w w.  j  a v a2s  .c  o  m*/
    }
    final PropertyChangeEvent event = new PropertyChangeEvent(this, name, oldValue, newValue);
    for (int i = 0; i < list.length; i++) {
        final IPropertyChangeListener listener = (IPropertyChangeListener) list[i];
        SafeRunner.run(new SafeRunnable(JFaceResources.getString("PreferenceScopeContext.changeError")) { //$NON-NLS-1$

            @Override
            public void run() {
                listener.propertyChange(event);
            }
        });
    }
}

From source file:au.gov.ga.earthsci.core.preferences.ScopedPreferenceStore.java

License:Open Source License

@Override
public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
    // important: create intermediate array to protect against listeners
    // being added/removed during the notification
    final Object[] list = getListeners();
    if (list.length == 0) {
        return;//w ww.  j  a va  2  s  . co  m
    }
    final PropertyChangeEvent event = new PropertyChangeEvent(this, name, oldValue, newValue);
    for (int i = 0; i < list.length; i++) {
        final IPropertyChangeListener listener = (IPropertyChangeListener) list[i];
        SafeRunner.run(new SafeRunnable(JFaceResources.getString("PreferenceStore.changeError")) { //$NON-NLS-1$
            @Override
            public void run() {
                listener.propertyChange(event);
            }
        });
    }
}

From source file:ca.maestrosoft.eclipse.cdt.plugin.studio.option.ui.MaestroOptionComboListFieldEditor.java

License:Open Source License

@Override
protected void doFillIntoGrid(Composite parent, int numColumns) {
    if (!initialized) {
        return;/*  ww w  .j  av  a 2s . c om*/
    }
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = numColumns;
    parent.setLayoutData(gd);

    // Add the label
    Label label = getLabelControl(parent);
    GridData labelData = new GridData();
    labelData.horizontalSpan = 1;
    labelData.grabExcessHorizontalSpace = false;
    label.setLayoutData(labelData);

    // Create the combo selector
    srollCombo = new ScrollCombo(parent, SWT.H_SCROLL | SWT.DROP_DOWN | SWT.BORDER);
    srollCombo.setFont(parent.getFont());

    // Setup the layout attribute 
    GridData comgoGDData = new GridData(GridData.FILL_HORIZONTAL);
    comgoGDData.horizontalSpan = numColumns - 1;
    comgoGDData.grabExcessHorizontalSpace = true;
    srollCombo.setLayoutData(comgoGDData);

    // Create the combo item
    for (String comboOption : getOptions()) {
        srollCombo.add(comboOption);
    }
    srollCombo.select(curComboSelectIndex);
    //
    // This event come from higher level and tell the widget that it is being disposed for any reason!
    // This event can be useful to do any post-processing cleanup 
    srollCombo.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent event) {
            srollCombo = null;
        }
    });

    // listen to changed value.
    srollCombo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent evt) {
            PropertyChangeEvent listUpdateEvent = null;
            String oldValue = curComboSelectName;
            String itemList = null;
            int oldIndex = srollCombo.indexOf(curComboSelectName);
            int index = srollCombo.getSelectionIndex();
            if (index == -1) {
                return;
            }
            curComboSelectIndex = index;
            curComboSelectName = srollCombo.getItem(index);
            if (curComboSelectName.equals(editEnumNameEdition)) {

                int retCode = OpenListDialog();

                if (retCode != Dialog.CANCEL) {
                    listUpdateEvent = new PropertyChangeEvent(fieldListener, VALUE,
                            Concatenate(listSystemPath, listConcatenateCurrent),
                            Concatenate(listSystemPath, listConcatenateUpdate));
                    itemList = stripRelative(new String[] { listConcatenateUpdate })[0];
                    srollCombo.setItem(editEnumNameIndex, itemList);
                    srollCombo.select(editEnumNameIndex);
                    curComboSelectIndex = editEnumNameIndex;
                    listConcatenateCurrent = listConcatenateUpdate;
                    enumComboNames[curComboSelectIndex] = itemList;
                    curComboSelectName = itemList;
                } else {
                    curComboSelectIndex = oldIndex;
                    srollCombo.select(oldIndex);
                    curComboSelectName = oldValue;
                }
            }
            setPresentsDefaultValue(false);

            if (listUpdateEvent != null) {
                // Update the optionCache with new concatenated list
                if (fieldListener instanceof MaestroFileListControlFieldEditor) {
                    ((MaestroFileListControlFieldEditor) (fieldListener)).forceStringListValue(
                            Concatenate(listSystemPath, listConcatenateCurrent).split(";"));
                }
                optionBuilderListener.propertyChange(listUpdateEvent);
                if (optionInclude != null) {
                    itemList = Concatenate(listSystemPath, listConcatenateCurrent);
                    itemList = itemList.replaceAll("\\[|\\]", "");

                    cdtFieldEditor.forceStringListValue(getAbsolutePath(itemList.split(";")));
                    listUpdateEvent = new PropertyChangeEvent(cdtFieldEditor, VALUE, null, null);
                    // Update the optionInclude with new concatenated list
                    optionBuilderListener.propertyChange(listUpdateEvent);
                    cdtFieldEditor.dispose();
                }
            }
            // Update the optionEnumCombo enumerated option with new selection
            fireValueChanged(VALUE, enumOptionName[oldIndex], enumOptionName[curComboSelectIndex]);
        }

    });

    srollCombo.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent event) {
            event.doit = false;
            if (event.keyCode == SWT.ARROW_LEFT || event.keyCode == SWT.ARROW_RIGHT || event.keyCode == SWT.HOME
                    || event.keyCode == SWT.END) {
                event.doit = true;
            }
        }
    });
}

From source file:cc.warlock.rcp.util.FontSelector.java

License:Open Source License

public FontSelector(Composite parent) {
    listeners = new ArrayList<IPropertyChangeListener>();
    button = new Button(parent, SWT.PUSH);
    button.setText("Choose...");
    button.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);// w  w  w.j av  a 2 s  .  c  om
        }

        public void widgetSelected(SelectionEvent e) {
            FontDialog dialog = new FontDialog(button.getShell());
            if (fontData != null)
                dialog.setFontList(new FontData[] { fontData });

            FontData oldData = fontData;
            fontData = dialog.open();

            if (fontData != null) {
                font = new Font(button.getDisplay(), fontData);

                for (IPropertyChangeListener listener : listeners)
                    listener.propertyChange(
                            new PropertyChangeEvent(FontSelector.this, "fontData", oldData, fontData));
            }
        }
    });
}

From source file:ch.elexis.core.ui.preferences.SettingsPreferenceStore.java

License:Open Source License

public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
    for (IPropertyChangeListener l : listeners) {
        l.propertyChange(new PropertyChangeEvent(this, name, oldValue, newValue));
    }/*from www .j a v  a2s.  c  om*/
}

From source file:ch.unibe.iam.scg.archie.actions.NewStatisticsAction.java

License:Open Source License

/**
 * This method is being called as soon as the job this action observes,
 * finishes. The action is enabled as soon as the last job finishes. This
 * method also creates and sets the result table in the result view as well
 * as information about the parameters of the active provider in the header
 * of the result panel.//from   www  . j  a  v a2  s  .co m
 * 
 * @param event
 */
public void done(final IJobChangeEvent event) {
    // allow other threads to update this UI thread
    // @see http://www.eclipse.org/swt/faq.php#uithread
    UiDesk.getDisplay().syncExec(new Runnable() {
        public void run() {
            final ResultPanel results = NewStatisticsAction.this.view.getResultPanel();
            final AbstractDataProvider provider = ProviderManager.getInstance().getProvider();
            final DataSet dataset = provider.getDataSet();

            results.removeLoadingMessage();
            if (dataset.isEmpty()) {
                results.showEmptyMessage();
            } else {
                // create result table
                TableFactory tableFactory = TableFactory.getInstance();
                TableViewer viewer = tableFactory.createTableFromData(results, dataset,
                        provider.getLabelProvider(), provider.getContentProvider());

                // add column dataset sorter and add table to the manager
                new DatasetTableColumnSorter(viewer.getTable(), dataset);
                TableManager.getInstance().setTable(viewer.getTable());

                // add selection menu
                MenuManager menuManager = new MenuManager();
                Menu menu = menuManager.createContextMenu(viewer.getTable());
                viewer.getTable().setMenu(menu);

                NewStatisticsAction.this.view.getSite().registerContextMenu(menuManager, viewer);
                NewStatisticsAction.this.view.getSite().setSelectionProvider(viewer);
            }

            // remove old chart models
            ChartModelManager.getInstance().clean();

            // layout results at last
            results.layout();

            // enable all actions back again
            NewStatisticsAction.this.view.setActionsEnabled(true);
            NewStatisticsAction.this.setEnabled(true);

            // delegate property change event
            for (IPropertyChangeListener listener : NewStatisticsAction.this.listeners) {
                listener.propertyChange(new PropertyChangeEvent(NewStatisticsAction.this,
                        NewStatisticsAction.JOB_DONE, null, null));
            }
        }
    });
}

From source file:ch.unibe.iam.scg.archie.actions.NewStatisticsAction.java

License:Open Source License

/**
 * Updated the IPropertyChangeListener listeners for this action with a new
 * PropertyChangeEvent containing the jobs current status.
 *//*from   w w w  . jav a 2s.  c  o m*/
private void updateListeners() {
    // delegate property change event
    for (IPropertyChangeListener listener : this.listeners) {
        listener.propertyChange(new PropertyChangeEvent(this, NewStatisticsAction.JOB_RUNNING, null, null));
    }
}

From source file:chuck.terran.admin.ui.jface.LineSelector.java

License:Open Source License

/**
 * Activate the editor for this selector. This causes the color selection
 * dialog to appear and wait for user input.
 *
 * @since 3.2/*from  w w  w .j  ava 2  s .  co m*/
 */
public void open() {
    LineDialog lineDialog = new LineDialog(fButton.getShell());
    lineDialog.setAttributes(fLineValue);
    LineAttributes newLine = lineDialog.openDialog();
    if (newLine != null) {
        LineAttributes oldValue = fLineValue;
        fLineValue = newLine;
        final Object[] finalListeners = getListeners();
        if (finalListeners.length > 0) {
            PropertyChangeEvent pEvent = new PropertyChangeEvent(this, PROP_LINECHANGE, oldValue, newLine);
            for (int i = 0; i < finalListeners.length; ++i) {
                IPropertyChangeListener listener = (IPropertyChangeListener) finalListeners[i];
                listener.propertyChange(pEvent);
            }
        }
        updateLineImage();
    }
}

From source file:com.agynamix.platform.frontend.preferences.ApplicationPreferenceStore.java

License:Open Source License

public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
    final Object[] finalListeners = this.listeners.getListeners();
    // Do we need to fire an event.
    if (finalListeners.length > 0 && (oldValue == null || !oldValue.equals(newValue))) {
        final PropertyChangeEvent pe = new PropertyChangeEvent(this, name, oldValue, newValue);
        for (int i = 0; i < finalListeners.length; ++i) {
            IPropertyChangeListener l = (IPropertyChangeListener) finalListeners[i];
            l.propertyChange(pe);/*www  .j  a  v a 2s .co m*/
        }
        //      }
        //    });
    }
}

From source file:com.amalto.workbench.compare.Utilities.java

License:Open Source License

public static void firePropertyChange(ListenerList listenerList, Object source, String property, Object old,
        Object newValue) {//from   w  w w . ja v a2s .c  om
    PropertyChangeEvent event = new PropertyChangeEvent(source, property, old, newValue);
    firePropertyChange(listenerList, event);
}