2015-05-22 18 views
0

我有一個嚮導頁面,它獲取了一個IFile列表。我想向用戶顯示列表並從列表中選擇一個文件。然後嚮導返回選定的文件。從嚮導頁面列表中選擇文件

有沒有一個標準的文件選擇器,我可以使用,而不是從頭開始在WizardPage的createControl()? (可能類似於使用滾動條顯示列表的表視圖列表)

回答

1

FilteredResourcesSelectionDialog這是一個彈出窗口,顯示任何想要的資源,最終使用預加載的正則表達式,允許搜索文件,並且您給他一個根目錄:

enter image description here

你叫getResult()檢索選擇爲Object []。

如果你只想做一個這樣做的嚮導,那麼我會這樣做。 如果它是一個列表包括在執行其他任務嚮導,然後只列出的所有文件,並創建一個org.eclipse.swt.widgets.List

1

雖然沒有現成的使用FileViewer或類似的,你可以使用一個TableViewer與一個WorkbenchLabelProvider來顯示文件列表。

IFile[] files = ... 
TableViewer fileViewer = new TableViewer(parent); 
fileViewer.setInput(files); 
fileViewer.setContentProvider(ArrayContentProvider.getInstance()); 
fileViewer.setLabelProvider(new WorkbenchLabelProvider()); 

這將創建從files陣列顯示文件的單選擇表(觀看者)。

如果適用多選或其他樣式,請使用new TableViewer(parent, SWT.MULTI | ...)創建查看器。

如果文件列表需要按名稱或類型排序,可以使用org.eclipse.ui.ide插件中的ResourceComparator

fileViewer.setComparator(new ResourceComparator(ResourceComparator.NAME)); 

如果你不想額外的插件依賴或需要通過其他標準來排序做,它仍可以作爲模板。