]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram.svg/src/org/simantics/diagram/svg/export/DiagramToSVG.java
Added mechanism to diagram IFlagType to prevent graph modifications
[simantics/platform.git] / bundles / org.simantics.diagram.svg / src / org / simantics / diagram / svg / export / DiagramToSVG.java
index 555be8be7d1cf68224a7e38c0e4bc78043567f55..9964592f95c6136eed0b38a426fc840db49e4ca3 100644 (file)
@@ -20,6 +20,7 @@ import org.simantics.db.request.Read;
 import org.simantics.diagram.elements.DiagramNodeUtil;
 import org.simantics.diagram.export.ImagePrinter;
 import org.simantics.diagram.stubs.DiagramResource;
+import org.simantics.g2d.canvas.Hints;
 import org.simantics.g2d.canvas.impl.CanvasContext;
 import org.simantics.g2d.scenegraph.ICanvasSceneGraphProvider;
 import org.simantics.layer0.Layer0;
@@ -132,6 +133,7 @@ public class DiagramToSVG {
                thread.start();
                
         final CanvasContext ctx = new CanvasContext(thread);
+        ctx.getDefaultHintContext().setHint(Hints.KEY_DISABLE_GRAPH_MODIFICATIONS, Boolean.TRUE);
         final AtomicReference<ICanvasSceneGraphProvider> sgProvider = new AtomicReference<ICanvasSceneGraphProvider>();
                final ISessionContext sessionContext = Simantics.getSessionContext();
                final DataContainer<String> result = new DataContainer<String>(null);
@@ -217,6 +219,7 @@ public class DiagramToSVG {
                if(!painterThread.currentThreadAccess()) throw new IllegalStateException("The callable should be called from the contextThread");
 
                final CanvasContext ctx = new CanvasContext(loaderThread);
+               ctx.getDefaultHintContext().setHint(Hints.KEY_DISABLE_GRAPH_MODIFICATIONS, Boolean.TRUE);
                final AtomicReference<ICanvasSceneGraphProvider> sgProvider = new AtomicReference<ICanvasSceneGraphProvider>();
                final DataContainer<String> result = new DataContainer<String>(null);
                final DataContainer<Exception> exception = new DataContainer<Exception>(null);