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;
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() );
// 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);
}
});
}
@Override
public boolean isDisposed() {
- return ctx == null;
+ return DiagramSceneGraphProvider.this.ctx == null;
}
-
});
} catch (DatabaseException e) {
ErrorLogger.defaultLogError(e);