import org.eclipse.jface.action.Action; //导入方法依赖的package包/类
public static Composite createToolbars(final IToolbarDecoratedView view, final Composite composite) {
final Composite intermediateComposite = createIntermediateCompositeFor(view, composite);
final Composite toolbarComposite = createToolbarComposite(view, intermediateComposite);
final Composite childComposite = new Composite(intermediateComposite, SWT.None);
childComposite.setLayoutData(getLayoutDataForChild());
childComposite.setLayout(getLayoutForChild());
final GamaToolbar2 tb =
new GamaToolbar2(toolbarComposite, SWT.FLAT | SWT.HORIZONTAL | SWT.NO_FOCUS, TOOLBAR_HEIGHT);
final GridData data = new GridData(SWT.FILL, SWT.FILL, true, false);
data.minimumWidth = TOOLBAR_HEIGHT * 2;
tb.setLayoutData(data);
composite.addDisposeListener(e -> disposeToolbar(view, tb));
buildToolbar(view, tb);
// Creating the toggles
final Action toggle = new ToggleAction() {
@Override
public void run() {
show = !show;
((GridData) toolbarComposite.getLayoutData()).exclude = !show;
toolbarComposite.setVisible(show);
toolbarComposite.getParent().layout();
setIcon();
}
};
// Install the toogles in the view site
final IWorkbenchSite site = view.getSite();
if (site instanceof IViewSite) {
final IToolBarManager tm = ((IViewSite) site).getActionBars().getToolBarManager();
tm.add(toggle);
if (view instanceof IGamaView.Display) {
final Action toggleSideControls = new ToggleSideControls() {
@Override
public void run() {
((IGamaView.Display) view).toggleSideControls();
}
};
final Action toggleOverlay = new ToggleOverlay() {
@Override
public void run() {
((IGamaView.Display) view).toggleOverlay();
}
};
tm.add(toggleOverlay);
tm.add(toggleSideControls);
}
tm.update(true);
}
if (!view.toolbarVisible())
toggle.run();
return childComposite;
}