2010-08-15 2 views
1

내 응용 프로그램을위한 '새 프로젝트'마법사를 만들고 싶습니다. 이 마법사의 첫 번째 페이지는 단순히 org.eclipse.ui.dialogs.WizardNewProjectCreationPage의 인스턴스입니다. 두 번째 마법사 페이지에서 일부 프로젝트 파일을 현재 프로젝트로 가져 오려고합니다. 나는 org.eclipse.ui.dialogs.WizardResourceImportPage가 나의 thougts와 아주 비슷하다는 것을 알았지 만이 클래스를 상속하고 간단한 파일 임포트 페이지를 생성하는 방법을 배울 수는 없다.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; 
    } 

    }; 
} 

답변

1

WizardResourceImportPage은 추상적이므로이를 확장하고 세 가지 추상 방법을 구현할 수 있습니다. 을 구현중인 WizardFileSystemResourceImportPage1을 살펴보고 그 코드를 연구하거나 해당 클래스의 소스를 내 자신에게 붙여 넣습니다.


편집

당신은 WizardResourceImportPage이 사용하기 때문에 단지 빈 레이블을 보여줍니다 위의 예를 들어있어 WorkbenchLabelProvider과 '내용'객체 (귀하의 경우 File)이 아닌 경우 ""을 반환이 라벨 제공 적응할 수 있는.

createFileSelectionGroup 방법을보십시오. 어쩌면 File 개체에 대해 LabelProvider을 구현하고 트리에서 항목을 사용할 수 있도록 selectionGroup.setTreeProviders(ITreeContentProvider, ILabelProvider)으로 전화하면 충분할 수 있습니다. 표준 구현은 (일식) 파일 리소스에서만 작동하는 것 같습니다.

+0

감사합니다.하지만 WizardFileSystemResourceImportPage1은 너무 복잡하고 직접 사용할 수없는 내부 클래스를 사용합니다. 나는 간단한 것을 선호한다. – solotim

+0

selectionGroup의 메소드를 호출 할 때마다 이클립스는 다음과 같이 말합니다. 실망 액세스 : 필요한 라이브러리 C : \ Programs \ eclipse \ plugins \ org.eclipse.ui.ide_3의 제한으로 인해 ResourceTreeAndListGroup 유형의 메소드 setRoot (Object)에 액세스 할 수 없습니다. 6.0.I20100601-0800.jar – solotim

+0

네, 그 내부 클래스의 일반적인 문제입니다. 그래서 보통 내부 클래스의 코드를 내 자신의 프로젝트로 복사합니다 ... –

관련 문제