WizardResourceImportPage

WizardResourceImportPage

我想为我的应用程序创建一个“新项目”向导。该向导的第一页只是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;
    }

  };
}

最佳答案

WizardResourceImportPage是抽象的,您可以扩展它并实现三个抽象方法。我来看看WizardFileSystemResourceImportPage1,它是WizardResourceImportPage的有效实现,可以研究该代码,也可以将源代码从该类复制并粘贴到我自己的源代码中。



编辑

您从上面的示例仅显示空白标签,因为WizardResourceImportPage使用WorkbenchLabelProvider,并且如果'content'对象(在您的情况下为"")不适用,则此标签提供程序将返回File

查看createFileSelectionGroup方法。也许足以为LabelProvider对象实现自己的File并调用selectionGroup.setTreeProviders(ITreeContentProvider, ILabelProvider)以使其与树中的File项目一起使用。标准实现似乎仅适用于(Eclipse)文件资源。

关于java - 如何继承类WizardResourceImportPage?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3486721/

10-13 01:39