启用/禁用Eclipse插件中的菜单项

时间:2012-07-12 10:38:38

标签: eclipse eclipse-plugin eclipse-rcp menuitem popupmenu

我已经制作了一个包含一个菜单项的弹出式菜单,我只想在右键单击某个类型的树项目时启用它,否则禁用它。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:7)

您可以添加使用 activeWhen 的处理程序,并将其与该菜单的命令ID相关联。

这是一个处理程序,只有在当前选择不为空时才激活命令,并且选择是一个可以适应 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>

答案 1 :(得分:0)

我们可以通过重写Handler类的isEnabled方法来启用或禁用菜单项。下面是示例代码:

@Override
public boolean isEnabled() {
    return false;
}
相关问题