我是Eclipse RCP开发的新手。 在我的Eclipse RCP应用程序中,有不同的观点。我希望他们有不同的ToolBarItems。根据官方文档,此工具栏的内容根据活动透视图进行更改。但经过大量的谷歌搜索,我仍然不知道如何。
我最好的想法如下:
首先我创建项目,然后将它们添加到工具栏和coolbar
protected void fillCoolBar(ICoolBarManager coolBar) {
IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
ActionContributionItem saveItem = new ActionContributionItem(saveAction);
saveItem.setId(ApplicationActionBarAdvisor.SAVE);
toolbar.add(saveItem);
ActionContributionItem saveAllItem = new ActionContributionItem(saveAllAction);
saveAllItem.setId("saveAllItem");
toolbar.add(saveAllItem);
coolBar.add(new ToolBarContributionItem(toolbar, "main"));
}
然后,在Perspective类中,我重写了createInitialLayout()方法,我只是隐藏了不必要的项目。
@Override
public void createInitialLayout(IPageLayout layout) {
String editorArea = layout.getEditorArea();
PageLayout pl = (PageLayout) layout;
pl.addHiddenToolBarItemId(ApplicationActionBarAdvisor.SAVE);
pl.setEditorAreaVisible(false);
pl.addStandaloneView(View.ID, false, IPageLayout.LEFT, 0.25f, editorArea);
pl.getViewLayout(View.ID).setCloseable(false);
}
它不起作用,但我不知道我错过了什么。任何帮助都非常感谢。
答案 0 :(得分:3)
使用org.eclipse.ui.perspectiveExtensions
扩展点并将actionSet
与视角相对应。
例如,这是JDT插件的一部分:
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension targetID="org.eclipse.debug.ui.DebugPerspective">
<perspectiveShortcut id="org.eclipse.jdt.ui.JavaPerspective"/>
<perspectiveShortcut id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
<actionSet id="org.eclipse.jdt.ui.JavaActionSet"/>
<showInPart id="org.eclipse.jdt.ui.PackageExplorer"/>
</perspectiveExtension>
注意:不使用内部类,例如PageLayout
,它们可能随时更改,实际上这个类在Eclipse 3中,但已在Eclipse 4中删除。