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%2FOpenDiagramFromConfigurationAdapter.java;h=c446d1c3c057f15409192b182d3dba45d6c6c668;hp=0ca3b1b04406861467b845013717710ff5c45788;hb=43355222d559c87975f7f39dce18d36f35ea9b94;hpb=047ff1c43c7bf58acad5098d020434586ddfcbe0 diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromConfigurationAdapter.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromConfigurationAdapter.java index 0ca3b1b04..c446d1c3c 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromConfigurationAdapter.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/OpenDiagramFromConfigurationAdapter.java @@ -32,6 +32,7 @@ import org.simantics.g2d.canvas.ICanvasContext; import org.simantics.g2d.diagram.DiagramHints; import org.simantics.layer0.Layer0; import org.simantics.modeling.ComponentUtils; +import org.simantics.modeling.ModelingResources; import org.simantics.modeling.actions.NavigateToTarget; import org.simantics.modeling.ui.Activator; import org.simantics.structural.stubs.StructuralResource2; @@ -50,8 +51,13 @@ public class OpenDiagramFromConfigurationAdapter extends AbstractResourceEditorA super(Messages.OpenDiagramFromConfigurationAdapter_DiagramEditor, Activator.COMPOSITE_ICON); } - protected String getEditorId() { - return EDITOR_ID; + protected String getEditorId(ReadGraph g, Resource composite) throws DatabaseException { + ModelingResources MOD = ModelingResources.getInstance(g); + String preferredEditorId = g.getPossibleRelatedValue(composite, MOD.PreferredDiagramEditorID); + if(preferredEditorId != null) + return preferredEditorId; + else + return EDITOR_ID; } @Override @@ -80,7 +86,7 @@ public class OpenDiagramFromConfigurationAdapter extends AbstractResourceEditorA Simantics.getSession().asyncRequest(new ReadRequest() { @Override public void run(ReadGraph g) throws DatabaseException { - openEditor(g, r, getEditorId()); + openEditor(g, r, getEditorId(g, r)); } }); }