RCP Eclipseアプリケーションに次の問題があります。プロジェクトエクスプローラツリー内のIResourceで選択を設定しようとしています。私が使用しています コードは次のとおりです。Eclipseでプログラム的にリソースを選択してもツリーが展開されない
final IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); final IViewPart viewPart = page.findView(IPageLayout.ID_PROJECT_EXPLORER); final ISelectionProvider selProvider = viewPart.getSite().getSelectionProvider(); selProvider.setSelection(new StructuredSelection(mrcReportRuleOccurrence.getIResource()));
コードは葉が既に一度ツリーに展開された場合にのみ動作するようです。ツリーが完全に折りたたまれている場合、コードはeclipseが包含フォルダを展開してプロジェクトエクスプローラで目的のファイルを選択するようにしません。誰もがこれをもたらす方法を知っていますか?
インスタンスチェックとsetSelectionは違いはありません。 TreeSelectionについては、IResourceからTreeSelectionを取得できません。 – vladimiryov
TreeSelectionをIResourceから取得せず、TreePathを使用してTreeSelectionを構築します。プロジェクトエクスプローラが正確に何を求めているのか分かりません。答えにもう少し追加しました。 –
ツリー選択を受け取るようにコードを正常に変更しましたが、ツリーが開いていない場合は要素を選択しません。ユーザーが手動でツリーを少なくとも1回展開すると、ツリーが折りたたまれていても要素にジャンプします。 – vladimiryov