Example usage for com.intellij.openapi.diff ActionButtonPresentation APPLY

List of usage examples for com.intellij.openapi.diff ActionButtonPresentation APPLY

Introduction

In this page you can find the example usage for com.intellij.openapi.diff ActionButtonPresentation APPLY.

Prototype

ActionButtonPresentation APPLY

To view the source code for com.intellij.openapi.diff ActionButtonPresentation APPLY.

Click Source Link

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.j a v  a 2 s .c o m*/
                }.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 {// www.j  a  v a 2s . c o m
        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 {//from ww  w. jav  a  2 s  .co  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;
    }
}