我正在尝试将RCP Eclipse 3应用程序更新到Eclipse 4.5目标平台。根据兼容性层,存在一些差异。 一个区别是主菜单中工具栏中的项目顺序。
红色标记的图标添加了ActionBarAdvisor
,其他图标作为工具栏命令添加到plugin.xml中。
为什么订单会改变?我是否需要以编程方式添加工具栏项?
更新
如果我使用选项-clearPersistedState,则工具栏的排序方式与旧版本相同。再次删除标志会创建新版本屏幕截图中显示的工具栏。
答案 0 :(得分:0)
我在Eclipse Bugtracker的各种问题中找到了解决方案。
在方法fillCoolBar(ICoolBarManager coolBar)
中,将工具栏项添加到ToolbarManager
的实例,然后将其添加为ID为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"));
}
在plugin.xml中,将工具栏添加到具有相同ID toolbar:org.eclipse.ui.main.toolbar
的menuContribution。这会导致在冷却栏之后添加其他工具栏。
答案 1 :(得分:-1)
我有同样的问题。刚创建工作区时,工具栏的顺序正确,在下次启动时,ActionBarAdvisor
添加的按钮位于右侧。
您的选项-clearPersistedState
对我有用。如果有人有这方面的信息,我很想知道这个问题的根源