如何从 eclipse e4 中的处理程序执行方法获取图标
How to get the icon from a handler execute method in eclipse e4
使用菜单贡献的处理程序,我可以在执行方法中获取 ParameterizedCommand,如下所示。
@Execute
public void execute(final Event event, final ParameterizedCommand command)
如何获取所选菜单项的iconURI?
我试过了,但收到 "Discouraged Access" 警告
final MenuItem menuItem = (MenuItem) event.widget;
Object obj = (Object) menuItem.getData("modelElement");
HandledMenuItemImpl item = (HandledMenuItemImpl) obj;
String iconUrl = item.getIconURI();
只需将 MMenuItem
注入处理程序:
@Execute
public void execute(MMenuItem menuItem, ..... other parameters)
{
String iconUrl = menuItem.getIconURI();
...
}
如果处理程序也从非菜单事件调用,则使菜单项可选
@Execute
public void execute(@Optional MMenuItem menuItem, ..... other parameters)
{
if (menuItem != null) {
String iconUrl = menuItem.getIconURI();
...
}
}
使用菜单贡献的处理程序,我可以在执行方法中获取 ParameterizedCommand,如下所示。
@Execute
public void execute(final Event event, final ParameterizedCommand command)
如何获取所选菜单项的iconURI?
我试过了,但收到 "Discouraged Access" 警告
final MenuItem menuItem = (MenuItem) event.widget;
Object obj = (Object) menuItem.getData("modelElement");
HandledMenuItemImpl item = (HandledMenuItemImpl) obj;
String iconUrl = item.getIconURI();
只需将 MMenuItem
注入处理程序:
@Execute
public void execute(MMenuItem menuItem, ..... other parameters)
{
String iconUrl = menuItem.getIconURI();
...
}
如果处理程序也从非菜单事件调用,则使菜单项可选
@Execute
public void execute(@Optional MMenuItem menuItem, ..... other parameters)
{
if (menuItem != null) {
String iconUrl = menuItem.getIconURI();
...
}
}