【问题标题】:Single Line Menu Action in Eclipse RCP Workbench CoolbarEclipse RCP Workbench Coolbar 中的单行菜单操作
【发布时间】:2012-07-25 18:32:40
【问题描述】:

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

有人知道怎么做单行吗?我尝试将 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);
    }

    ...
}

【问题讨论】:

    标签: swt eclipse-rcp jface


    【解决方案1】:

    这不是您问题的直接答案,但我会将按钮声明为具有下拉/收音机样式的菜单扩展。因此您不必更改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>
    

    【讨论】:

    • 使用扩展点确实有效,谢谢。对于遇到同样问题的任何人,请注意您必须使用可以限制功能的委托 (IWorkbenchWindowActionDelegate)(例如在我的案例中细粒度的启用控制)。
    猜你喜欢
    • 2013-12-21
    • 2023-03-17
    • 1970-01-01
    • 2011-06-11
    • 2011-08-12
    • 1970-01-01
    • 2017-01-02
    • 2021-09-19
    • 1970-01-01
    相关资源
    最近更新 更多