Example usage for org.eclipse.jface.preference IPreferenceStore removePropertyChangeListener

List of usage examples for org.eclipse.jface.preference IPreferenceStore removePropertyChangeListener

Introduction

In this page you can find the example usage for org.eclipse.jface.preference IPreferenceStore removePropertyChangeListener.

Prototype

void removePropertyChangeListener(IPropertyChangeListener listener);

Source Link

Document

Removes the given listener from this preference store.

Usage

From source file:com.aptana.editor.findbar.impl.FindBarDecorator.java

License:Open Source License

public void dispose() {
    findBarVisibilityControl.unregister(this);
    IPreferenceStore preferenceStore = FindBarPlugin.getDefault().getPreferenceStore();
    preferenceStore.removePropertyChangeListener(fFindBarActionOnPropertyChange);
    fOriginalFindBarAction = null;/*from w w w .java 2 s . c o m*/
    if (fStringNotFoundColor != null) {
        fStringNotFoundColor.dispose();
        fStringNotFoundColor = null;
    }
    for (FindBarOption opt : this.fFindBarOptions) {
        opt.dispose();
    }
    findBarEntriesHelper.unregister(entriesControlHandles);
    entriesControlHandles.clear();

    if (sourceViewer.getTextWidget() != null && !sourceViewer.getTextWidget().isDisposed()) {
        sourceViewer.getTextWidget().removeFocusListener(textViewerFocusListener);
    }
}

From source file:com.aptana.editor.findbar.impl.FindBarOption.java

License:Open Source License

public void dispose() {
    if (fPropertyChangeListener != null) {
        IPreferenceStore preferenceStore = FindBarPlugin.getDefault().getPreferenceStore();
        preferenceStore.removePropertyChangeListener(fPropertyChangeListener);
        fPropertyChangeListener = null;/*from  w  ww .  ja va  2 s  . c o  m*/
    }
}

From source file:com.aptana.formatter.ui.preferences.ScriptSourcePreviewerUpdater.java

License:Open Source License

/**
 * Creates a script source preview updater for the given viewer, configuration and preference store.
 * /*from   ww w  .j a  v a  2s  .  c o  m*/
 * @param viewer
 *            the viewer
 * @param configuration
 *            the configuration
 * @param preferenceStore
 *            the preference store
 */
public ScriptSourcePreviewerUpdater(final SourceViewer viewer, final SourceViewerConfiguration configuration,
        final IPreferenceStore preferenceStore) {
    Assert.isNotNull(viewer);
    Assert.isNotNull(configuration);
    Assert.isNotNull(preferenceStore);
    final IPropertyChangeListener fontChangeListener = new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            final String fontKey = JFaceResources.TEXT_FONT;
            if (fontKey.equals(event.getProperty())) {
                final Font font = JFaceResources.getFont(fontKey);
                viewer.getTextWidget().setFont(font);
            }
        }
    };

    final IPreferenceChangeListener themeListener = new IPreferenceChangeListener() {

        public void preferenceChange(PreferenceChangeEvent event) {
            if (event.getKey().equals(IThemeManager.THEME_CHANGED)) {
                ColorManager colorManager = ThemePlugin.getDefault().getColorManager();
                IThemeManager themeManager = ThemePlugin.getDefault().getThemeManager();
                Color color = colorManager.getColor(themeManager.getCurrentTheme().getBackground());
                StyledText styledText = viewer.getTextWidget();
                styledText.setBackground(color);
            }
        }
    };

    // Listen to theme changes
    final IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            // if (configuration.affectsTextPresentation(event)) {
            // configuration.handlePropertyChangeEvent(event);
            viewer.invalidateTextPresentation();
            // }
        }
    };

    viewer.getTextWidget().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            preferenceStore.removePropertyChangeListener(propertyChangeListener);
            JFaceResources.getFontRegistry().removeListener(fontChangeListener);
            if (themeListener != null) {
                EclipseUtil.instanceScope().getNode(ThemePlugin.PLUGIN_ID)
                        .removePreferenceChangeListener(themeListener);
            }
        }
    });

    JFaceResources.getFontRegistry().addListener(fontChangeListener);
    preferenceStore.addPropertyChangeListener(propertyChangeListener);
    EclipseUtil.instanceScope().getNode(ThemePlugin.PLUGIN_ID).addPreferenceChangeListener(themeListener);
}

