2010-05-18 36 views
2

我在Eclipse RCP應用程序中有一個自定義圖形EditorPart。如何將啓用Eclipse的自定義ISelectionProvider集成到表達式中?

它設置的createPartControl定製ISelectionProvider(..)方法:

@Override 
public void createPartControl(Composite parent) { 
    // [snip] 
    getSite().setSelectionProvider((ISelectionProvider)model.getSelection()); 
} 

我有兩個ViewParts聽經ISelectionService選擇更改。當EditorPart中的選擇發生變化時,他們會收到通知。到現在爲止還挺好。

現在,我使用下面的XML添加一個處理程序:

<handlerclass="my.custom.Handler" commandId="org.eclipse.ui.edit.delete"> 
    <enabledWhen> 
     <count value="+"/> 
    </enabledWhen> 
</handler> 

如果EditPart的選擇包含> 0元素,這應使處理器my.custom.Handler,但它沒有。

但是,如果內置選擇提供程序提供的選擇更改爲> 0元素(即由JFace觀衆提供的選擇),則啓用該選項。

任何提示如何將ISelectionProvider的自定義實現與處理程序聲明中使用的表達式框架集成?

+0

你可以發佈你的ISelectionProvider的實現嗎?即在'model.getSelection()返回的類 '我懷疑問題在於你的ISelectionProvider的實現。 – 2011-01-26 14:05:08

回答

相關問題