Jdv*_*Jdv 4 java eclipse eclipse-plugin eclipse-rcp
在我的 Eclipse 插件中,我有以下工作流程:
1(和3)是这样实现的:
ISelectionService selectionService = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getSelectionService();
ISelection selection = selectionService.getSelection();
[...]
Run Code Online (Sandbox Code Playgroud)
现在的问题是,在 1 之前,选择了 Package Explorer,因为这是触发工作流的唯一方法。但步骤 2 更改了活动部分,因为它刷新了 TreeView,使其成为活动部分。当我现在尝试运行 3(与 1 相同的方法)时,我遇到了一个问题:Package Explorer 不再是 的activePart,selectionService因此selection为 null。
我的问题是:有什么方法可以获取ISelectionService非活动视图的特定视图吗?如果没有,有没有办法在执行步骤 3 之前以编程方式设置活动部分?
顺便说一句,这是一个 Eclipse 3.x 插件。
如果您找到IViewPart包资源管理器的 ,您可以ISelectionProvider使用以下方式直接访问它:
IViewPart part = .. find package explorer view part
IViewSite viewSite = part.getViewSite();
ISelectionProvider provider = viewSite.getSelectionProvider();
ISelection selection = provider.getSelection();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
857 次 |
| 最近记录: |