我正在扩展org.eclipse.ui.commands
,以便为具有toggle
样式的menuContribution
提供一个新命令。
现在我想设置一个初始状态,但它不应该是硬编码状态。因此,提供以下状态不是一种选择:
<state
class="org.eclipse.ui.handlers.RegistryToggleState:true"
id="org.eclipse.ui.commands.toggleState">
</state>
状态应该在首选项页面中反映一个属性,不需要保留任何内容。通过调用插件Activator
中的方法手动设置状态是不起作用的,因为我第一次点击命令时就会跳到start
方法中,但为时已晚,因为上下文菜单应该已经反映了preference属性的正确状态。
我该如何解决这个问题?
我认为您应该实现自己的State类,该类将扩展org.eclipse.jface.commands.ToggleState
并覆盖setState
方法。它可以取任何值,但忽略它,做你想做的事(读取偏好等)
我没有试着去做,只是猜测。