簡體   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