X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fadapter%2FEdgeRequest.java;h=826827f768c3cf4a4b06578c72fe2537d9f6c23b;hb=617b9475710b80a125597f222f9777224972ce72;hp=651228ce1d7756f10516430c6bbc8c71d355cece;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/EdgeRequest.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/EdgeRequest.java index 651228ce1..826827f76 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/EdgeRequest.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/EdgeRequest.java @@ -16,6 +16,7 @@ import org.simantics.db.common.procedure.adapter.ListenerSupport; import org.simantics.db.common.procedure.adapter.TransientCacheAsyncListener; import org.simantics.db.procedure.AsyncProcedure; import org.simantics.diagram.content.EdgeResource; +import org.simantics.diagram.internal.DebugPolicy; import org.simantics.diagram.stubs.DiagramResource; import org.simantics.diagram.synchronization.ErrorHandler; import org.simantics.g2d.canvas.ICanvasContext; @@ -30,16 +31,19 @@ import org.simantics.g2d.element.impl.Element; */ public class EdgeRequest extends BaseRequest2 { + final GraphToDiagramSynchronizer synchronizer; final ErrorHandler errorHandler; final ListenerSupport listenerSupport; final IDiagram diagram; final ConnectionSegmentAdapter adapter; - public EdgeRequest(ICanvasContext canvas, ErrorHandler errorHandler, ListenerSupport listenerSupport, IDiagram diagram, ConnectionSegmentAdapter adapter, EdgeResource resource) { + public EdgeRequest(GraphToDiagramSynchronizer synchronizer, ICanvasContext canvas, ErrorHandler errorHandler, ListenerSupport listenerSupport, IDiagram diagram, ConnectionSegmentAdapter adapter, EdgeResource resource) { super(canvas, resource); assert(adapter != null); + assert(synchronizer != null); + this.synchronizer = synchronizer; this.errorHandler = errorHandler; this.listenerSupport = listenerSupport; this.diagram = diagram; @@ -96,6 +100,13 @@ public class EdgeRequest extends BaseRequest2 { @Override public void execute(AsyncReadGraph graph, IElement element) { + + if (DebugPolicy.DEBUG_EDGE_LOAD) + System.out.println(" SPAWNED EDGE SEGMENT: " + element + " " + data); + + // Register this for updates to work correctly + synchronizer.mapElementIfNew(data, element); + // task.finish(); // Tell the procedure to use this element procedure.execute(graph, element);