我的RCP Eclipse应用程序存在以下问题:我正在尝试在Project Explorer树中的IResource上设置选择。 我正在使用的代码是:
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展开包含文件夹并在项目资源管理器中选择所需的文件。有谁知道如何实现这个目标?
答案 0 :(得分:0)
您可以尝试使用Viewer
方法检查选择提供者是否为setSelection(selection. reveal)
:
if (selProvider instanceof Viewer) {
((Viewer)selProvider).setSelection(selection, true);
}
可能还需要使用TreeSelection
TreePath
进行选择,而不仅仅是StructuredSelection
。
TreePath path = new TreePath(.... array of objects ...);
TreeSelection selection = new TreeSelection(path);
'对象数组'是通过树到资源的路径。
但是,在不同视图的树中选择项目不是ISelectionProvider
接口的用途。无法保证可以使用此界面完成此操作。