在Eclipse RCP应用程序中,我有一个自定义视图,并在该视图的工具栏中提供了一个下拉命令:
<menuContribution
allPopups="false"
locationURI="toolbar:test.ui.views.MyView">
<command
commandId="test.ui.commands.Command1"
id="test.ui.commands.Command1.dropdown"
label="Command 1"
style="pulldown">
</command>
</menuContribution>
然后,我在Command1下拉菜单中提供了一些其他命令,如下所示:
<menuContribution
allPopups="false"
locationURI="menu:test.ui.commands.Command1.dropdown">
<command
commandId="test.ui.commands.Command2"
label="Command 2"
style="push">
</command>
<command
commandId="test.ui.commands.Command3"
label="Command 3"
style="push">
</command>
</menuContribution>
到目前为止一切正常,我可以看到视图工具栏上的Command1标签,当我点击它旁边的下拉符号时,菜单会显示Command2和Command3命令 - 正如预期的那样。
问题:
当我单击Command2项时,我想要实现的是在下拉菜单中显示Command2的标签,而不是下拉Command1标签。
提前感谢您的帮助!
答案 0 :(得分:2)
您应该能够让Command 1的处理程序实现org.eclipse.ui.commands.IElementUpdater
并在适当的时候调用org.eclipse.ui.commands.ICommandService.refreshElements(String, Map)
。
在您的IElementUpdater
中,您有机会为UIElement(主要工具项)设置标签。