我想为我的应用程序创建一个“新项目”向导。该向导的第一页只是org.eclipse.ui.dialogs.WizardNewProjectCreationPage的实例。我想在第二个向导页面中将一些系统文件导入当前项目。我发现org.eclipse.ui.dialogs.WizardResourceImportPage非常接近我的想法,但我无法想象如何继承这个类并生成一个简单的文件导入页面。
有人能提供这样做的例子吗?谢谢!
我也试过像下面那样测试它(也覆盖了getFileProvider),但是文件树只显示了复选框但没有文件名。
protected ITreeContentProvider getFolderProvider()
{
// TODO Auto-generated method stub
return new WorkbenchContentProvider()
{
public Object[] getChildren( Object o )
{
if ( o instanceof java.io.File )
return FileSystemStructureProvider.INSTANCE.getChildren( o ).toArray();
else
return new Object[]{new java.io.File("C:\\temp")};
}
public boolean hasChildren( Object o )
{
if ( o instanceof java.io.File )
return FileSystemStructureProvider.INSTANCE.isFolder( o );
else
return false;
}
};
}
答案 0 :(得分:1)
WizardResourceImportPage
是抽象的,您可以扩展它并实现三个抽象方法。我要查看WizardFileSystemResourceImportPage1
正在实施WizardResourceImportPage
的工作,并研究该代码或将该类的源代码复制并粘贴到我自己的代码中。
修改强>
您上面的示例仅显示空白标签,因为WizardResourceImportPage
使用WorkbenchLabelProvider
,如果'content'对象(""
in,则此标签提供商将返回File
你的情况)不适应。
查看createFileSelectionGroup
方法。也许它足以为LabelProvider
对象实现您自己的File
并调用selectionGroup.setTreeProviders(ITreeContentProvider, ILabelProvider)
以使其与树中的File
项一起使用。标准实现似乎只适用于(eclipse)文件资源。