You can use ImageHyperLink control. I think that's what the PDE manifest editor uses.
Section section = new Section(parent, SWT.NONE); Composite toolbar = new Composite(section, SWT.NONE); RowLayout layout = new RowLayout(SWT.HORIZONTAL); layout.marginLeft = 0; layout.marginRight = 0; layout.spacing = 0; layout.marginTop = 0; layout.marginBottom = 0; toolbar.setLayout(layout); parent.setTextClient(toolbar); ImageHyperlink imageHyperLink = new ImageHyperlink(toolbar, SWT.CENTER); imageHyperLink.setBackgroundImage(section.getBackgroundImage()); imageHyperLink.setToolTipText("Click me for help"); imageHyperLink.setImage(JFaceResources.getImage(Dialog.DLG_IMG_HELP)); imageHyperLink.addHyperlinkListener(new HyperlinkAdapter() { public void linkActivated(HyperlinkEvent e) { // Show help }
});
Here is how they create the toolbar:
ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); ToolBar toolbar = toolBarManager.createControl(section); toolbar.setCursor(Display.getDefault().getSystemCursor(SWT.CURSOR_HAND)); // Add sort action to the tool bar fSortAction = new SortAction(fExtensionTree, PDEUIMessages.ExtensionsPage_sortAlpha, null, null, this); toolBarManager.add(fSortAction); // Add collapse action to the tool bar fCollapseAction = new CollapseAction(fExtensionTree, PDEUIMessages.ExtensionsPage_collapseAll); toolBarManager.add(fCollapseAction); toolBarManager.update(true); section.setTextClient(toolbar);
EDIT:
This seems to work very well, too:
ToolBar toolbar = new ToolBar(section, SWT.NONE); //add the toolitems here //... section.setTextClient(toolbar);
Do not let Window Builder Tool adapt the toolbar with
FormToolkit
, or you will get a white background painted.