X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Feditor%2FUpdateEditorInput.java;h=0494b0b5666f453f0c60fca41abb307ad5193e6a;hb=97c68766209d534318dfc146727eb5670fca848e;hp=3c0a025265f8041a8816ab3b569efdbd48d1bf8e;hpb=2de9ca9c20cbb4dca4ae274547d65ec6f1cbc893;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 3c0a025..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 @@ -17,11 +17,27 @@ 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; } @@ -33,9 +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; + } + }