]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.selectionview/src/org/simantics/selectionview/PageSiteProxy.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.selectionview / src / org / simantics / selectionview / PageSiteProxy.java
1 /*******************************************************************************
2  * Copyright (c) 2012 Association for Decentralized Information Management in
3  * Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.selectionview;
13
14 import org.eclipse.jface.action.MenuManager;
15 import org.eclipse.jface.viewers.ISelectionProvider;
16 import org.eclipse.swt.widgets.Shell;
17 import org.eclipse.ui.IActionBars;
18 import org.eclipse.ui.IWorkbenchPage;
19 import org.eclipse.ui.IWorkbenchWindow;
20 import org.eclipse.ui.internal.services.INestable;
21 import org.eclipse.ui.part.IPageSite;
22
23 /**
24  * @author Tuukka Lehtonen
25  */
26 public class PageSiteProxy implements IPageSite, INestable {
27
28     IPageSite proxy;
29
30     public PageSiteProxy(IPageSite proxy) {
31         this.proxy = proxy;
32     }
33
34     @Override
35     public IWorkbenchPage getPage() {
36         return proxy.getPage();
37     }
38
39     @Override
40     public ISelectionProvider getSelectionProvider() {
41         return proxy.getSelectionProvider();
42     }
43
44     @Override
45     public Shell getShell() {
46         return proxy.getShell();
47     }
48
49     @Override
50     public IWorkbenchWindow getWorkbenchWindow() {
51         return proxy.getWorkbenchWindow();
52     }
53
54     @Override
55     public void setSelectionProvider(ISelectionProvider provider) {
56         proxy.setSelectionProvider(provider);
57     }
58
59     @Override
60     public Object getAdapter(Class adapter) {
61         return proxy.getAdapter(adapter);
62     }
63
64     @Override
65     public Object getService(Class api) {
66         return proxy.getService(api);
67     }
68
69     @Override
70     public boolean hasService(Class api) {
71         return proxy.hasService(api);
72     }
73
74     @Override
75     public void activate() {
76         if (proxy instanceof INestable)
77             ((INestable) proxy).activate();
78     }
79
80     @Override
81     public void deactivate() {
82         if (proxy instanceof INestable)
83             ((INestable) proxy).deactivate();
84     }
85
86     @Override
87     public void registerContextMenu(String menuId, MenuManager menuManager, ISelectionProvider selectionProvider) {
88         proxy.registerContextMenu(menuId, menuManager, selectionProvider);
89     }
90
91     @Override
92     public IActionBars getActionBars() {
93         return proxy.getActionBars();
94     }
95
96 }