java - 如何迁移 e4 中的选择提供程序

标签 java eclipse e4

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

在大多数 View 中,我设置网站的选择提供程序:

site.setSelectionProvider(treeViewer);

在不同的处理程序中,我使用这样的代码来获取选择:

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

一些处理程序甚至使用选择提供程序,如果它是查看器,则可以使用它,例如引用、展开...

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
{
  ...
}

获取 Activity 选择。

如果您想查看 Activity 部分,可以使用:

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

关于java - 如何迁移 e4 中的选择提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26425074/

相关文章:

java - 在 Eclipse 中生成项目时出错

android - 使用proguard在android中进行代码混淆

java - Oracle 19c 与 jdk7 的兼容性

java - JDialog 在执行 'dispose' 之前不显示

java - JBOSS 应用服务器和 Servlet

eclipse - 是否可以在 Luna (Eclipse e4) 上导入的 3.x 基础 Eclipse 代码中使用依赖注入(inject) (DI)

java - Eclipse e4 - 添加核心表达式

java - 无法找到 'struts.multipart.saveDir' 属性设置。默认为 javax.servlet.context.tempdir

java - Spring Data JPA - RepositoryConfigurationExtension 中的错误

java - 给每个编辑自己的观点