1 /*******************************************************************************
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
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
10 * VTT Technical Research Centre of Finland - initial API and implementation
11 *******************************************************************************/
12 package org.simantics.g2d.element.impl;
16 import org.simantics.g2d.diagram.IDiagram;
17 import org.simantics.g2d.element.ElementClass;
18 import org.simantics.g2d.element.IElement;
19 import org.simantics.utils.datastructures.hints.IHintListener;
20 import org.simantics.utils.threads.IThreadWorkQueue;
23 * @author Tuukka Lehtonen
25 public class ProxyElement implements IElement {
27 protected final IElement orig;
29 public ProxyElement(IElement orig) {
34 public void addedToDiagram(IDiagram diagram) {
35 orig.addedToDiagram(diagram);
39 public void destroy() {
44 public void dispose() {
49 public IDiagram getDiagram() {
50 return orig.getDiagram();
54 public ElementClass getElementClass() {
55 return orig.getElementClass();
59 public IDiagram peekDiagram() {
60 return orig.peekDiagram();
64 public <E> E removeHint(Key key) {
65 return orig.removeHint(key);
69 public void setHint(Key key, Object value) {
70 orig.setHint(key, value);
74 public void setHints(Map<Key, Object> hints) {
79 public void addHintListener(IHintListener listener) {
80 orig.addHintListener(listener);
84 public void addHintListener(IThreadWorkQueue threadAccess, IHintListener listener) {
85 orig.addHintListener(threadAccess, listener);
89 public void addKeyHintListener(Key key, IHintListener listener) {
90 orig.addKeyHintListener(key, listener);
94 public void addKeyHintListener(IThreadWorkQueue threadAccess, Key key, IHintListener listener) {
95 orig.addKeyHintListener(threadAccess, key, listener);
99 public void clearWithoutNotification() {
100 orig.clearWithoutNotification();
104 public boolean containsHint(Key key) {
105 return orig.containsHint(key);
109 public <E> E getHint(Key key) {
110 return orig.getHint(key);
114 public Map<Key, Object> getHints() {
115 return orig.getHints();
119 public Map<Key, Object> getHintsUnsafe() {
120 return orig.getHintsUnsafe();
124 public <E extends Key> Map<E, Object> getHintsOfClass(Class<E> clazz) {
125 return orig.getHintsOfClass(clazz);
129 public void removeHintListener(IHintListener listener) {
130 orig.removeHintListener(listener);
134 public void removeHintListener(IThreadWorkQueue threadAccess, IHintListener listener) {
135 orig.removeHintListener(threadAccess, listener);
139 public void removeKeyHintListener(Key key, IHintListener listener) {
140 orig.removeKeyHintListener(key, listener);
144 public void removeKeyHintListener(IThreadWorkQueue threadAccess, Key key, IHintListener listener) {
145 orig.removeKeyHintListener(threadAccess, key, listener);