繁体   English   中英

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

[英]how to migrate the selection provider in e4

我正在将Eclipse视图迁移到使用e4框架,当前,我们在兼容模式下使用Ecipse 4.4.1。

在大多数视图中,我都在设置网站的选择提供商:

site.setSelectionProvider(treeViewer);

然后,在不同的处理程序中,我使用如下代码来获取选择:

IWorkbenchSite site = HandlerUtil.getActiveSite(event);
ISelectionProvider selectionProvider = site.getSelectionProvider();
ISelection selection = selectionProvider.getSelection();

一些处理程序甚至使用选择提供程序,如果是Viewer,则使用它,例如Referh,expand ...

ISelectionProvider selectionProvider = activeSite.getSelectionProvider();
if (selectionProvider instanceof StructuredViewer) {
...
}

Wiki描述了如何处理e4中的新选择。 https://wiki.eclipse.org/E4/EAS/Selection

我找不到使用实际选择提供程序进行迁移的方法吗?

在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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM