我正在開發一個實現導入文件嚮導的Eclipse插件項目,該項目專爲與自定義項目類型相關的文件而設計。嚮導的其中一個頁面是WizardNewFileCreationPage
頁面,其中顯示了項目瀏覽器自動(據我所知)。該項目瀏覽器顯示工作區中可用的所有項目。但是,正如我所說的,由於該向導處理的文件對於一個特定的項目類型非常有用,因此我想限制該瀏覽器並僅顯示該自定義類型的項目。如何以編程方式定義項目瀏覽器在WizardNewFileCreationPage中將顯示的項目類型
我知道如何選擇一個自定義類型的項目:
List<IProject> projectList = new LinkedList<IProject>();
try {
IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
IProject[] projects = workspaceRoot.getProjects();
for(int i = 0; i < projects.length; i++) {
IProject project = projects[i];
if(project.hasNature("com.example.www.myNature")) {
projectList.add(project);
}
}
}
catch(CoreException ce) {
ce.printStackTrace();
}
在這個環節發現:Get a list of all java projects open in an Eclipse workspace
我假設WizardNewFileCreationPage
類包括,在幕後,一個TreeViewer
或類似的東西。無論如何,我如何過濾此嚮導頁面中項目資源管理器的內容? 我看了一下以下問題:How to programmatically change the selection within package explorer,但在我的情況下,activePart
變量是
org.eclipse.ui.navigator.resources.ProjectExplorer
類型不具有getTreeViewer()
方法。它有一個createPartControl()
方法:
public void createPartControl(Composite aParent);
這對我想要的有用嗎?或者是使用擴展點的情況?
非常感謝您的回答。
謝謝Greg,我很害怕這個。我會等一會兒,但我懷疑這是你的答案,我會接受。 – zerzevul