X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2FdiagramEditor%2FOpenDiagramFromIssue.java;h=7bb39804c431109706ad71fe49fd1dc15548017e;hp=7fd13bbdddcbb023573651eee62b30bb9eddaa14;hb=47269fe0acb894f346810417d950a1ab59cdc0ea;hpb=fe1a2f532761669e67da4db4ae15096ced8a04db diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromIssue.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromIssue.java index 7fd13bbdd..7bb39804c 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromIssue.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromIssue.java @@ -45,14 +45,19 @@ import org.simantics.utils.ui.ISelectionUtils; */ public class OpenDiagramFromIssue extends AbstractResourceEditorAdapter { - private static final String EDITOR_ID = "org.simantics.modeling.ui.plainDiagramEditor"; + private static final String EDITOR_ID = "org.simantics.modeling.ui.plainDiagramEditor"; //$NON-NLS-1$ public OpenDiagramFromIssue() { - super("Open Diagram Containing Referenced Component", Activator.COMPOSITE_ICON); + super(Messages.OpenDiagramFromIssue_OpenDiagramRefComponent, 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> 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); } }); } @@ -152,7 +157,7 @@ public class OpenDiagramFromIssue extends AbstractResourceEditorAdapter { } protected static Collection findElementObjects(ReadGraph g, Resource component) throws DatabaseException { - Collection result = findElementObjects(g, component, ""); + Collection result = findElementObjects(g, component, ""); //$NON-NLS-1$ ModelingResources MOD = ModelingResources.getInstance(g); for (Resource element : g.getObjects(component, MOD.HasParentComponent_Inverse)) result.add(element);