如何以编程方式为 Eclipse UI 命令设置初始状态?
How to programmatically set an initial state for an Eclipse UI command?
我正在扩展 org.eclipse.ui.commands
以向我的 menuContribution
提供一个具有 toggle
样式的新命令。
现在我想设置一个初始状态,但它不应该是硬编码状态。因此,提供以下状态不是一种选择:
<state
class="org.eclipse.ui.handlers.RegistryToggleState:true"
id="org.eclipse.ui.commands.toggleState">
</state>
状态应该反映在首选项页面中的 属性,没有必要坚持任何东西。通过调用插件Activator
中的方法手动设置状态是行不通的,因为我第一次点击命令就会跳入start
方法,但是已经来不及了上下文菜单应该已经反映了首选项的正确状态 属性。
我该如何解决这个问题?
我认为您应该实现自己的 State class,它将扩展 org.eclipse.jface.commands.ToggleState
并覆盖 setState
方法。它可以取任何值,但忽略它并做你想做的(阅读偏好等)
我没试过,只是猜测。
我正在扩展 org.eclipse.ui.commands
以向我的 menuContribution
提供一个具有 toggle
样式的新命令。
现在我想设置一个初始状态,但它不应该是硬编码状态。因此,提供以下状态不是一种选择:
<state
class="org.eclipse.ui.handlers.RegistryToggleState:true"
id="org.eclipse.ui.commands.toggleState">
</state>
状态应该反映在首选项页面中的 属性,没有必要坚持任何东西。通过调用插件Activator
中的方法手动设置状态是行不通的,因为我第一次点击命令就会跳入start
方法,但是已经来不及了上下文菜单应该已经反映了首选项的正确状态 属性。
我该如何解决这个问题?
我认为您应该实现自己的 State class,它将扩展 org.eclipse.jface.commands.ToggleState
并覆盖 setState
方法。它可以取任何值,但忽略它并做你想做的(阅读偏好等)
我没试过,只是猜测。