Example usage for org.eclipse.jface.preference PreferenceManager POST_ORDER

List of usage examples for org.eclipse.jface.preference PreferenceManager POST_ORDER

Introduction

In this page you can find the example usage for org.eclipse.jface.preference PreferenceManager POST_ORDER.

Prototype

int POST_ORDER

To view the source code for org.eclipse.jface.preference PreferenceManager POST_ORDER.

Click Source Link

Document

Post-order means visit the children, and then the root.

Usage

From source file:org.eclipse.ui.internal.dialogs.WorkbenchPreferenceManager.java

License:Open Source License

/**
 * Create a new instance of the receiver with the specified seperatorChar
 * /*from   ww w  . j av a2  s.  c  o m*/
 * @param separatorChar
 */
public WorkbenchPreferenceManager(char separatorChar) {
    super(separatorChar, new WorkbenchPreferenceExpressionNode("")); //$NON-NLS-1$

    IExtensionTracker tracker = PlatformUI.getWorkbench().getExtensionTracker();
    tracker.registerHandler(this, ExtensionTracker.createExtensionPointFilter(getExtensionPointFilter()));

    // add a listener for keyword deltas. If any occur clear all page caches
    Platform.getExtensionRegistry().addRegistryChangeListener(new IRegistryChangeListener() {

        /*
        * (non-Javadoc)
        * 
        * @see org.eclipse.core.runtime.IRegistryChangeListener#registryChanged(org.eclipse.core.runtime.IRegistryChangeEvent)
        */
        public void registryChanged(IRegistryChangeEvent event) {
            if (event.getExtensionDeltas(PlatformUI.PLUGIN_ID,
                    IWorkbenchRegistryConstants.PL_KEYWORDS).length > 0) {
                for (Iterator j = getElements(PreferenceManager.POST_ORDER).iterator(); j.hasNext();) {
                    ((WorkbenchPreferenceNode) j.next()).clearKeywords();
                }
            }
        }
    });
}

From source file:org.eclipse.ui.internal.dialogs.WorkbenchPreferenceManager.java

License:Open Source License

public void addExtension(IExtensionTracker tracker, IExtension extension) {
    IConfigurationElement[] elements = extension.getConfigurationElements();
    for (int i = 0; i < elements.length; i++) {
        WorkbenchPreferenceNode node = PreferencePageRegistryReader.createNode(elements[i]);
        if (node == null) {
            continue;
        }//from   w w w .  j a v  a 2  s  .c o m
        registerNode(node);
        String category = node.getCategory();
        if (category == null) {
            addToRoot(node);
        } else {
            IPreferenceNode parent = null;
            for (Iterator j = getElements(PreferenceManager.POST_ORDER).iterator(); j.hasNext();) {
                IPreferenceNode element = (IPreferenceNode) j.next();
                if (category.equals(element.getId())) {
                    parent = element;
                    break;
                }
            }
            if (parent == null) {
                // Could not find the parent - log
                String message = "Invalid preference category path: " + category + " (bundle: " //$NON-NLS-1$//$NON-NLS-2$
                        + node.getPluginId() + ", page: " + node.getId() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ 
                WorkbenchPlugin.log(StatusUtil.newStatus(IStatus.WARNING, message, null));
                addToRoot(node);
            } else {
                parent.add(node);
            }
        }
    }
}

From source file:org.jboss.tools.common.ui.marker.ConfigureProblemSeverityMarkerResolution.java

License:Open Source License

private WorkbenchPreferenceNode findPageNode() {
    final PreferenceManager preferenceManager = PlatformUI.getWorkbench().getPreferenceManager();
    List nodes = preferenceManager.getElements(PreferenceManager.POST_ORDER);
    for (Iterator i = nodes.iterator(); i.hasNext();) {
        IPreferenceNode node = (IPreferenceNode) i.next();
        if (node.getId().equals(preferencePageId)) {
            return (WorkbenchPreferenceNode) node;
        }//from   w  ww.  j ava 2 s .co  m
    }
    return null;
}

From source file:org.locationtech.udig.style.sld.editor.EditorPageManager.java

License:Open Source License

/**
 * Create a new instance of the receiver with the specified seperatorChar
 * /*from  w w w .ja v a 2s . c  om*/
 * @param separatorChar
 */
