Eclipse RCP:添加工具栏
Eclipse RCP:添加工具栏2008-10-13 20:18在工具栏上添加按钮(1)启用工具栏org.eclipsercp.hyperbola/ApplicationWorkbenchWindowAdvisorpublic void preWindowOpen() { …… configurer.setShowCoolBar(true); ……}(2)添加工具栏按钮org.eclipsercp.hyperbola/ApplicationActionBarAdvisorprotected 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/ApplicationActionBarAdvisorprotected 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/ApplicationActionBarAdvisorprotected 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);}?