如何在e4中迁移选择提供程序

时间:2014-10-17 12:30:16

标签: java eclipse e4

我正在将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

我能找到的是使用实际选择提供商进行迁移的方法吗?

1 个答案:

答案 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
}