代码之家  ›  专栏  ›  技术社区  ›  Georg Leber

e4中RCP工具栏项目顺序更改

  •  0
  • Georg Leber  · 技术社区  · 10 年前

    我正在尝试将RCP Eclipse 3应用程序更新到Eclipse 4.5目标平台。根据兼容性层的不同,存在一些差异。 一个区别是主菜单工具栏中项目的顺序。

    旧版本: enter image description here

    新版本: enter image description here

    红色标记的图标添加了 ActionBarAdvisor ,其他图标将添加到插件中。xml作为工具栏命令。 为什么订单会改变?我需要以编程方式添加工具栏项吗?

    更新:

    如果我使用选项-clearPersistedState,工具栏的顺序与旧版本中的相同。再次移除标志将创建新版本屏幕截图中显示的工具栏。

    2 回复  |  直到 10 年前
        1
  •  0
  •   Georg Leber    10 年前

    在对Eclipse Bugtracker中的各种问题进行了深入研究之后,我找到了解决方案。

    在方法中 fillCoolBar(ICoolBarManager coolBar) 将工具栏项添加到的实例 ToolbarManager 然后将其添加为ID为的ToolBarContributionItem toolbar:org.eclipse.ui.main.toolbar

    到工具栏:

    @Override
    protected void fillCoolBar(ICoolBarManager coolBar)
    {
        IToolBarManager manager = new ToolBarManager(SWT.FLAT);
        manager.add(action1);
        ...
    
        coolBar.add(new ToolBarContributionItem(manager, "toolbar:org.eclipse.ui.main.toolbar"));
    }
    

    在插件中。xml将工具栏添加到具有相同ID的菜单贡献 工具栏:org.eclipse.ui.main.toolbar 。这会导致其他工具栏添加到工具栏之后。

        2
  •  -1
  •   DenisB    10 年前

    我也有同样的问题。刚创建工作区时,工具栏的顺序正确,在下一次启动时,我的按钮由添加 ActionBarAdvisor 在右边。

    您的选择 -clearPersistedState 为我工作过。如果有人知道这个问题的原因,我很感兴趣