]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sg/DiagramSceneGraphProvider.java
Guard graph SCL module compilation
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / sg / DiagramSceneGraphProvider.java
index ca6d6d04cfa2ea1feeb8572ab3d256acb9de5ec9..302e074fce35fe9a202c743119e15afd397eb23f 100644 (file)
@@ -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<DiagramDesc>() {
-
                 @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);