blob: 6cd88a7123ae6fa9443c167e74ca362bee30f1f0 [file] [log] [blame]
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;
}
}