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

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

Introduction

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

Prototype

public final IPreferenceNode[] getRootSubNodes() 

Source Link

Document

Returns the root level nodes of this preference manager.

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);
                        }//ww  w  .  j  ava2  s.  c o  m
                    }
                }
            }
        }
    }
}

From source file:com.nextep.designer.ApplicationWorkbenchWindowAdvisor.java

License:Open Source License

/**
 * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#postWindowCreate()
 *///w  w  w  .  j  a v  a 2s  .  c om
@Override
public void postWindowCreate() {
    super.postWindowCreate();

    // Removing the "Team" section from the preferences.
    PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
    IPreferenceNode[] rootSubNodes = pm.getRootSubNodes();

    for (IPreferenceNode node : rootSubNodes) {
        if (EXCLUDED_PREFERENCE_NODES.contains(node.getId())) {
            pm.remove(node);
            log.debug("Removed node [" + node.getId() + "] from preferences"); //$NON-NLS-1$ //$NON-NLS-2$
        }
    }
}

From source file:gov.nasa.ensemble.core.rcp.EnsembleWorkbenchWindowAdvisor.java

License:Open Source License

protected final void cleanupPreferencePages() {
    Collection<Pattern> patterns = new HashSet<Pattern>();
    for (String s : getUndesirablePreferencePageIDRegExes())
        patterns.add(Pattern.compile(s));
    if (patterns.size() == 0)
        return;//from   w w  w . ja  v  a 2 s .c o m
    PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
    for (IPreferenceNode node : manager.getRootSubNodes()) {
        for (Pattern pattern : patterns) {
            if (pattern.matcher(node.getId()).matches()) {
                manager.remove(node);
                continue;
            }
        }
        cleanupPreferencePages(node, patterns);
    }
}

From source file:gov.nasa.ensemble.core.rcp.EnsembleWorkbenchWindowAdvisor.java

License:Open Source License

protected final void moveAdvancedPreferencesPages() {
    Collection<Pattern> patterns = new HashSet<Pattern>();
    for (String s : getAdvancedPreferenceRegExp())
        patterns.add(Pattern.compile(s));
    if (patterns.size() == 0)
        return;/*from   www.  j  a  v  a 2 s  .c  o m*/

    PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
    IPreferenceNode[] rootSubNodes = manager.getRootSubNodes();

    PreferenceNode advanced = null;
    Pattern advancePattern = Pattern.compile("AdvancedPreferenceNode");
    for (IPreferenceNode node : rootSubNodes) {
        if (advancePattern.matcher(node.getId()).matches()) {
            advanced = (PreferenceNode) node;
            break;
        }
    }
    if (advanced == null)
        return;

    for (IPreferenceNode node : rootSubNodes) {
        for (Pattern pattern : patterns) {
            if (pattern.matcher(node.getId()).matches()) {
                manager.remove(node);
                advanced.add(node);
                continue;
            }
        }
    }

}

From source file:org.bbaw.pdr.ae.standalone.ApplicationWorkbenchAdvisor.java

License:Open Source License

@Override
public void postStartup() {
    // TODO Auto-generated method stub
    super.postStartup();
    // set source parameter with user role.
    Facade.getInstanz().processUserRole();

    //remove unwanted preference pages
    PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
    IPreferenceNode[] arr = pm.getRootSubNodes();

    for (IPreferenceNode pn : arr) {
        if (pn.getId().equals("org.eclipse.ui.preferencePages.Workbench")) {
            pn.remove("org.eclipse.equinox.security.ui.category");
            pn.remove("org.eclipse.ui.preferencePages.Editors");

            pn.remove("org.eclipse.ui.preferencePages.Workspace");

            pn.remove("org.eclipse.ui.preferencePages.ContentTypes");
            break;
        }/*from ww  w  .j  a v  a  2s.co m*/
    }

}

From source file:org.eclipse.ui.internal.registry.PreferencePageParameterValues.java

License:Open Source License

public final Map getParameterValues() {
    if (preferenceMap == null) {
        preferenceMap = new TreeMap();

        final PreferenceManager preferenceManager = PlatformUI.getWorkbench().getPreferenceManager();
        collectParameterValues(preferenceMap, preferenceManager.getRootSubNodes(), null);
    }//from   w  ww .  j a  va2s.  c o  m

    return preferenceMap;
}

From source file:org.talend.commons.ui.utils.workbench.preferences.PreferencesHelper.java

