X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scenegraph%2Fsrc%2Forg%2Fsimantics%2Fscenegraph%2Fg2d%2Fnodes%2FSingleElementNode.java;h=29ef9954eb37a604a1ca593439e9614a1e3d4510;hb=452670c58399d8054872655841ebb6e66d9c6b6e;hp=beee2538a534092c9f32c79577d9559b3851e3d9;hpb=de8cf4f7d7035bdc8d07ef0b03253ef44485d29c;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SingleElementNode.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SingleElementNode.java index beee2538a..29ef9954e 100644 --- a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SingleElementNode.java +++ b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SingleElementNode.java @@ -16,7 +16,9 @@ import java.awt.Composite; import java.awt.Graphics2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; +import java.util.Map; +import org.simantics.scenegraph.INode; import org.simantics.scenegraph.g2d.G2DRenderingHints; import org.simantics.scenegraph.g2d.IG2DNode; import org.simantics.scenegraph.g2d.events.EventTypes; @@ -34,15 +36,42 @@ public class SingleElementNode extends TransformNode implements InitValueSupport protected Boolean visible = Boolean.TRUE; protected Boolean hidden = Boolean.FALSE; private transient Object key; + private transient String typeClass; + private transient Map parameters; public void setKey(Object key) { this.key = key; } + public void setTypeClass(String typeClass) { + this.typeClass = typeClass; + } + public Object getKey() { return key; } + public String getTypeClass() { + return typeClass; + } + + public void setParameters(Map parameters) { + this.parameters = parameters; + } + + public T getParameter(String key) { + if (parameters != null) { + @SuppressWarnings("unchecked") + T t = (T) parameters.get(key); + if(t != null) return t; + } + INode parent = NodeUtil.getNearestParentOfType(this, SingleElementNode.class); + if (parent instanceof SingleElementNode) { + return ((SingleElementNode)parent).getParameter(key); + } + return null; + } + public void setTransferableProvider(TransferableProvider transferableProvider) { if (transferableProvider != this.transferableProvider) { if (this.transferableProvider != null)