Eclipse RCP:添加工具栏

Eclipse RCP:添加工具栏
2008-10-13 20:18
在工具栏上添加按钮

(1)启用工具栏
org.eclipsercp.hyperbola/ApplicationWorkbenchWindowAdvisor

public void preWindowOpen() {
    ……
    configurer.setShowCoolBar(true);
    ……
}

(2)添加工具栏按钮
org.eclipsercp.hyperbola/ApplicationActionBarAdvisor

protected void fillCoolBar(ICoolBarManager coolBar) {
    IToolBarManager toolbar1 = new ToolBarManager(coolBar.getStyle());
    coolBar.add(toolbar1);
    toolbar1.add(addContactAction);
    toolbar1.add(new Separator());
    toolbar1.add(addContactAction);

    ToolBarManager toolbar2 = new ToolBarManager(coolBar.getStyle());
    coolBar.add(toolbar2);
    toolbar2.add(addContactAction);
}

ICoolBarManager 上有多个 CoolItem 组,每个 ToolBarManager 可以添加到这些 CoolItem 组上。
运行效果如图:




同时显示图像和文字

ICoolBarManager 接口继承 IContributionManager ,用于管理 IActions 和 IContributionItems。JFace 提供了 ActionContributionItem 类,用于将 Action 加入到 IContributionManager。

org.eclipsercp.hyperbola/ApplicationActionBarAdvisor
protected void fillCoolBar(ICoolBarManager coolBar) {
IToolBarManager toolbar =
      new ToolBarManager(coolBar.getStyle() | SWT.BOTTOM);
coolBar.add(toolbar);

ActionContributionItem addContactCI = new
      ActionContributionItem(addContactAction);
addContactCI.setMode(ActionContributionItem.MODE_FORCE_TEXT);
toolbar.add(addContactCI);

coolBar.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}

ToolBarManager 的 SWT.BOTTOM 或 SWT.RIGHT 用于控制显示文字的位置,为每个 action 创建 ActionConfigurationItem ,并通过其设置 mode 为 ActionContributionItem.MODE_FORCE_TEXT。

在工具栏上添加其他控件

工具栏上不仅能添加按钮,还可以添加其他 SWT 控件,例如 ComboBox。
JFace 提供了 ControlContribution 类,可以将控件添加到 toolbar 或 coolbar。如果添加自定义控件,需要继承 ControlContribution 并实现 createControl(Composite) 方法,在此方法返回目标控件。

org.eclipsercp.hyperbola/ApplicationActionBarAdvisor
protected void fillCoolBar(ICoolBarManager coolBar) {
IToolBarManager toolbar = new ToolBarManager(coolBar.getStyle());
coolBar.add(toolbar);

IContributionItem comboCI = new ControlContribution() {
    protected Control createControl(Composite parent) {
      Combo c = new Combo(parent, SWT.READ_ONLY);
      c.add("one");
      c.add("two");
      c.add("three");
      return c;
    }
};
toolbar.add(comboCI);
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值