我正在开发一个 Eclipse RCP 应用程序。它有一些特定于视图的菜单,其中一个菜单项是我希望在启用相应功能时在旁边显示勾号的项目。同样,下次选择该项目时,该项目应取消勾选以反映相应的功能已禁用。
我的问题是:如何设置这些菜单项的切换状态?我有一个 IHandler 来处理选择菜单项时的事件,但我不确定如何更新 GUI 元素本身。
StackOverflow 社区对我如何解决这个问题有什么想法吗?
该解决方案涉及让命令处理程序实现 IElementUpdater 接口。然后可以按如下方式更新 UI 元素:
public void updateElement(UIElement element, Map parameters)
{
element.setChecked(isSelected);
}
updateElement 作为 UI 刷新的一部分被调用,可以从处理程序的执行命令中调用,如下所示:
ICommandService service = (ICommandService) HandlerUtil
.getActiveWorkbenchWindowChecked(event).getService(
ICommandService.class);
service.refreshElements(event.getCommand().getId(), null);
更多信息here http://wiki.eclipse.org/Menu_Item_Placement_Examples#Updating_the_menu_and_toolbar_appearance(请参阅单选按钮命令和更新选中状态条目)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)