]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramEditor.java
Reinitialize visible diagrams after shared library migration
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / diagramEditor / DiagramEditor.java
index 7734ce7145f60dc20ba7b27c21a769a7b36ab17a..60dc7f5991854a62706aadde0157b4d71cc50e76 100644 (file)
@@ -13,6 +13,7 @@
 package org.simantics.modeling.ui.diagramEditor;
 
 import java.lang.reflect.Constructor;
+import java.util.Set;
 import java.util.function.Predicate;
 
 import org.eclipse.core.runtime.IConfigurationElement;
@@ -433,4 +434,19 @@ public class DiagramEditor extends EditorPart implements IResourceEditorPart2, I
                 && ((IResourceEditorInput) input).getResource().equals(diagram));
     }
 
+    /**
+     * Reinitializes all DiagramEditor instances in all workbench windows that have
+     * the specified <code>diagrams</code> as their input.
+     * 
+     * <p>Must be invoked from the SWT thread.</p>
+     * 
+     * @param diagrams
+     *            collection of diagram resources for which to reinitialize all DiagramEditors
+     *            for
+     */
+    public static void reinitializeDiagram(Set<Resource> diagrams) {
+        reinitializeDiagram(input -> input instanceof IResourceEditorInput
+                && diagrams.contains(((IResourceEditorInput) input).getResource()));
+    }
+
 }