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 * * @author Marko Luukkainen * */ 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, 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() { return r1; } public Resource getR2() { 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; } }