从向导页面的列表中选择文件
File Selection from List in a Wizard page
我有一个获取 IFile 列表的向导页面。我想向用户显示列表和列表中的 select 一个文件。然后向导 returns selected 文件。
在 WizardPage 的 createControl()
中,是否可以使用标准文件选择器来代替从头开始构建? (可能类似于 table 使用滚动条显示列表的视图列表。)
有一个 FilteredResourcesSelectionDialog
弹出窗口显示任何想要的资源,最终带有预加载的正则表达式,允许搜索文件,你给他一个根目录:
您调用 getResult()
将选择检索为对象[]。
如果你只想做一个向导,那么我会这样做。
如果它是包含在执行其他操作的向导中的列表,则只需列出所有文件并创建一个 org.eclipse.swt.widgets.List
虽然没有现成的FileViewer之类的,你可以用一个TableViewer
和一个WorkbenchLabelProvider
来显示列表文件。
IFile[] files = ...
TableViewer fileViewer = new TableViewer( parent );
fileViewer.setInput( files );
fileViewer.setContentProvider( ArrayContentProvider.getInstance() );
fileViewer.setLabelProvider( new WorkbenchLabelProvider() );
这将创建一个单选 table(查看器),显示 files
数组中的文件。
如果应用多选或更多样式,请使用 new TableViewer( parent, SWT.MULTI | ... )
创建查看器。
如果文件列表需要按名称或类型排序,您可以使用 org.eclipse.ui.ide
插件中的 ResourceComparator
。
fileViewer.setComparator( new ResourceComparator( ResourceComparator.NAME ) );
如果您不想要额外的插件依赖或需要按其他标准排序,它仍然可以用作模板。
我有一个获取 IFile 列表的向导页面。我想向用户显示列表和列表中的 select 一个文件。然后向导 returns selected 文件。
在 WizardPage 的 createControl()
中,是否可以使用标准文件选择器来代替从头开始构建? (可能类似于 table 使用滚动条显示列表的视图列表。)
有一个 FilteredResourcesSelectionDialog
弹出窗口显示任何想要的资源,最终带有预加载的正则表达式,允许搜索文件,你给他一个根目录:
您调用 getResult()
将选择检索为对象[]。
如果你只想做一个向导,那么我会这样做。
如果它是包含在执行其他操作的向导中的列表,则只需列出所有文件并创建一个 org.eclipse.swt.widgets.List
虽然没有现成的FileViewer之类的,你可以用一个TableViewer
和一个WorkbenchLabelProvider
来显示列表文件。
IFile[] files = ...
TableViewer fileViewer = new TableViewer( parent );
fileViewer.setInput( files );
fileViewer.setContentProvider( ArrayContentProvider.getInstance() );
fileViewer.setLabelProvider( new WorkbenchLabelProvider() );
这将创建一个单选 table(查看器),显示 files
数组中的文件。
如果应用多选或更多样式,请使用 new TableViewer( parent, SWT.MULTI | ... )
创建查看器。
如果文件列表需要按名称或类型排序,您可以使用 org.eclipse.ui.ide
插件中的 ResourceComparator
。
fileViewer.setComparator( new ResourceComparator( ResourceComparator.NAME ) );
如果您不想要额外的插件依赖或需要按其他标准排序,它仍然可以用作模板。