From source file:com.aptana.ide.editor.css.BrowserExtensionLoader.java

License:Open Source License

/**
 * Computes an alpabetized list of browsers to show previews for.
 *//*  w  w w . ja  v  a 2s  . c o m*/
private static void computeShowList() {
    showList.clear();
    String browserString = CSSPlugin.getDefault().getPreferenceStore()
            .getString(IPreferenceConstants.CSSEDITOR_BROWSER_PREVIEW_PREFERENCE);
    String[] browsers_names = browserString.split(","); //$NON-NLS-1$

    // See comment below about mac fix
    IConfigurationElement safari = null;
    IConfigurationElement element;
    int size = browserList.size();

    for (int i = 0; i < size; i++) {
        element = browserList.get(i);

        // See comment below about mac fix
        String name = getBrowserLabel(element);
        if (safari == null && "Safari".equals(name)) //$NON-NLS-1$
        {
            safari = element;
        }

        if (name != null) {
            boolean show = false;
            for (int k = 0; k < browsers_names.length && !show; k++) {
                if (name.equals(browsers_names[k])) {
                    show = true;
                }
            }
            if (show) {
                showList.add(element);
            }
        }
    }

    // Fix for users with currently only the Firefox preview added, this will add the safari first so the start
    // page/web views won't break anymore for these users
    if (OS.equals(Platform.OS_MACOSX)) {
        if (showList.size() == 1) {
            element = showList.get(0);
            IPreferenceStore store = CSSPlugin.getDefault().getPreferenceStore();
            store.removePropertyChangeListener(propertyChangeListener);
            if (getBrowserLabel(element).equals("Firefox")) //$NON-NLS-1$
            {
                if (safari != null) {
                    showList.add(0, safari);
                    // Add safari back to prefs
                    store.setValue(IPreferenceConstants.CSSEDITOR_BROWSER_PREVIEW_PREFERENCE,
                            browserString + ",Safari"); //$NON-NLS-1$
                } else {
                    showList.clear();
                    // Clear prefs completely
                    store.setValue(IPreferenceConstants.CSSEDITOR_BROWSER_PREVIEW_PREFERENCE, ""); //$NON-NLS-1$
                }
            }
            store.addPropertyChangeListener(propertyChangeListener);
        }
    }
}

From source file:com.aptana.ide.editors.preferences.GeneralPreferencePage.java

License:Open Source License

/**
 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#dispose()
 *//*from   w  w  w .  j av  a2s.com*/
public void dispose() {
    IPreferenceStore store = EditorsPlugin.getDefault().getPreferenceStore();
    store.removePropertyChangeListener(tabWidthListener);
    super.dispose();
}

From source file:com.aptana.ide.editors.unified.contentassist.CompletionProposalPopup.java

License:Open Source License

/**
 * Creates the proposal selector.//  w ww .  ja  v  a  2  s . c om
 */
