下面列出了怎么用org.eclipse.ui.IPluginContribution的API类实例代码及写法,或者点击链接到github查看源代码。
public void postWindowOpen() {
final PreferenceManager preferenceManager = PlatformUI.getWorkbench().getPreferenceManager();
final IPreferenceNode[] rootSubNodes = preferenceManager.getRootSubNodes();
// @see Bug #191 in general/bugzilla/index.html
final List<String> filters = new ArrayList<String>();
filters.add("org.eclipse.compare");
// The following three preferences are shown because the Toolbox uses
// the local history feature provided by o.e.team.ui
filters.add("org.eclipse.team.ui");
filters.add("org.eclipse.ui.trace");
filters.add("org.eclipse.jsch.ui");
// Filter out Pdf4Eclipse preference page.
filters.add("de.vonloesch.pdf4Eclipse");
// Filter out GraphViz
filters.add("com.abstratt.graphviz.ui");
// Clean the preferences
final List<IPreferenceNode> elements = preferenceManager.getElements(PreferenceManager.POST_ORDER);
for (Iterator<IPreferenceNode> iterator = elements.iterator(); iterator.hasNext();) {
final IPreferenceNode elem = iterator.next();
if (elem instanceof IPluginContribution) {
final IPluginContribution aPluginContribution = (IPluginContribution) elem;
if (filters.contains(aPluginContribution.getPluginId())) {
final IPreferenceNode node = (IPreferenceNode) elem;
// remove from root node
preferenceManager.remove(node);
// remove from all subnodes
for (int i = 0; i < rootSubNodes.length; i++) {
final IPreferenceNode subNode = rootSubNodes[i];
subNode.remove(node);
}
}
}
}
super.postWindowOpen();
// At this point in time we can be certain that the UI is fully
// instantiated (views, editors, menus...). Thus, register
// listeners that connect the UI to the workspace resources.
ToolboxLifecycleParticipantManger.postWorkbenchWindowOpen();
}