我正在将Eclipse视图迁移到使用e4框架,目前我们在兼容模式下使用Ecipse 4.4.1。
在大多数观看次数中,我设置了网站的选择提供商:
site.setSelectionProvider(treeViewer);
在不同的处理程序中,我然后使用这样的代码来获取选择:
IWorkbenchSite site = HandlerUtil.getActiveSite(event);
ISelectionProvider selectionProvider = site.getSelectionProvider();
ISelection selection = selectionProvider.getSelection();
某些处理程序甚至使用选择提供程序,如果它是Viewer工作,例如引用,扩展......
ISelectionProvider selectionProvider = activeSite.getSelectionProvider();
if (selectionProvider instanceof StructuredViewer) {
...
}
wiki描述了如何处理e4中的新选择。 https://wiki.eclipse.org/E4/EAS/Selection
我能找到的是使用实际选择提供商进行迁移的方法吗?
答案 0 :(得分:2)
在e4处理程序中,您可以使用以下内容:
@Execute
void execute(@Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection
{
...
}
获得有效选择。
如果您想查看可以使用的活动部分:
@Execute
void execute(@Named(IServiceConstants.ACTIVE_PART) MPart activePart)
{
Object object = activePart.getObject();
// 'object' is the class you defined for the part in the Application.e4xmi
}