我使用ActionBarAdvisor的子类将JFace操作添加到RCP应用程序的工作台coolbar。出于某种原因,相应的菜单是用我猜的额外线条绘制的。它导致包括开放视角列表在内的整个酷吧太高了:
任何人都知道如何使它单行?我尝试将SWT.SINGLE样式添加到Action构造函数中,但这没有帮助。任何帮助,将不胜感激。感谢。
ActionBarAdvisor.fillCoolBar()实现:
protected void fillCoolBar(final ICoolBarManager coolBar) {
final IToolBarManager toolbar = new ToolBarManager(coolBar.getStyle());
coolBar.add(new ToolBarContributionItem(toolbar, "main"));
toolbar.add(new Pulldown());
}
行动实施:
public class Pulldown extends Action {
public Pulldown() {
super("Saved Layouts");
setMenuCreator(menuCreator);
}
...
}
答案 0 :(得分:0)
这不是问题的直接答案,但我会将按钮声明为带有下拉菜单/收音机样式的菜单扩展名。因此,您不必更改coolbar的代码。Here是关于工具栏菜单贡献的教程。
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="toolbar:de.example.com">
<command
commandId="de.abas.erp.wb.base.marker.commands.PullDownCommand"
icon="icons/16x16/layouts.png"
label="Saved Layouts"
style="pulldown">
</command>
</menuContribution>
</extension>