我怎样才能在treeviewer eclipse插件中显示项目?

时间:2014-01-07 02:00:14

标签: eclipse plugins eclipse-plugin eclipse-rcp

我正在Eclipse中创建一个用于选择项目的树查看器,然后我会找到项目的位置并将其压缩。

我当前可以显示一个显示所有项目的树,但它也允许您展开树。

我在向导中执行此操作,因此无法进行任何对话。

我想我需要一个过滤器,但在使用谷歌一段时间后,我无法弄清楚我是如何做到这一点的。

这就是我目前正在制作观众的方式。

TreeViewer view = new TreeViewer(composite,new WorkbenchLabelProvider(),new BaseWorkbenchContentProvider());
view.setInput(ResourcesPlugin.getWorkspace().getRoot());

2 个答案:

答案 0 :(得分:0)

项目永远不会嵌套,因此您只需要TableViewer来展示它们。您可以使用以下方式获取项目列表:

IProject [] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();

相同的标签提供商可以使用。

答案 1 :(得分:0)

它正在向您显示该内容提供商所写的内容。

简短的回答是setInput(ResourcesPlugin.getWorkspace()。getRoot()。getProjects())并将ArrayContentProvider与ListViewer而不是TableViewer一起使用。

答案很长,您使用的内容提供程序使用getElements()返回树控​​件的顶级元素,通过getChildren()返回任何资源的子控件,并且您的案例对getChildren()的结果不感兴趣