Eclipse RCP Workbench Coolbar中的单行菜单操作

时间:2012-07-25 18:32:41

标签: swt eclipse-rcp jface

我使用ActionBarAdvisor的子类将JFace操作添加到RCP应用程序的工作台coolbar。出于某种原因,相应的菜单是用我猜的额外线条绘制的。它导致包括开放视角列表在内的整个酷吧太高了:

enter image description here

任何人都知道如何使它单行?我尝试将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);
    }

    ...
}

1 个答案:

答案 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>