2014-10-17 28 views
0

我正在將Eclipse視圖遷移到使用e4框架,目前我們在兼容模式下使用了Ecipse 4.4.1。如何遷移e4中的選擇提供程序

在大多數的觀點我設置站點的選擇提供:

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

我無法找到的是使用實際選擇提供者遷移的方法嗎?

+0

有一個在E4沒有選擇供應商只是當前選擇的每一個部分。 – 2014-10-17 13:10:48

回答

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 
} 
相關問題