2014-01-07 64 views
0

我在Eclipse中製作了一個樹型查看器,用於選擇一個項目,然後找出項目的位置並將其壓縮。我如何才能在treeviewer eclipse插件中顯示項目?

我現在可以顯示一個樹,顯示所有的項目,但它也允許你展開樹。

我在嚮導中這樣做,所以我無法進行任何對話。

我想我需要一個過濾器,但使用谷歌一段時間後,我無法弄清楚如何做到這一點。

這就是我目前正在製作觀看者的方式。

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

回答

0

它正在向您顯示該內容提供商的具體內容。

簡短的回答是setInput(ResourcesPlugin.getWorkspace()。getRoot()。getProjects())並將ArrayContentProvider與ListViewer而不是TableViewer結合使用。

長的答案是,您使用的內容提供程序通過getChildren()返回使用getElements()和任何資源的子級的樹控件的頂級元素,而您的情況對getChildren的結果不感興趣)。

0

項目從不嵌套,所以你只需要一個TableViewer來顯示它們。你可以得到項目清單使用:

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

相同的標籤供應商將工作。

相關問題