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