Example usage for org.eclipse.jface.action ToolBarManager setOverrides

List of usage examples for org.eclipse.jface.action ToolBarManager setOverrides

Introduction

In this page you can find the example usage for org.eclipse.jface.action ToolBarManager setOverrides.

Prototype

public void setOverrides(IContributionManagerOverrides newOverrides) 

Source Link

Document

Sets the overrides for this contribution manager

Usage

From source file:net.yatomiya.e4.ui.workbench.renderers.swt.ToolBarManagerRenderer.java

License:Open Source License

private ToolBar createToolbar(final MUIElement element, Composite parent) {
    int orientation = getOrientation(element);
    int style = orientation | SWT.WRAP | SWT.FLAT | SWT.RIGHT;
    ToolBarManager manager = getManager((MToolBar) element);
    if (manager == null) {
        manager = new ToolBarManager(style);
        IContributionManagerOverrides overrides = null;
        MApplicationElement parentElement = element.getParent();
        if (parentElement == null) {
            parentElement = (MApplicationElement) ((EObject) element).eContainer();
        }/*from w w w  .j a v  a  2s  .  co  m*/

        if (parentElement != null) {
            overrides = (IContributionManagerOverrides) parentElement.getTransientData()
                    .get(IContributionManagerOverrides.class.getName());
        }

        manager.setOverrides(overrides);
        linkModelToManager((MToolBar) element, manager);
    } else {
        ToolBar toolBar = manager.getControl();
        if (toolBar != null && !toolBar.isDisposed() && (toolBar.getStyle() & orientation) == 0) {
            toolBar.dispose();
        }
        manager.setStyle(style);
    }
    ToolBar bar = manager.createControl(parent);
    bar.setData(manager);
    bar.setData(AbstractPartRenderer.OWNING_ME, element);
    bar.getShell().layout(new Control[] { bar }, SWT.DEFER);
    return bar;
}

From source file:org.eclipse.e4.ui.workbench.renderers.swt.ToolBarManagerRenderer.java

License:Open Source License

private ToolBar createToolbar(final MUIElement element, Composite parent) {
    int orientation = getOrientation(element);

    ToolBarManager manager = getManager((MToolBar) element);
    if (manager == null) {
        manager = new ToolBarManager(orientation | SWT.WRAP | SWT.FLAT | SWT.RIGHT);
        IContributionManagerOverrides overrides = null;
        MApplicationElement parentElement = element.getParent();
        if (parentElement == null) {
            parentElement = (MApplicationElement) ((EObject) element).eContainer();
        }//ww  w.j a  v  a2  s .  co  m

        if (parentElement != null) {
            overrides = (IContributionManagerOverrides) parentElement.getTransientData()
                    .get(IContributionManagerOverrides.class.getName());
        }

        manager.setOverrides(overrides);
        linkModelToManager((MToolBar) element, manager);
    }
    ToolBar bar = manager.createControl(parent);
    bar.setData(manager);
    bar.setData(AbstractPartRenderer.OWNING_ME, element);
    bar.getShell().layout(new Control[] { bar }, SWT.DEFER);
    bar.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            cleanUp((MToolBar) element);
        }
    });
    return bar;
}

From source file:org.eclipse.ui.internal.CoolBarToTrimManager.java

License:Open Source License

private void add(MTrimBar trimBar, int idx, IContributionItem item) {
    if (item instanceof IToolBarContributionItem) {
        IToolBarManager mgr = ((IToolBarContributionItem) item).getToolBarManager();
        if (!(mgr instanceof ToolBarManager)) {
            return;
        }//  w  ww.  j  a v  a 2  s.com
        ToolBarManager manager = (ToolBarManager) mgr;

        if (renderer.getToolBarModel(manager) != null) {
            return;
        }

        MToolBar toolBar = (MToolBar) modelService.find(item.getId(), window);
        boolean tbFound = toolBar != null;
        if (!tbFound) {
            toolBar = MenuFactoryImpl.eINSTANCE.createToolBar();
        } else {
            toolBar.getChildren().clear();
        }
        toolBar.setElementId(item.getId());
        toolBar.getTransientData().put(OBJECT, item);
        if (manager instanceof ToolBarManager) {
            renderer.linkModelToManager(toolBar, (ToolBarManager) manager);
        }
        toolBar.setToBeRendered(true);
        if (!tbFound) {
            if (idx < 0) {
                trimBar.getChildren().add(toolBar);
            } else {
                trimBar.getChildren().add(idx, toolBar);
            }
        }
        workbenchTrimElements.add(toolBar);
        manager.setOverrides(toolbarOverrides);
    } else if (item instanceof IContributionManager) {
        new Exception("Have to deal with " + item).printStackTrace(); //$NON-NLS-1$
    } else if (item instanceof AbstractGroupMarker) {
        if (item.getId() == null) {
            return;
        }
        for (MTrimElement toolBar : topTrim.getChildren()) {
            if (item.getId().equals(toolBar.getElementId()) && toolBar.getTags().contains(TOOLBAR_SEPARATOR)) {
                // already in the coolbar
                return;
            }
        }
        MToolBarSeparator separator = MenuFactoryImpl.eINSTANCE.createToolBarSeparator();
        separator.setToBeRendered(false);
        separator.setElementId(item.getId());

        MToolBar toolBar = (MToolBar) modelService.find(item.getId(), window);
        boolean tbFound = toolBar != null;
        if (!tbFound) {
            toolBar = MenuFactoryImpl.eINSTANCE.createToolBar();
        } else {
            toolBar.getChildren().clear();
        }
        toolBar.getTransientData().put(OBJECT, item);
        toolBar.getTags().add(TOOLBAR_SEPARATOR);
        toolBar.setElementId(item.getId());
        toolBar.getChildren().add(separator);
        toolBar.setToBeRendered(false);
        if (!tbFound) {
            if (idx < 0) {
                topTrim.getChildren().add(toolBar);
            } else {
                topTrim.getChildren().add(idx, toolBar);
            }
        }
        workbenchTrimElements.add(toolBar);
    }

}