Example usage for com.intellij.openapi.diff MergeRequest setVersionTitles

List of usage examples for com.intellij.openapi.diff MergeRequest setVersionTitles

Introduction

In this page you can find the example usage for com.intellij.openapi.diff MergeRequest setVersionTitles.

Prototype

public abstract void setVersionTitles(String[] versionTitles);

Source Link

Document

Sets the titles of panes in the merge dialog.

Usage

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);
                    }//  w w w  .  java2s .c om
                }.start();
            }
        }
    }.start();
}

From source file:com.microsoft.alm.plugin.idea.tfvc.core.tfs.conflicts.DialogContentMerger.java

License:Open Source License

public boolean mergeContent(final ContentTriplet contentTriplet, final Project project,
        final VirtualFile localFile, final VcsRevisionNumber serverVersion) {
    ArgumentHelper.checkIfFileWriteable(new File(localFile.getPath()));

    final MergeDialogCustomizer c = new MergeDialogCustomizer();
    final MergeRequest request = DiffRequestFactory.getInstance().createMergeRequest(
            StreamUtil.convertSeparators(contentTriplet.localContent),
            StreamUtil.convertSeparators(contentTriplet.serverContent),
            StreamUtil.convertSeparators(contentTriplet.baseContent), localFile, project,
            ActionButtonPresentation.APPLY, ActionButtonPresentation.CANCEL_WITH_PROMPT);

    request.setWindowTitle(c.getMergeWindowTitle(localFile));
    request.setVersionTitles(new String[] { c.getLeftPanelTitle(localFile), c.getCenterPanelTitle(localFile),
            c.getRightPanelTitle(localFile, serverVersion) });

    // TODO (Jetbrains) call canShow() first
    DiffManager.getInstance().getDiffTool().show(request);
    if (request.getResult() == DialogWrapper.OK_EXIT_CODE) {
        return true;
    } else {//from   w  ww  . j a  v a 2 s .  c om
        request.restoreOriginalContent();
        // TODO (Jetbrains) maybe MergeVersion.MergeDocumentVersion.restoreOriginalContent() should save document itself?
        ApplicationManager.getApplication().runWriteAction(new Runnable() {
            public void run() {
                final Document document = FileDocumentManager.getInstance().getDocument(localFile);
                if (document != null) {
                    FileDocumentManager.getInstance().saveDocument(document);
                }
            }
        });
        return false;
    }
}

From source file:org.jetbrains.tfsIntegration.core.tfs.conflicts.DialogContentMerger.java

License:Apache License

public boolean mergeContent(Conflict conflict, ContentTriplet contentTriplet, Project project,
        final VirtualFile localFile, String localPath, VcsRevisionNumber serverVersion) {
    TFSVcs.assertTrue(localFile.isWritable(), localFile.getPresentableUrl() + " must be writable");

    MergeDialogCustomizer c = new MergeDialogCustomizer();
    MergeRequest request = DiffRequestFactory.getInstance().createMergeRequest(
            StreamUtil.convertSeparators(contentTriplet.localContent),
            StreamUtil.convertSeparators(contentTriplet.serverContent),
            StreamUtil.convertSeparators(contentTriplet.baseContent), localFile, project,
            ActionButtonPresentation.APPLY, ActionButtonPresentation.CANCEL_WITH_PROMPT);

    request.setWindowTitle(c.getMergeWindowTitle(localFile));
    request.setVersionTitles(new String[] { c.getLeftPanelTitle(localFile), c.getCenterPanelTitle(localFile),
            c.getRightPanelTitle(localFile, serverVersion) });

    // TODO call canShow() first
    DiffManager.getInstance().getDiffTool().show(request);
    if (request.getResult() == DialogWrapper.OK_EXIT_CODE) {
        return true;
    } else {//w  ww .  ja  v a 2 s .  c o  m
        request.restoreOriginalContent();
        // TODO maybe MergeVersion.MergeDocumentVersion.restoreOriginalContent() should save document itself?
        ApplicationManager.getApplication().runWriteAction(new Runnable() {
            public void run() {
                final Document document = FileDocumentManager.getInstance().getDocument(localFile);
                if (document != null) {
                    FileDocumentManager.getInstance().saveDocument(document);
                }
            }
        });
        return false;
    }
}