更新 Eclipse 菜单项启用状态



我在"文件"菜单中创建了菜单项作为命令。对于此命令,有一个实现IHandler接口的处理程序。此处理程序包含 isEnabled 方法。我正在尝试使用此方法启用/禁用我的菜单项,但是当我单击"文件"菜单时,该方法仅被调用一次。当单击第二次、第三次等次时,即使我之前更改了页面的状态(打开/关闭编辑器),也不会再次调用 isEnabled 方法。

我该怎么办?也许此方法不适用于控件菜单项?

你在org.eclipse.core.commands.AbstractHandler子类吗? 应使用 setBaseEnabled(boolean) 更新处理程序的状态(这将更新命令)。

只有在处理程序中更改启用状态才有效,只要您还触发了HandlerEvent。 通常更容易调用setBaseEnabled(boolean)这将为您触发事件。

如果您尝试启用/禁用菜单,则应使用核心表达式。我已经在这个答案中解释了如何做到这一点:

Eclipse RCP 菜单和操作:配置还是编码?

您感兴趣的部分从以下部分开始:

用于激活/停用菜单[...]

我希望这就是你要找的。

最新更新