X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=inline;f=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Feditor%2FUpdateEditorInput.java;h=0494b0b5666f453f0c60fca41abb307ad5193e6a;hb=97c68766209d534318dfc146727eb5670fca848e;hp=f91f659830834c31a735a9c4332a984fa27e7782;hpb=2a37041c6da8864656e7217dbcc3d6dae8cd65be;p=simantics%2Finterop.git diff --git a/org.simantics.interop.update/src/org/simantics/interop/update/editor/UpdateEditorInput.java b/org.simantics.interop.update/src/org/simantics/interop/update/editor/UpdateEditorInput.java index f91f659..0494b0b 100644 --- a/org.simantics.interop.update/src/org/simantics/interop/update/editor/UpdateEditorInput.java +++ b/org.simantics.interop.update/src/org/simantics/interop/update/editor/UpdateEditorInput.java @@ -1,8 +1,10 @@ package org.simantics.interop.update.editor; +import org.eclipse.ui.PartInitException; import org.simantics.db.Resource; import org.simantics.db.layer0.variable.RVI; import org.simantics.ui.workbench.ResourceEditorInput2; +import org.simantics.utils.ui.workbench.WorkbenchUtils; /** * Editor input for ModelUpdateEditor @@ -12,13 +14,31 @@ import org.simantics.ui.workbench.ResourceEditorInput2; */ public class UpdateEditorInput extends ResourceEditorInput2{ + private String editorID; private Resource r1; private Resource r2; + private Resource r3; + private boolean newDistinct = false; - public UpdateEditorInput(String editorID, Resource r1, Resource r2, Resource model, RVI rvi) { - super(editorID, r1, model, rvi); + + public UpdateEditorInput(String editorID, Resource r1, Resource r2, RVI rvi) { + this(editorID, r1, r2, null,rvi); + } + + /** + * + * @param editorID + * @param r1 old model that is being updated + * @param r2 new model containing the changes that we want to apply + * @param r3 original model to detect user mace changes to the old model r1. This parameter can be + * @param rvi + */ + public UpdateEditorInput(String editorID, Resource r1, Resource r2, Resource r3, RVI rvi) { + super(editorID, r1, r1, rvi); this.r1 = r1; this.r2 = r2; + this.r3 = r3; + this.editorID = editorID; } public Resource getR1() { @@ -29,5 +49,23 @@ public class UpdateEditorInput extends ResourceEditorInput2{ return r2; } + public Resource getR3() { + return r3; + } + + + public void openEditor() throws PartInitException { + WorkbenchUtils.openEditor(editorID, this); + } + + // With tree-way comparison, treat new resources for compared old and new models as distinct. + // default : false. Comparison may consider that new objects in models r1 and r2 are the same. + public boolean isNewDistinct() { + return newDistinct; + } + + public void setNewDistinct(boolean newDistinct) { + this.newDistinct = newDistinct; + } }