List of usage examples for org.eclipse.jface.preference IPreferenceNode findSubNode
public IPreferenceNode findSubNode(String id);
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; }