]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewer.java
Introduce new DiagramViewer.getRuntimeFromManager()
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / diagramEditor / DiagramViewer.java
index 000689309636911a54e8c2b3e6e15a9da4299a71..d7e66deb4ecc5ce590227f7a9709846d186acd12 100644 (file)
@@ -236,6 +236,7 @@ public class DiagramViewer
     protected GridSnapAdvisor            snapAdvisor;
 
     private RuntimeDiagramManager        runtimeDiagramManager;
+    private Resource                     runtimeDiagramResourceCache;
     private HasDiagramSourceListener     hasDiagramSourceListener;
 
     /**
@@ -245,11 +246,18 @@ public class DiagramViewer
      */
     protected WorkbenchSelectionProvider selectionProvider;
 
-    public Resource getRuntime() {
+    protected Resource getRuntimeFromManager() {
         RuntimeDiagramManager rtdm = runtimeDiagramManager;
         return (rtdm == null) ? null : rtdm.getRuntimeDiagram();
     }
 
+    public Resource getRuntime() {
+        if (runtimeDiagramResourceCache != null)
+            return runtimeDiagramResourceCache;
+        runtimeDiagramResourceCache = getRuntimeFromManager();
+        return runtimeDiagramResourceCache;
+    }
+
     public ParametrizedRead<IResourceEditorInput, Boolean> getInputValidator() {
         return INPUT_VALIDATOR;
     }