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

时间:2016-03-01 13:03:57

标签: eclipse-rcp toolbar

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

旧版本: enter image description here

新版本: enter image description here

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

更新

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

2 个答案:

答案 0 :(得分:0)

我在Eclipse Bugtracker的各种问题中找到了解决方案。

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

的ToolBarContributionItem

到酷吧:

@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"));
}

在plugin.xml中,将工具栏添加到具有相同ID toolbar:org.eclipse.ui.main.toolbar的menuContribution。这会导致在冷却栏之后添加其他工具栏。

答案 1 :(得分:-1)

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

您的选项-clearPersistedState对我有用。如果有人有这方面的信息,我很想知道这个问题的根源