List of usage examples for com.intellij.openapi.diff DiffRequestFactory createMergeRequest
public abstract MergeRequest createMergeRequest(@NotNull String leftText, @NotNull String rightText, @NotNull String originalContent, @NotNull VirtualFile file, @Nullable Project project, @Nullable ActionButtonPresentation okButtonPresentation, @Nullable ActionButtonPresentation cancelButtonPresentation);
From source file:com.dci.intellij.dbn.editor.code.SourceCodeEditorManager.java
License:Apache License
private void showSourceDiffDialog(final String databaseContent, final SourceCodeFile virtualFile, final Editor editor) { new SimpleLaterInvocator() { public void run() { DiffRequestFactory diffRequestFactory = new DiffRequestFactoryImpl(); MergeRequest mergeRequest = diffRequestFactory.createMergeRequest(databaseContent, virtualFile.getContent(), virtualFile.getLastSavedContent(), virtualFile, virtualFile.getProject(), ActionButtonPresentation.APPLY, ActionButtonPresentation.CANCEL_WITH_PROMPT); mergeRequest.setVersionTitles(new String[] { "Database version", "Merge result", "Your version" }); final DBSchemaObject object = virtualFile.getObject(); mergeRequest.setWindowTitle("Version conflict resolution for " + object.getQualifiedNameWithType()); DiffManager.getInstance().getDiffTool().show(mergeRequest); int result = mergeRequest.getResult(); if (result == 0) { doUpdateSourceToDatabase(object, virtualFile, editor); //sourceCodeEditor.afterSave(); } else if (result == 1) { new WriteActionRunner() { public void run() { editor.getDocument().setText(virtualFile.getContent()); object.getStatus().set(DBObjectStatus.SAVING, false); }//from ww w .ja v a 2 s. co m }.start(); } } }.start(); }