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:sernet.gs.ui.rcp.main.ApplicationWorkbenchAdvisor.java

License:Open Source License

/**
 * removes prefPages that were loaded from plugins but not needed
 * currently thats:/*ww w  .  j a v a2 s.c o m*/
 *     -   org.eclipse.datatools.connectivity.ui.preferences.dataNode
 *     -   org.eclipse.birt.report.designer.ui.preferences
 *     -   org.eclipse.birt.chart.ui.swt.fieldassist.preferences.FieldAssistPreferencePage
 */
private void removeUnneededPrefPages() {
    PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
    // add id of prefPage to remove here
    String[] prefPageIDsToRemove = new String[] { "org.eclipse.datatools.connectivity.ui.preferences.dataNode",
            "org.eclipse.birt.report.designer.ui.preferences",
            "org.eclipse.birt.chart.ui.swt.fieldassist.preferences.FieldAssistPreferencePage" };
    Set<String> idSet = new HashSet<String>();
    for (String s : prefPageIDsToRemove) {
        idSet.add(s);
    }
    for (IPreferenceNode node : pm.getRootSubNodes()) {
        if (idSet.contains(node.getId())) {
            // removing prefPages
            pm.remove(node);
        }
    }
}

From source file:sernet.gs.ui.rcp.main.preferences.ShowPreferencesAction.java

License:Open Source License

public void run() {

    PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();

    IPreferenceNode[] nodes = manager.getRootSubNodes();
    for (int i = 0; i < nodes.length; ++i) {
        if (nodes[i].getId().equals("org.eclipse.ui.preferencePages.Workbench")) {
            IPreferenceNode[] subNodes = nodes[i].getSubNodes();
            for (IPreferenceNode subNode : subNodes) {
                if (!subNode.getId().equals("org.eclipse.ui.net.NetPreferences")) {
                    nodes[i].remove(subNode.getId());
                } else {
                    manager.addToRoot(subNode);
                }//from   w ww . j a  v  a  2  s  .c  om
                manager.remove(nodes[i]);
            }
        }

        if (nodes[i].getId().equals("org.eclipse.help.ui.browsersPreferencePage") //$NON-NLS-1$
                || nodes[i].getId().equals("org.eclipse.help.ui.appserverPreferencePage") //$NON-NLS-1$
        ) {
            manager.remove(nodes[i]);
        }
    }
    //|| nodes[i].getId().equals("org.eclipse.update.internal.ui.preferences.MainPreferencePage") //$NON-NLS-1$

    final PreferenceDialog dialog = new PreferenceDialog(
            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), manager);

    if (prefPage != null) {
        dialog.setSelectedNode(prefPage);
    }
    BusyIndicator.showWhile(PlatformUI.getWorkbench().getDisplay(), new Runnable() {
        public void run() {

            dialog.create();
            dialog.open();
        }
    });

}