X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.selectionview%2Fsrc%2Forg%2Fsimantics%2Fselectionview%2FPageSiteProxy.java;fp=bundles%2Forg.simantics.selectionview%2Fsrc%2Forg%2Fsimantics%2Fselectionview%2FPageSiteProxy.java;h=27b69403f7aeb2c70d2b82710668b2df0e00cc07;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.selectionview/src/org/simantics/selectionview/PageSiteProxy.java b/bundles/org.simantics.selectionview/src/org/simantics/selectionview/PageSiteProxy.java new file mode 100644 index 000000000..27b69403f --- /dev/null +++ b/bundles/org.simantics.selectionview/src/org/simantics/selectionview/PageSiteProxy.java @@ -0,0 +1,96 @@ +/******************************************************************************* + * Copyright (c) 2012 Association for Decentralized Information Management in + * Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.selectionview; + +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.internal.services.INestable; +import org.eclipse.ui.part.IPageSite; + +/** + * @author Tuukka Lehtonen + */ +public class PageSiteProxy implements IPageSite, INestable { + + IPageSite proxy; + + public PageSiteProxy(IPageSite proxy) { + this.proxy = proxy; + } + + @Override + public IWorkbenchPage getPage() { + return proxy.getPage(); + } + + @Override + public ISelectionProvider getSelectionProvider() { + return proxy.getSelectionProvider(); + } + + @Override + public Shell getShell() { + return proxy.getShell(); + } + + @Override + public IWorkbenchWindow getWorkbenchWindow() { + return proxy.getWorkbenchWindow(); + } + + @Override + public void setSelectionProvider(ISelectionProvider provider) { + proxy.setSelectionProvider(provider); + } + + @Override + public Object getAdapter(Class adapter) { + return proxy.getAdapter(adapter); + } + + @Override + public Object getService(Class api) { + return proxy.getService(api); + } + + @Override + public boolean hasService(Class api) { + return proxy.hasService(api); + } + + @Override + public void activate() { + if (proxy instanceof INestable) + ((INestable) proxy).activate(); + } + + @Override + public void deactivate() { + if (proxy instanceof INestable) + ((INestable) proxy).deactivate(); + } + + @Override + public void registerContextMenu(String menuId, MenuManager menuManager, ISelectionProvider selectionProvider) { + proxy.registerContextMenu(menuId, menuManager, selectionProvider); + } + + @Override + public IActionBars getActionBars() { + return proxy.getActionBars(); + } + +} \ No newline at end of file