我有一个使用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类型的对象时,才会出现这个菜单。