License:Open Source License

/**
 * //from ww  w . ja  v  a 2 s.  com
 * Use the BFS(Breadth First Search) to remove the preferences ids.
 */
public static boolean removePages(String[] prefIds) {
    if (prefIds == null || prefIds.length == 0) {
        return false;
    }
    PreferenceManager preferenceManager = PlatformUI.getWorkbench().getPreferenceManager();

    List<String> removedIds = new ArrayList<String>();
    IPreferenceNode[] rootSubNodes = preferenceManager.getRootSubNodes();
    for (IPreferenceNode node : rootSubNodes) {
        String id = node.getId();
        if (ArrayUtils.contains(prefIds, id)) {
            preferenceManager.remove(node);
            removedIds.add(id);
        }
    }
    // do for children
    for (IPreferenceNode node : rootSubNodes) {
        removePages(node, prefIds, removedIds);
    }
    //
    List<String> doList = new ArrayList<String>(Arrays.asList(prefIds));
    doList.removeAll(removedIds);

    return doList.isEmpty(); // have done for all, so empty.
}

From source file:org.talend.rcp.util.ApplicationDeletionUtil.java

License:Open Source License

public static void removeAndResetPreferencePages(IWorkbenchWindow window, final List<String> prefsId,
        boolean needReset) {
    if (prefsId == null || prefsId.isEmpty()) {
        return;//  w  w w. j a  v  a  2 s . c o  m
    }
    if (window == null) {
        window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    }
    if (window == null) {
        return;
    }
    List<IPreferenceNode> prefsToDelete = new ArrayList<IPreferenceNode>();
    List<IPreferenceNode> prefsToDeleteParents = new ArrayList<IPreferenceNode>();
    IWorkbench workbench = window.getWorkbench();
    if (workbench == null) {
        return;
    }
    PreferenceManager preferenceManager = workbench.getPreferenceManager();

    for (IPreferenceNode node : preferenceManager.getRootSubNodes()) {
        IPreferenceNode existPreferenceNode = existPreferenceNode(prefsToDeleteParents, null, node, prefsId);
        if (existPreferenceNode != null) {
            prefsToDelete.add(existPreferenceNode);
        }
    }

    // reset mdm preference ,see TMDM-3215
    if (needReset) {
        resetMDMNode(preferenceManager, prefsToDeleteParents);
    }

    if (!prefsToDelete.isEmpty()) {
        List<IPreferenceNode> tmpPrefsToDelete = new ArrayList<IPreferenceNode>();
        for (IPreferenceNode node : preferenceManager.getRootSubNodes()) {
            for (IPreferenceNode delNode : prefsToDelete) {
                if (node.remove(delNode)) {
                    tmpPrefsToDelete.add(delNode);
                }
            }
        }
        prefsToDelete.removeAll(tmpPrefsToDelete);
        if (!prefsToDelete.isEmpty()) {
            for (IPreferenceNode parent : prefsToDeleteParents) {
                for (IPreferenceNode delNode : prefsToDelete) {
                    parent.remove(delNode);
                }
            }
        }
    }
}

From source file:org.talend.rcp.util.ApplicationDeletionUtil.java

License:Open Source License

private static void resetMDMNode(PreferenceManager preferenceManager,
        List<IPreferenceNode> prefsToDeleteParents) {

    IPreferenceNode mdmNode = null;/* ww  w. j  a  v  a 2s .c  o m*/
    IPreferenceNode newRepositoryNode = null;

    for (IPreferenceNode node : preferenceManager.getRootSubNodes()) {
        String[] nPrefsId = { "org.talend.mdm.repository.ui.preferences.AutoDeployPreferencePage" }; //$NON-NLS-1$ 
        IPreferenceNode existPreferenceNode = existPreferenceNode(prefsToDeleteParents, null, node,
                Arrays.asList(nPrefsId));
        if (existPreferenceNode != null) {
            mdmNode = existPreferenceNode;
        }
    }

    for (IPreferenceNode node : preferenceManager.getRootSubNodes()) {
        String[] nPrefsId = { "org.talend.mdm.repository.ui.preferences.RepositoryPreferencePage" }; //$NON-NLS-1$ 
        IPreferenceNode existPreferenceNode = existPreferenceNode(prefsToDeleteParents, null, node,
                Arrays.asList(nPrefsId));
        if (existPreferenceNode != null) {
            newRepositoryNode = existPreferenceNode;
        }
    }
    if (newRepositoryNode != null && mdmNode != null)
        newRepositoryNode.add(mdmNode);
}

