是否可以将 ToolbarItems 边界作为参数发送到命令处理程序?

Is there a possibility to send ToolbarItems bounds as paramter to an command handler?

在我的 E4 应用程序中,我有一个带有 ToolbarItems 的工具栏,单击其中一个我想在 Toolbaritem 的正下方显示一个小对话框。为此,我需要按钮的坐标。

有没有办法通过参数将其传递到我的处理程序中的 @Execute 注释方法?

我通过将 MPart 注入我的处理程序并调用 getToolbar 解决了这个问题。但是看起来很脏。

您可以注入 MToolItem 来获取物品,而不是注入 MPart

@Execute
public void execute(MToolItem mitem)
{
  ToolItem item = (ToolItem)mitem.getWidget();

  ...
}

但是您可以通过选中 e4xmi 文件中 'Handled Tool Item' 条目中的 "Menu" 复选框将菜单与工具项相关联。然后您将能够将菜单项定义为工具项的子项。