我有一個使用org.eclipse.ui.popupMenus編寫的上下文菜單。既然它現在已經被棄用了,我想用org.eclipse.ui.menus來做同樣的事情。將對象貢獻轉換爲日食中的菜單貢獻
早些時候實施看起來是這樣的
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
adaptable="true"
id="com.xyz.plm.analysis.func.gui.popupOnComponentForCA"
objectClass="com.xyz.plm.componentmodel.IComponent">
<action
class="com.xyz.plm.analysis.my.gui.MyAction"
enablesFor="1"
id="com.xyz.plm.analysis.my.gui.MyActionion2"
label="Run My Action"
menubarPath="com.xyz.plm.ide.ui.myToolsPopupMenu/myToolsGroup"
tooltip="Run My Action">
</action>
我試了一下,到目前爲止低於
<extension
point="org.eclipse.ui.commands">
<command
id="com.xyz.plm.analysis.my.commandmygui"
name="Run My Action">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.xyz.plm.analysis.my.gui.MyAnalysisGui"
commandId="com.xyz.plm.analysis.my.commandmygui">
<enabledWhen>
<with
variable="selection">
<iterate
ifEmpty="false"
operator="or">
<instanceof
value="com.xyz.plm.componentmodel.IComponent">
</instanceof>
</iterate>
</with>
</enabledWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:com.xyz.plm.ide.ui.myToolsPopupMenu">
<command
commandId="com.xyz.plm.analysis.my.commandmygui"
label="RunMyACtion"
style="push">
</command>
</menuContribution>
</extension>
但有了這個,我在銘佑上下文菜單中看到MyAction子菜單。但MyAction被禁用。另外我看到MyACtion出現在projectExplorer窗口以及編輯器中,當我右擊選擇MyTools。
我想要的是MyAction子菜單應該只出現在MyTools popupmenu下,只有當我右鍵點擊IComponent類型的對象時,纔會出現這個菜單。