2016-06-13 9 views
0

カスタムプロジェクトタイプに関連するファイル用に設計されたインポートファイルウィザードを実装するEclipseプラグインプロジェクトで作業しています。ウィザードのページの1つはWizardNewFileCreationPageページで、プロジェクトエクスプローラは自動的に(私が見る限り)表示されます。このプロジェクトエクスプローラは、ワークスペースで使用可能なすべてのプロジェクトを表示します。しかし、私が言ったように、ウィザードが扱うファイルはある特定のプロジェクトタイプにとって有益なので、エクスプローラを制限し、そのカスタムタイプのプロジェクトのみを表示したい。WizardNewFileCreationPageのプロジェクトエクスプローラが表示するプロジェクトタイプをプログラムで定義する方法

List<IProject> projectList = new LinkedList<IProject>(); 
    try { 
    IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); 
    IProject[] projects = workspaceRoot.getProjects(); 
    for(int i = 0; i < projects.length; i++) { 
     IProject project = projects[i]; 
     if(project.hasNature("com.example.www.myNature")) { 
      projectList.add(project); 
     } 
    } 
    } 
    catch(CoreException ce) { 
    ce.printStackTrace(); 
    } 

このリンクで見つける::私は、舞台裏、WizardNewFileCreationPageクラスが含まれていることをTreeViewerまたは類似のものを想定していますGet a list of all java projects open in an Eclipse workspace

は、私は、カスタムタイプのプロジェクトを選択する方法を知っています。いずれにせよ、このウィザードページでプロジェクトエクスプローラの内容をどのようにフィルタリングできますか? 私は、次の質問を見てみました:How to programmatically change the selection within package explorerを、しかし、私の場合にはactivePart変数がgetTreeViewer()メソッドを持っていないタイプ

org.eclipse.ui.navigator.resources.ProjectExplorer 

です。それはcreatePartControl()メソッドを持っています:

public void createPartControl(Composite aParent); 

これは私が欲しいものに役立つでしょうか?それとも、拡張ポイントを使用しているのでしょうか?

ご回答いただきありがとうございます。

答えて

0

これを行う方法はありません。

WizardNewFileCreationPageに示されているツリーは、プロジェクトエクスプローラと似ていますが、そのコードに基づいていません。

ツリーを表示するコードは、org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroupに含まれるorg.eclipse.ui.internal.ide.misc.ContainerSelectionGroupです。これらのクラスは多くのカスタマイズをサポートしておらず、いずれの場合もWizardNewFileCreationPageの外部にはアクセスできません。

+0

ありがとう、グレッグ、私はこれを恐れていました。私はもう少し待つだろうが、私はそれが私が受け入れるあなたの答えだと思う。 – zerzevul

関連する問題