]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromIssue.java
(refs #7452) Added PreferredDiagramEditorID to Modeling.graph
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / diagramEditor / OpenDiagramFromIssue.java
index 7fd13bbdddcbb023573651eee62b30bb9eddaa14..9214082f24079d2ced9ffcbe8bf355172d47e9e0 100644 (file)
@@ -51,8 +51,13 @@ public class OpenDiagramFromIssue extends AbstractResourceEditorAdapter {
         super("Open Diagram Containing Referenced Component", Activator.COMPOSITE_ICON);
     }
 
-    protected String getEditorId() {
-        return EDITOR_ID;
+    protected String getEditorId(ReadGraph g, Resource diagram) throws DatabaseException {
+        ModelingResources MOD = ModelingResources.getInstance(g);
+        String preferredEditorId = g.getPossibleRelatedValue(diagram, MOD.PreferredDiagramEditorID);
+        if(preferredEditorId != null)
+            return preferredEditorId;
+        else
+            return EDITOR_ID;
     }
 
     @Override
@@ -67,7 +72,7 @@ public class OpenDiagramFromIssue extends AbstractResourceEditorAdapter {
             public void run(ReadGraph g) throws DatabaseException {
                 Pair<Resource, Collection<Object>> data = extractContext(g, input);
                 if (data != null)
-                    OpenDiagramFromConfigurationAdapter.openEditor(g, data.first, getEditorId(), data.second);
+                    OpenDiagramFromConfigurationAdapter.openEditor(g, data.first, getEditorId(g, data.first), data.second);
             }
         });
     }