public EditorPageManager(char separatorChar) {
    separator = new String(new char[] { separatorChar });

    IExtensionTracker tracker = PlatformUI.getWorkbench().getExtensionTracker();
    tracker.registerHandler(this, ExtensionTracker.createExtensionPointFilter(getExtensionPointFilter()));

    // add a listener for keyword deltas. If any occur clear all page caches
    Platform.getExtensionRegistry().addRegistryChangeListener(new IRegistryChangeListener() {

        public void registryChanged(IRegistryChangeEvent event) {
            if (event.getExtensionDeltas(StyleEditorPage.XPID, PL_KEYWORDS).length > 0) {
                for (Iterator<?> j = getElements(PreferenceManager.POST_ORDER).iterator(); j.hasNext();) {
                    ((EditorNode) j.next()).clearKeywords();
                }
            }
        }
    });
}

From source file:org.locationtech.udig.style.sld.editor.EditorPageManager.java

License:Open Source License

public void addExtension(IExtensionTracker tracker, IExtension extension) {

    IConfigurationElement[] elements = extension.getConfigurationElements();
    for (int i = 0; i < elements.length; i++) {
        EditorNode node = null;/*from   w w  w . j  a  v  a  2  s . c  o  m*/

        boolean nameMissing = elements[i].getAttribute(ATT_NAME) == null;
        String id = elements[i].getAttribute(ATT_ID);
        boolean classMissing = getClassValue(elements[i], ATT_CLASS) == null;

        //System.out.println(elements[i].id+","+nameMissing+","+classMissing);
        if (!(nameMissing || id == null || classMissing)) {
            node = new EditorNode(id, elements[i]);
        }

        if (node == null)
            continue;
        registerNode(node);
        String category = node.getCategory();
        if (category == null) {
            addToRoot(node);
        } else {
            EditorNode parent = null;
            for (Iterator<?> j = getElements(PreferenceManager.POST_ORDER).iterator(); j.hasNext();) {
                EditorNode element = (EditorNode) j.next();
                if (category.equals(element.getId())) {
                    parent = element;
                    break;
                }
            }
            if (parent == null) {
                //TODO: log error
                // Could not find the parent - log
                //                    WorkbenchPlugin
                //                            .log("Invalid preference page path: " + category); //$NON-NLS-1$
                addToRoot(node);
            } else {
                parent.add(node);
            }
        }
    }
}

From source file:org.modelio.app.preferences.ModelioPreferenceDialog.java

License:Open Source License

@objid("ea571be5-8067-4949-9647-e2c692636ae8")
private static IPreferenceNode findNode(PreferenceManager pm, String categoryId) {
    for (Object o : pm.getElements(PreferenceManager.POST_ORDER)) {
        if (o instanceof IPreferenceNode && ((IPreferenceNode) o).getId().equals(categoryId)) {
            return (IPreferenceNode) o;
        }//from w w w. java  2s. co  m
    }
    return null;
}

From source file:org.netxms.ui.eclipse.tools.ExtendedPropertyDialog.java

License:Open Source License

/**
 * Create controls for all pages//from w w w  .  ja va  2 s .  co  m
 */
public void createAllPages() {
    List<?> nodes = getPreferenceManager().getElements(PreferenceManager.POST_ORDER);
    Iterator<?> i = nodes.iterator();
    while (i.hasNext()) {
        IPreferenceNode node = (IPreferenceNode) i.next();
        if (node.getPage() == null)
            createPage(node);
        IPreferencePage page = getPage(node);
        page.setContainer(this);
        if (page.getControl() == null)
            page.createControl(getPageContainer());
    }
}

From source file:org.talend.designer.maven.ui.setting.repository.RepositoryMavenSettingDialog.java

License:Open Source License

@Override
protected IPreferenceNode findNodeMatching(String nodeId) {
    if (nodeId == null) {
        return null;
    }//w  w w . j  a  va 2  s .c o  m
    List<IPreferenceNode> nodes = this.getPreferenceManager().getElements(PreferenceManager.POST_ORDER);
    for (Iterator<IPreferenceNode> i = nodes.iterator(); i.hasNext();) {
        IPreferenceNode node = i.next();
        if (node.getId().equals(nodeId)) {
            return node;
        }
    }
    return null;
}