X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fparticipant%2FConnectionBuilder.java;h=b36961f87a589595d939d3045c0482bd3e71939c;hp=1fcf074cdf8c2863517aea5b22f225f265097764;hb=bd5bc6e45f700e755b61bd112631796631330ecb;hpb=0e8cf1e1708870e179330c2f9af2d03589d553ab diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/participant/ConnectionBuilder.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/participant/ConnectionBuilder.java index 1fcf074cd..b36961f87 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/participant/ConnectionBuilder.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/participant/ConnectionBuilder.java @@ -475,7 +475,8 @@ public class ConnectionBuilder { Resource attachToConnection, Resource attachToLine, Deque controlPoints, - TerminalInfo endTerminal) + TerminalInfo endTerminal, + FlagClass.Type flagType) throws DatabaseException { initializeResources(graph); @@ -502,9 +503,10 @@ public class ConnectionBuilder { if (endTerminal != null) { endConnector = createConnectorForNode(graph, attachToConnection, endTerminal, EdgeEnd.End, judgment); } else if (createFlags) { - IElement endFlag = createFlag(graph, attachToConnection, EdgeEnd.End, controlPoints.getLast(), FlagClass.Type.Out, null); + EdgeEnd end = flagType == FlagClass.Type.In ? EdgeEnd.Begin : EdgeEnd.End; + IElement endFlag = createFlag(graph, attachToConnection, end, controlPoints.getLast(), flagType, null); endConnector = createConnectorForNode(graph, attachToConnection, (Resource) ElementUtils.getObject(endFlag), - ElementUtils.getSingleTerminal(endFlag), EdgeEnd.End, judgment); + ElementUtils.getSingleTerminal(endFlag), end, judgment); } cu.connect(attachToLine, endConnector.getConnector());