Eclipse 导航器上下文菜单

发布于 2024-10-21 13:19:03 字数 130 浏览 1 评论 0原文

我正在开发一个 eclipse 产品。我向插件添加了一个导航器视图,现在我想通过删除一些默认操作并添加一些自定义操作来自定义其上下文菜单。

如何从菜单中删除操作?我怎样才能添加我的动作?

有没有办法创建上下文菜单?

I'm developing an eclipse product. I added a navigator view to the plugin and now I would like to customize its context menu by removing some of the default actions and by adding some custom actions.

How can I remove actions from the menu? And how can I add my actions?

Is there a way to create a context menu at all?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

羁〃客ぐ 2024-10-28 13:19:03

最后我用这种方式解决了:

  • 我创建了一个导航查看器,它
    扩展oeui.navigator.viewer,我
    提供一个弹出菜单指定
    “allowPlatformContributions = false”。
    然后我创建了尽可能多的插入点
    因为我需要上下文菜单。这
    我希望 Eclipse 提供的操作
    上下文菜单包含在
    组.新建,组.编辑,
    组.重组.生成的 xml 为:

    <前><代码><扩展名
    点=“org.eclipse.ui.navigator.viewer”>
    ……
    <查看者viewerId="...">
    <弹出菜单
    allowedPlatformContributions="false">
    <插入点
    名称=“group.xvr.management”
    分隔符=“真”>

    <插入点
    名称=“组.新”
    分隔符=“真”>

    <插入点
    名称=“组.编辑”
    分隔符=“真”>

    <插入点
    名称=“组.重组”>

    <插入点
    名称=“group.xvr.launch”
    分隔符=“真”>



    ...

    另外两个组名,
    group.xvr.launch 和
    group.xvr.management,是自定义的
    我的操作的占位符。

  • 然后我延长了
    oeui.navigator.navigatorContent
    创建我的自定义内容
    绑定到观看者。我添加到
    导航内容尽可能多
    我需要的actionProvider。在每一个
    其中我重写了该方法
    fillContextMenu 提供自定义
    对上下文菜单执行操作。

    <前><代码>@Override
    公共无效fillContextMenu(IMenuManager菜单){
    menu.appendToGroup("group.xvr.launch", new CommandContributionItem(new CommandContributionItemParameter(...)));
    menu.appendToGroup("group.xvr.launch", new CommandContributionItem(new CommandContributionItemParameter(...)));
    }

At the end i solved in this way:

  • I created a navigator viewer, which
    extend o.e.ui.navigator.viewer, and i
    provide a popupMenu specifying
    "allowPlatformContributions = false".
    Then i created as many insertionPoint
    as i need for my context menu. The
    actions i want eclipse to provide in
    the context menu are contained in
    group.new, group.edit,
    group.reorganize. The resulting xml is:

    <extension
         point="org.eclipse.ui.navigator.viewer">
     .....
      <viewer viewerId="...">
         <popupMenu
               allowsPlatformContributions="false">
            <insertionPoint
                  name="group.xvr.management"
                  separator="true">
            </insertionPoint>
            <insertionPoint
                  name="group.new"
                  separator="true">
            </insertionPoint>
            <insertionPoint
                  name="group.edit"
                  separator="true">
            </insertionPoint>
            <insertionPoint
                  name="group.reorganize">
            </insertionPoint>
            <insertionPoint
                  name="group.xvr.launch"
                  separator="true">
            </insertionPoint>
         </popupMenu>
         </viewer>
         ...
         </extension>
    

    the other two group names,
    group.xvr.launch and
    group.xvr.management, are custom
    placeholder for my actions.

  • then i extended
    o.e.ui.navigator.navigatorContent
    creating my custom content which i
    bind to the viewer. I added to the
    navigator content as many
    actionProvider as i need. In each one
    of them i override the method
    fillContextMenu to provide custom
    action to the context menu.

    @Override
    public void fillContextMenu(IMenuManager menu) {
        menu.appendToGroup("group.xvr.launch", new CommandContributionItem(new CommandContributionItemParameter(...)));
    menu.appendToGroup("group.xvr.launch", new CommandContributionItem(new CommandContributionItemParameter(...)));
    }
    
终陌 2024-10-28 13:19:03

您需要扩展oeui.navigator.navigatorContent并提供一个actionProvider。

You need to extend o.e.ui.navigator.navigatorContent and provide an actionProvider.

深海夜未眠 2024-10-28 13:19:03

您必须扩展导航器视图,并覆盖上下文菜单(应该是 createPartControl 方法)。现在我无法访问 Eclipse 源代码。

希望这有帮助。

hyou have to extend the navigator view, and override the context menu (should be the createPartControl Method). right now i don't have access to the eclipse source.

hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文