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;fp=bundles%2Forg.simantics.scenegraph%2Fsrc%2Forg%2Fsimantics%2Fscenegraph%2Fg2d%2Fnodes%2FSingleElementNode.java;h=29ef9954eb37a604a1ca593439e9614a1e3d4510;hb=4f38bc070c3e1e40d02bd8da64cc93a798c9aace;hp=61353557defe11fa5f99f05bad9dbd93aa4dc8a5;hpb=ba85c75dd6893c597f4befa3d2c9f32bee2fc85d;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 61353557d..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; @@ -35,6 +37,7 @@ public class SingleElementNode extends TransformNode implements InitValueSupport 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; @@ -52,6 +55,23 @@ public class SingleElementNode extends TransformNode implements InitValueSupport 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)