RCP 以编程方式可见 (Java)
RCP visiblewhen programmatically (Java)
我在 plugin.xml 中有一个命令,它将添加一个新的菜单按钮。这个按钮不应该一直可见,因此我想检查 Java 代码中的一个复杂条件来决定它何时必须可见。
我知道有 visiblewhen 和 hidewhen 的可能性,但我不知道如何让 Java class/method 做出决定。
为此检查使用命令的启用状态,它由 IHandler.isEnabled() 的 return 值决定。
在plugin.xml中命令对菜单的贡献必须有visibleWhen元素和checkEnabled="true"。在 Eclipse 中你可以右键单击命令贡献并添加可见时,在 plugin.xml 中它看起来像这样:
<command
commandId="...">
<visibleWhen
checkEnabled="true">
</visibleWhen>
</command>
对于 enable/disable 命令,您必须在命令处理程序中从 org.eclipse.core.commands.IHandler(或从 AbstractHandler 覆盖)实现 isEnabled() 方法,如果菜单条目 return false应该隐藏起来。
我在 plugin.xml 中有一个命令,它将添加一个新的菜单按钮。这个按钮不应该一直可见,因此我想检查 Java 代码中的一个复杂条件来决定它何时必须可见。
我知道有 visiblewhen 和 hidewhen 的可能性,但我不知道如何让 Java class/method 做出决定。
为此检查使用命令的启用状态,它由 IHandler.isEnabled() 的 return 值决定。
在plugin.xml中命令对菜单的贡献必须有visibleWhen元素和checkEnabled="true"。在 Eclipse 中你可以右键单击命令贡献并添加可见时,在 plugin.xml 中它看起来像这样:
<command
commandId="...">
<visibleWhen
checkEnabled="true">
</visibleWhen>
</command>
对于 enable/disable 命令,您必须在命令处理程序中从 org.eclipse.core.commands.IHandler(或从 AbstractHandler 覆盖)实现 isEnabled() 方法,如果菜单条目 return false应该隐藏起来。