e4 RCP 如何以编程方式编辑主菜单
e4 RCP how to programmatically edit main menu
我想在我的代码中修改主菜单项,而不是在 e4xmi 中。我该怎么做?
我在主菜单中有两个 "handled menu item" 类型 "radio"(部分菜单中没有)。我想检查哪个是活动的。我还想以编程方式更改活动项目。
MMenuItem
代表一个菜单项。它有 isSelected()
和 setSelection(boolean)
方法来测试和设置菜单项选择。
您可以使用模型服务找到 MMenuItem
:
@Inject
EModelService modelService;
@Inject
MApplication app;
List<MMenuItem> menuList = modelService.findElements(app, "menu item id", MMenuItem.class, null, EModelService.IN_MAIN_MENU);
MMenuItem menuItem = menuList.get(0);
在处理程序中,您可以直接在 @Execute
方法中注入当前 MMenuItem
。
我想在我的代码中修改主菜单项,而不是在 e4xmi 中。我该怎么做?
我在主菜单中有两个 "handled menu item" 类型 "radio"(部分菜单中没有)。我想检查哪个是活动的。我还想以编程方式更改活动项目。
MMenuItem
代表一个菜单项。它有 isSelected()
和 setSelection(boolean)
方法来测试和设置菜单项选择。
您可以使用模型服务找到 MMenuItem
:
@Inject
EModelService modelService;
@Inject
MApplication app;
List<MMenuItem> menuList = modelService.findElements(app, "menu item id", MMenuItem.class, null, EModelService.IN_MAIN_MENU);
MMenuItem menuItem = menuList.get(0);
在处理程序中,您可以直接在 @Execute
方法中注入当前 MMenuItem
。