package jetbrains.mps.vcs.diff.ui.common; /*Generated by MPS */ import jetbrains.mps.vcs.diff.ChangeSet; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.NotNull; import jetbrains.mps.openapi.editor.update.UpdaterListener; import jetbrains.mps.openapi.editor.update.UpdaterListenerAdapter; import jetbrains.mps.openapi.editor.EditorComponent; import java.util.List; import jetbrains.mps.vcs.diff.changes.ModelChange; public class DiffChangeGroupLayout extends ChangeGroupLayout { private DiffEditor myLeftEditor; private DiffEditor myRightEditor; private ChangeSet myChangeSet; public DiffChangeGroupLayout(@Nullable ChangeEditorMessage.ConflictChecker conflictChecker, @NotNull ChangeSet changeSet, @NotNull DiffEditor leftEditor, @NotNull DiffEditor rightEditor, boolean inspector) { super(conflictChecker, inspector, false); myLeftEditor = leftEditor; myRightEditor = rightEditor; myChangeSet = changeSet; if (inspector) { UpdaterListener updaterListener = new UpdaterListenerAdapter() { @Override public void editorUpdated(EditorComponent editorComponent) { invalidate(); } }; myLeftEditor.getInspector().getUpdater().addListener(updaterListener); myRightEditor.getInspector().getUpdater().addListener(updaterListener); } } @NotNull @Override public jetbrains.mps.nodeEditor.EditorComponent getLeftComponent() { return myLeftEditor.getEditorComponent(myInspector); } @NotNull @Override public jetbrains.mps.nodeEditor.EditorComponent getRightComponent() { return myRightEditor.getEditorComponent(myInspector); } @Override protected List<ChangeEditorMessage> getLeftMessages(ModelChange change) { return myLeftEditor.getMessagesForChange(change); } @Override protected List<ChangeEditorMessage> getRightMessages(ModelChange change) { return myRightEditor.getMessagesForChange(change); } @Nullable @Override protected ChangeSet getChangeSet() { return myChangeSet; } public void setChangeSet(ChangeSet changeSet) { myChangeSet = changeSet; } }