X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fsg%2FDiagramSceneGraphProvider.java;h=302e074fce35fe9a202c743119e15afd397eb23f;hb=f1813ca6c2012661afd6565c3a2d0c06b38ad401;hp=ca6d6d04cfa2ea1feeb8572ab3d256acb9de5ec9;hpb=06b8d15b931929743ddc4a90b4f057552b09c2b6;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sg/DiagramSceneGraphProvider.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sg/DiagramSceneGraphProvider.java index ca6d6d04c..302e074fc 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sg/DiagramSceneGraphProvider.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sg/DiagramSceneGraphProvider.java @@ -36,6 +36,7 @@ import org.simantics.diagram.handler.CopyPasteStrategy; import org.simantics.diagram.handler.DefaultCopyPasteStrategy; import org.simantics.diagram.handler.DeleteHandler; import org.simantics.diagram.handler.SimpleElementTransformHandler; +import org.simantics.diagram.participant.ConnectionCrossingsParticipant; import org.simantics.diagram.query.DiagramRequests; import org.simantics.diagram.runtime.RuntimeDiagramManager; import org.simantics.diagram.stubs.DiagramResource; @@ -251,6 +252,7 @@ public class DiagramSceneGraphProvider implements ICanvasSceneGraphProvider, IDi ctx.add( new Selection() ); ctx.add( new DiagramParticipant() ); ctx.add( new ElementPainter(true) ); + ctx.add( new ConnectionCrossingsParticipant(resource)); //ctx.add( new ElementHeartbeater() ); ctx.add( new ZOrderHandler() ); @@ -293,16 +295,12 @@ public class DiagramSceneGraphProvider implements ICanvasSceneGraphProvider, IDi // Create a listener to react to page setting changes. Simantics.getSession().asyncRequest(DiagramRequests.getDiagramDesc(diagramResource), new Listener() { - @Override public void execute(DiagramDesc result) { if (result != null && ctx != null) { - ThreadUtils.asyncExec(ctx.getThreadAccess(), new Runnable() { - @Override - public void run() { - if (ctx != null) { - setDiagramDesc(ctx, result); - } + ThreadUtils.asyncExec(ctx.getThreadAccess(), () -> { + if (ctx != null) { + setDiagramDesc(ctx, result); } }); } @@ -315,9 +313,8 @@ public class DiagramSceneGraphProvider implements ICanvasSceneGraphProvider, IDi @Override public boolean isDisposed() { - return ctx == null; + return DiagramSceneGraphProvider.this.ctx == null; } - }); } catch (DatabaseException e) { ErrorLogger.defaultLogError(e);