private void createProposalSelector() {
    Control control = fContentAssistSubjectControlAdapter.getControl();
    if (Helper.okToUse(fProposalShell)) {
        // Custom code to force colors again in case theme changed...
        // Not sure why we don't set background for all WS here
        if (!"carbon".equals(SWT.getPlatform())) //$NON-NLS-1$
        {
            fProposalShell.setBackground(getForegroundColor(control));
        }

        Color c = getBackgroundColor(control);
        fProposalTable.setBackground(c);

        c = getForegroundColor(control);
        fProposalTable.setForeground(c);
        return;
    }

    fProposalShell = new Shell(control.getShell(), SWT.ON_TOP | SWT.RESIZE);
    fProposalTable = new Table(fProposalShell, SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL);
    Listener listener = new Listener() {
        public void handleEvent(Event event) {
            handleSetData(event);
        }
    };
    fProposalTable.addListener(SWT.SetData, listener);

    final IPreferenceStore store = UnifiedEditorsPlugin.getDefault().getPreferenceStore();
    _insertOnTab = store.getBoolean(IPreferenceConstants.INSERT_ON_TAB);

    String agents = store.getString(IPreferenceConstants.USER_AGENT_PREFERENCE);
    if (agents != null && !agents.equals(StringUtils.EMPTY)) {
        fUserAgents = agents.split(",").length; //$NON-NLS-1$
    } else {
        fUserAgents = 0;
    }

    TableColumn initialInfo = new TableColumn(fProposalTable, SWT.LEFT);
    initialInfo.setWidth(16);

    for (int i = 0; i < fUserAgents; i++) {
        TableColumn tc = new TableColumn(fProposalTable, SWT.LEFT);
        tc.setWidth(17);
    }

    TableColumn locationInfo = new TableColumn(fProposalTable, SWT.LEFT);
    locationInfo.setWidth(16);

    fProposalTable.setLocation(0, 0);
    if (fAdditionalInfoController != null) {
        fAdditionalInfoController.setSizeConstraints(40, 10, true, false);
    }

    GridLayout layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    fProposalShell.setLayout(layout);

    GridData data = new GridData(GridData.FILL_BOTH);

    Point size = fContentAssistant.restoreCompletionProposalPopupSize();
    if (size != null) {
        fProposalTable.setLayoutData(data);
        fProposalShell.setSize(size);
    } else {
        data.heightHint = fProposalTable.getItemHeight() * CompletionProposalPopup.PROPOSAL_ITEM_HEIGHT;
        data.widthHint = 300;
        fProposalTable.setLayoutData(data);
        fProposalShell.pack();
    }

    fProposalShell.addControlListener(new ControlListener() {

        public void controlMoved(ControlEvent e) {
        }

        public void controlResized(ControlEvent e) {
            if (fAdditionalInfoController != null) {
                // reset the cached resize constraints
                fAdditionalInfoController.setSizeConstraints(40, 10, true, false);
            }

            fSize = fProposalShell.getSize();
        }
    });

    if (!"carbon".equals(SWT.getPlatform())) //$NON-NLS-1$
    {
        fProposalShell.setBackground(getForegroundColor(control));
    }

    Color c = getBackgroundColor(control);
    fProposalTable.setBackground(c);

    c = getForegroundColor(control);
    fProposalTable.setForeground(c);

    fProposalTable.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            selectProposalWithMask(e.stateMask);
            // This disposal on windows it because of focus issue when a select is manually select and the next time
            // the popup is show it has focus and so editor typing focus is lost
            if (Platform.OS_WIN32.equals(Platform.getOS())) {
                disposePopup();
            }
        }
    });

    fPopupCloser.install(fContentAssistant, fProposalTable);
    final IPropertyChangeListener propListener = new IPropertyChangeListener() {

        public void propertyChange(PropertyChangeEvent event) {
            if (event.getProperty().equals(IPreferenceConstants.USER_AGENT_PREFERENCE)) {
                if (Helper.okToUse(fProposalShell)) {
                    fProposalShell.dispose();
                } else {
                    // shell already disposed so remove this listener
                    if (store != null) {
                        store.removePropertyChangeListener(this);
                    }
                }
            }
        }

    };
    store.addPropertyChangeListener(propListener);
    fProposalShell.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            if (store != null && propListener != null) {
                store.removePropertyChangeListener(propListener);
            }
            unregister(); // but don't dispose the shell, since we're being called from its
            // disposal event!
        }
    });

    fProposalTable.setHeaderVisible(false);
}

From source file:com.centurylink.mdw.plugin.server.ServerConsole.java

License:Apache License

/**
 * dispose of the text viewer and its resources
 *//*from www .j  ava  2s.c om*/
public void dispose() {
    super.dispose();
    IPreferenceStore store = MdwPlugin.getDefault().getPreferenceStore();
    store.removePropertyChangeListener(this);
}

