我需要在RCP菜单中动态创建贡献项,因此我不能像在动态创建之前那样使用plugin.xml来定义它-通过将其添加到 org中的适当命令中,足以指定默认值。 eclipse.ui.commands 扩展点:
<state
class="org.eclipse.ui.handlers.RadioState:None"
id="org.eclipse.ui.commands.radioState">
</state>
冒号之后没有了。我在互联网上看了遍,看来本教程正是我所需要的:
http://blog.vogella.com/2009/12/03/commands-menu-runtime/
但是,我需要贡献项为CommandContributionItem.STYLE_RADIO。遵循本教程之后,我可以创建包含这些项目的下拉菜单,但是有两个问题:
ICommandService commandService = todoListView.getViewSite().getService(ICommandService.class);
Command command = commandService.getCommand(COMMAND_ID);
try
{
HandlerUtil.updateRadioState(command, personalSettings.getCurrentGroupingName());
}
catch (ExecutionException e)
{
throw new RuntimeException(e);
}
当我调试它时,它会将命令的RadioState设置为正确的值,但是显示下拉列表时,我看不到指出所选选项的项目符号。有人有想法么?谢谢