问题
I've made a pop-up menu with one menu item, I want to enable it only when I do a right click on a tree item of a certain class type otherwise disable it.
How can I achieve this?
回答1:
You can add a handler that uses activeWhen and associate it with that menu's command id.
Here is a handler that makes a command active only when the current selection is not empty, and the selection is an item that can be adapted to an object of type Widget:
<extension point="org.eclipse.ui.handlers">
<handler class="com.myproject.handlers.ExportWidgetHandler"
commandId="com.myproject.commands.exportWidget">
<activeWhen>
<with variable="selection">
<iterate ifEmpty="false" operator="and">
<adapt type="com.myproject.objects.Widget"/>
</iterate>
</with>
</activeWhen>
</handler>
</extension>
来源:https://stackoverflow.com/questions/11450052/enable-disable-menu-item-in-eclipse-plugin