From source file:org.talend.repository.ui.dialog.ProjectSettingDialog.java

License:Open Source License

/**
 * get all projectsettingPage node dynamic. need get the different result each time. because the tester will calc
 * dymamic./*  ww w  . j ava2  s.com*/
 * 
 * @return PreferenceManager
 */
private PreferenceManager getNodeManager() {
    // PreferenceManager manager = new PreferenceManager(WorkbenchPlugin.PREFERENCE_PAGE_CATEGORY_SEPARATOR);
    PreferenceManager manager = new PreferenceManager('/');
    IExtensionRegistry registry = Platform.getExtensionRegistry();
    IConfigurationElement[] configurationElements = registry
            .getConfigurationElementsFor("org.talend.repository.projectsetting_page"); //$NON-NLS-1$

    Map<String, List<IPreferenceNode>> hasCategoriesNodes = new HashMap<String, List<IPreferenceNode>>();

    for (IConfigurationElement element : configurationElements) {
        ProjectSettingNode node = new ProjectSettingNode(element);
        try {
            IPreferencePage page = (IPreferencePage) element.createExecutableExtension("class"); //$NON-NLS-1$
            node.setPage(page);
            String id = element.getAttribute("id");//$NON-NLS-1$
            IConfigurationElement[] testers = element.getChildren("tester");
            if (testers != null && testers.length == 1) { // currently, only one tester is supported.
                try {
                    IProjectSettingPageTester pageTester = (IProjectSettingPageTester) testers[0]
                            .createExecutableExtension("class");
                    if (pageTester != null) {
                        if (!pageTester.valid(element, node)) {
                            continue; // don't add this page node.
                        }
                    }
                } catch (CoreException ex) {
                    // can't create the tester
                    log.log(Level.WARN, "can't create the project setting tester for " + id, ex);
                }
            }

            page.setDescription(element.getAttribute("description")); //$NON-NLS-1$
            page.setTitle(element.getAttribute("title")); //$NON-NLS-1$
        } catch (CoreException e) {
            ExceptionHandler.process(e);
        }
        // add all into root.
        manager.addToRoot(node);

        // has category
        String category = node.getCategory();
        if (category != null && category.length() > 0) {
            List<IPreferenceNode> list = hasCategoriesNodes.get(category);
            if (list == null) {
                list = new ArrayList<IPreferenceNode>();
                hasCategoriesNodes.put(category, list);
            }
            list.add(node);
        }
    }

    // add the speciall node for maven custom
    if (GlobalServiceRegister.getDefault().isServiceRegistered(IMavenUIService.class)) {
        IMavenUIService mavenUIService = (IMavenUIService) GlobalServiceRegister.getDefault()
                .getService(IMavenUIService.class);
        IPreferenceNode mavenCostomSetup = manager.find("projectsetting.MavenCustomSetup");
        mavenUIService.addCustomMavenSettingChildren(mavenCostomSetup);
    }

    // find parent nodes for category
    Map<String, IPreferenceNode> parentNodesMap = new HashMap<String, IPreferenceNode>();
    for (String category : hasCategoriesNodes.keySet()) {
        IPreferenceNode parent = manager.find(category);
        if (parent != null) {
            parentNodesMap.put(category, parent);
        }
    }
    // process children nodes
    for (String category : hasCategoriesNodes.keySet()) {
        List<IPreferenceNode> list = hasCategoriesNodes.get(category);
        if (list != null) {

            IPreferenceNode parent = parentNodesMap.get(category);
            Collections.sort(list, COMPARATOR);
            for (IPreferenceNode node : list) {
                // if the parent is not valid or not existed. the node won't show also.
                manager.remove(node); // remove from root node.
                if (parent != null) { // the parent existed.
                    parent.add(node);
                }
            }
        }
    }

    // sort the root nodes
    List<IPreferenceNode> rootSubNodesList = new ArrayList<IPreferenceNode>(
            Arrays.asList(manager.getRootSubNodes()));

    Collections.sort(rootSubNodesList, COMPARATOR);
    manager.removeAll(); // clean all to re-add for order

    // add the sorted list to manager
    for (IPreferenceNode rootSubNode : rootSubNodesList) {
        manager.addToRoot(rootSubNode);
    }
    return manager;
}