如何以编程方式在 Eclipse RCP 4 中创建 ViewMenu

How to programatically create a ViewMenu in Eclipse RCP 4

    @Inject
    public Widget(MPart part)
    {
        viewMenu = MMenuFactory.INSTANCE.createMenu();
        part.getMenus().add(viewMenu);
    }

当我通过 .e4xmi 文件创建菜单或 ViewMenu 并检查对象的 class 时,它们 return 相同 class。 MMenuFactory 只允许我创建一个 MMenu 对象。如何创建 ViewMenu 或将 MMenu 对象转换为 ViewMenu?

注意:上面的代码没有给我提供视图菜单。但是,当我通过 .e4xmi 文件创建 ViewMenu 时,它显示在列表中 returned 从 getMenus() 方法。

只需将标签 ViewMenu 添加到菜单:

viewMenu = MMenuFactory.INSTANCE.createMenu();

viewMenu.getTags().add("ViewMenu");

// TODO add menu items

part.getMenus().add(viewMenu);

注意:如果视图不包含某些菜单项,则不会显示该视图