Example usage for org.eclipse.jface.preference IPreferenceNode findSubNode

List of usage examples for org.eclipse.jface.preference IPreferenceNode findSubNode

Introduction

In this page you can find the example usage for org.eclipse.jface.preference IPreferenceNode findSubNode.

Prototype

public IPreferenceNode findSubNode(String id);

Source Link

Document

Returns the subnode of this contribution node with the given node id.

Usage

From source file:com.google.dart.tools.deploy.ApplicationWorkbenchWindowAdvisor.java

License:Open Source License

private void filterUnwantedPreferenceNodes() {
    PreferenceManager preferenceManager = PlatformUI.getWorkbench().getPreferenceManager();
    for (Object elem : preferenceManager.getElements(PreferenceManager.POST_ORDER)) {
        if (elem instanceof IPreferenceNode) {
            IPreferenceNode node = (IPreferenceNode) elem;
            if (isBlacklisted(node)) {
                if (!preferenceManager.remove(node)) {
                    for (IPreferenceNode rootNode : preferenceManager.getRootSubNodes()) {
                        if (rootNode.findSubNode(node.getId()) != null) {
                            rootNode.remove(node);
                        }/*from w  w  w.ja  va  2s.  co m*/
                    }
                }
            }
        }
    }
}

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

License:Open Source License

/**
 * /*from w ww  . ja v  a 2s  .c  o m*/
 * If existed same id of node, will use it directly. Else will create one folder node.
 */
public IPreferenceNode createAndFindMavenFolderNode(final IPreferenceNode parentNode,
        final ILabelProvider labelProvider, final RepositoryNode node) {
    if (parentNode == null || labelProvider == null || node == null) {
        return null;
    }
    ERepositoryObjectType contentType = node.getContentType();
    // mabye it's not good for some sub nodes, for example, if for routines, supported type must containd
    // CODE.
    List<ERepositoryObjectType> supportedTypes = Arrays
            .asList(RepositoryMavenSettingManager.REGISTRY.getSupportTypes());
    if (!supportedTypes.contains(contentType)) {
        return null;
    }
    String id = buildFolderNodeId(parentNode, labelProvider, node);

    IPreferenceNode foundNode = parentNode.findSubNode(id);
    if (foundNode == null || foundNode != null && !(foundNode instanceof RepositoryPreferenceNode)) { // not found,
        IPreferenceNode mavenFolderNode = createFolderNode(id, labelProvider, node);
        if (mavenFolderNode != null) {
            // must be front, when add other nodes. make sure the build id is right.
            parentNode.add(mavenFolderNode);
            return mavenFolderNode;
        }
    } else { // found, just use existed one.
        return foundNode;
    }

    return null;
}