package org.eclipse.platform.discovery.ui.internal.view; | |
import org.eclipse.jface.action.IAction; | |
import org.eclipse.jface.action.IMenuManager; | |
import org.eclipse.jface.action.IStatusLineManager; | |
import org.eclipse.jface.action.IToolBarManager; | |
import org.eclipse.jface.internal.provisional.action.ToolBarManager2; | |
import org.eclipse.swt.SWT; | |
import org.eclipse.swt.graphics.Point; | |
import org.eclipse.swt.graphics.Rectangle; | |
import org.eclipse.swt.widgets.ToolBar; | |
import org.eclipse.ui.IActionBars; | |
import org.eclipse.ui.services.IServiceLocator; | |
public class ActionBarsAdapter implements IActionBars { | |
private final ToolBar toolbar; | |
private final IActionBars barsDelegate; | |
private final IToolBarManager toolbarmanager; | |
public ActionBarsAdapter(ToolBar theToolbar, IActionBars delegate) { | |
this.toolbar = theToolbar; | |
this.barsDelegate = delegate; | |
this.toolbarmanager = new ToolBarManager2(toolbar); | |
} | |
@Override | |
public IAction getGlobalActionHandler(String actionId) { | |
return barsDelegate.getGlobalActionHandler(actionId); | |
} | |
@Override | |
public IMenuManager getMenuManager() { | |
return barsDelegate.getMenuManager(); | |
} | |
@Override | |
public IServiceLocator getServiceLocator() { | |
return barsDelegate.getServiceLocator(); | |
} | |
@Override | |
public IStatusLineManager getStatusLineManager() { | |
return barsDelegate.getStatusLineManager(); | |
} | |
@Override | |
public void setGlobalActionHandler(String actionId, IAction handler) { | |
barsDelegate.setGlobalActionHandler(actionId, handler); | |
} | |
@Override | |
public void updateActionBars() { | |
barsDelegate.updateActionBars(); | |
getToolBarManager().update(true); | |
final Point parentSize = toolbar.getParent().getSize(); | |
final Point tbSize = toolbar.computeSize(SWT.DEFAULT, SWT.DEFAULT); | |
final Rectangle tbBounds = toolbar.getBounds(); | |
toolbar.setBounds(parentSize.x - tbSize.x, tbBounds.y, tbSize.x, tbBounds.height); | |
} | |
@Override | |
public void clearGlobalActionHandlers() { | |
barsDelegate.clearGlobalActionHandlers(); | |
} | |
@Override | |
public IToolBarManager getToolBarManager() { | |
return toolbarmanager; | |
} | |
} |