From source file:com.cisco.yangide.editor.preferences.YangPreviewerUpdater.java

License:Open Source License

/**
 * Creates a Java source preview updater for the given viewer, configuration and preference
 * store.// w  w  w.j a v a2 s .  c om
 *
 * @param viewer the viewer
 * @param configuration the configuration
 * @param preferenceStore the preference store
 */
public YangPreviewerUpdater(final SourceViewer viewer, final YangSourceViewerConfiguration configuration,
        final IPreferenceStore preferenceStore) {
    Assert.isNotNull(viewer);
    Assert.isNotNull(configuration);
    Assert.isNotNull(preferenceStore);
    final IPropertyChangeListener fontChangeListener = new IPropertyChangeListener() {
        /*
         * @see
         * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util
         * .PropertyChangeEvent)
         */
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getProperty().equals(PreferenceConstants.EDITOR_TEXT_FONT)) {
                Font font = JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT);
                viewer.getTextWidget().setFont(font);
            }
        }
    };
    final IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
        /*
         * @see
         * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util
         * .PropertyChangeEvent)
         */
        public void propertyChange(PropertyChangeEvent event) {
            if (configuration.affectsTextPresentation(event)) {
                configuration.handlePropertyChangeEvent(event);
                viewer.invalidateTextPresentation();
            }
        }
    };
    viewer.getTextWidget().addDisposeListener(new DisposeListener() {
        /*
         * @see
         * org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent
         * )
         */
        public void widgetDisposed(DisposeEvent e) {
            preferenceStore.removePropertyChangeListener(propertyChangeListener);
            JFaceResources.getFontRegistry().removeListener(fontChangeListener);
        }
    });
    JFaceResources.getFontRegistry().addListener(fontChangeListener);
    preferenceStore.addPropertyChangeListener(propertyChangeListener);
}

From source file:com.drgarbage.bytecodevisualizer.preferences.GeneralPreferencePage.java

License:Apache License

@Override
public boolean performOk() {
    EventGroupingListener eventGroupingListener = createEventGroupingListener();
    IPreferenceStore store = getPreferenceStore();
    store.addPropertyChangeListener(eventGroupingListener);

    /* The following line eventually fires several Property Change Events.
     * EventGroupingListener is able to detect if any of our events has changed */
    boolean superOk = super.performOk();

    if (superOk && eventGroupingListener.isSomePropertyChanged()) {
        /* reopen editors */
        CorePlugin.reopenEditors(new String[] { CoreConstants.BYTECODE_VISUALIZER_EDITOR_ID });
    }//from w  w w.  ja v a2  s . c  om

    /* tidy up */
    store.removePropertyChangeListener(eventGroupingListener);

    return superOk;

}

From source file:com.drgarbage.core.preferences.GraphPanelLocationPreferencePage.java

License:Apache License

@Override
public boolean performOk() {
    EventGroupingListener eventGroupingListener = createEventGroupingListener();
    IPreferenceStore store = getPreferenceStore();
    store.addPropertyChangeListener(eventGroupingListener);

    /* The following line eventually fires several Property Change Events.
     * EventGroupingListener is able to detect if any of our properties has changed */
    boolean superOk = super.performOk();

    if (superOk && eventGroupingListener.isSomePropertyChanged()) {
        /* reopen editors */
        CorePlugin.reopenEditors(new String[] { CoreConstants.BYTECODE_VISUALIZER_EDITOR_ID,
                CoreConstants.SOURCECODE_VISUALIZER_EDITOR_ID });

        /* Open the graph view if necessary */
        String s = getPreferenceStore().getString(CorePreferenceConstants.GRAPH_PANEL_LOCATION);
        if (CorePreferenceConstants.GRAPH_PANEL_LOCATION_SEPARATE_VIEW.equals(s)) {
            CorePlugin.ensureGraphViewShown();
        }//from   w  ww . j  a  v a 2  s  .c o  m
    }

    /* tidy up */
    store.removePropertyChangeListener(eventGroupingListener);

    return superOk;

}