]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/DefinedElementTerminals.java
Dynamic terminals and connections
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / adapter / DefinedElementTerminals.java
index d67f9f547f9c5a27a2ad552849f5842e0746bdd8..33e831afcf1b69f638c6a3ce66699957273e9713 100644 (file)
@@ -11,6 +11,7 @@
  *******************************************************************************/
 package org.simantics.diagram.adapter;
 
  *******************************************************************************/
 package org.simantics.diagram.adapter;
 
+import java.awt.Shape;
 import java.awt.geom.AffineTransform;
 import java.util.Collection;
 
 import java.awt.geom.AffineTransform;
 import java.util.Collection;
 
@@ -73,5 +74,20 @@ public class DefinedElementTerminals extends Terminals {
             return null;
         return ti.getTransform();
     }
             return null;
         return ti.getTransform();
     }
+    
+    @Override
+    public Shape getTerminalShape(IElement e, Terminal t) {
+        if (t instanceof ResourceTerminal) {
+            ResourceTerminal rt = (ResourceTerminal) t;
+            IG2DNode node = e.getHint(DefinedElementHandler.KEY_SG_NODE);
+            if (node != null) {
+                IG2DNode n = findResourceTerminalNode(node, rt);
+                if (n != null) {
+                    return n.getBoundsInLocal();
+                }
+            }
+        }
+        return super.getTerminalShape(e, t);
+    }
 
 }
\ No newline at end of file
 
 }
\ No newline at end of file