Search in sources :

Example 1 with SimpleDiffRequest

use of com.intellij.diff.requests.SimpleDiffRequest in project intellij-community by JetBrains.

the class FileWithBranchComparer method showResult.

@Override
protected void showResult() {
    if (!success.isNull()) {
        String title = SvnBundle.message("compare.with.branch.diff.title");
        String title1 = remoteTitleBuilder.toString();
        String title2 = myVirtualFile.getPresentableUrl();
        try {
            DiffContent content1 = DiffContentFactory.getInstance().createFromBytes(myProject, content.get(), myVirtualFile);
            DiffContent content2 = DiffContentFactory.getInstance().create(myProject, myVirtualFile);
            DiffRequest request = new SimpleDiffRequest(title, content1, content2, title1, title2);
            DiffManager.getInstance().showDiff(myProject, request);
        } catch (IOException e) {
            reportGeneralException(e);
        }
    }
}
Also used : SimpleDiffRequest(com.intellij.diff.requests.SimpleDiffRequest) SimpleDiffRequest(com.intellij.diff.requests.SimpleDiffRequest) DiffRequest(com.intellij.diff.requests.DiffRequest) IOException(java.io.IOException) DiffContent(com.intellij.diff.contents.DiffContent)

Example 2 with SimpleDiffRequest

use of com.intellij.diff.requests.SimpleDiffRequest in project intellij-community by JetBrains.

the class TestDiffRequestProcessor method loadRequest.

@NotNull
private DiffRequest loadRequest() {
    if (myIndex < 0 || myIndex >= myRequests.size())
        return NoDiffRequest.INSTANCE;
    DiffHyperlink hyperlink = myRequests.get(myIndex);
    try {
        String windowTitle = hyperlink.getDiffTitle();
        String text1 = hyperlink.getLeft();
        String text2 = hyperlink.getRight();
        VirtualFile file1 = findFile(hyperlink.getFilePath());
        VirtualFile file2 = findFile(hyperlink.getActualFilePath());
        DiffContent content1 = createContentWithTitle(getProject(), text1, file1, file2);
        DiffContent content2 = createContentWithTitle(getProject(), text2, file2, file1);
        String title1 = getContentTitle("diff.content.expected.title", file1);
        String title2 = getContentTitle("diff.content.actual.title", file2);
        return new SimpleDiffRequest(windowTitle, content1, content2, title1, title2);
    } catch (Exception e) {
        return new ErrorDiffRequest(e);
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) SimpleDiffRequest(com.intellij.diff.requests.SimpleDiffRequest) ErrorDiffRequest(com.intellij.diff.requests.ErrorDiffRequest) DiffHyperlink(com.intellij.execution.testframework.stacktrace.DiffHyperlink) DiffContent(com.intellij.diff.contents.DiffContent) NotNull(org.jetbrains.annotations.NotNull)

Example 3 with SimpleDiffRequest

use of com.intellij.diff.requests.SimpleDiffRequest in project intellij-community by JetBrains.

the class VcsSelectionHistoryDialog method updateDiff.

private void updateDiff() {
    if (myIsDisposed || myIsDuringUpdate)
        return;
    if (myList.getSelectedRowCount() == 0) {
        myDiffPanel.setRequest(NoDiffRequest.INSTANCE);
        return;
    }
    int count = myRevisions.size();
    IntPair range = getSelectedRevisionsRange();
    int revIndex1 = range.val2;
    int revIndex2 = range.val1;
    if (revIndex1 == count && revIndex2 == count) {
        myDiffPanel.setRequest(NoDiffRequest.INSTANCE);
        return;
    }
    BlockData blockData = myBlockLoader.getLoadedData();
    DiffContent content1 = createDiffContent(revIndex1, blockData);
    DiffContent content2 = createDiffContent(revIndex2, blockData);
    String title1 = createDiffContentTitle(revIndex1);
    String title2 = createDiffContentTitle(revIndex2);
    if (content1 != null && content2 != null) {
        myDiffPanel.setRequest(new SimpleDiffRequest(null, content1, content2, title1, title2), new IntPair(revIndex1, revIndex2));
        return;
    }
    if (blockData.isLoading()) {
        myDiffPanel.setRequest(new LoadingDiffRequest());
    } else {
        myDiffPanel.setRequest(new MessageDiffRequest(canNoLoadMessage(blockData.getException())));
    }
}
Also used : SimpleDiffRequest(com.intellij.diff.requests.SimpleDiffRequest) MessageDiffRequest(com.intellij.diff.requests.MessageDiffRequest) IntPair(com.intellij.diff.util.IntPair) DiffContent(com.intellij.diff.contents.DiffContent) LoadingDiffRequest(com.intellij.diff.requests.LoadingDiffRequest)

Example 4 with SimpleDiffRequest

use of com.intellij.diff.requests.SimpleDiffRequest in project intellij-community by JetBrains.

the class PsiDiffContentFactory method comparePsiElements.

@Nullable
public static DiffRequest comparePsiElements(@NotNull PsiElement psiElement1, @NotNull PsiElement psiElement2) {
    if (!psiElement1.isValid() || !psiElement2.isValid())
        return null;
    Project project = psiElement1.getProject();
    LOG.assertTrue(project == psiElement2.getProject());
    DiffContent content1 = fromPsiElement(psiElement1);
    DiffContent content2 = fromPsiElement(psiElement2);
    if (content1 == null || content2 == null)
        return null;
    final ElementPresentation presentation1 = ElementPresentation.forElement(psiElement1);
    final ElementPresentation presentation2 = ElementPresentation.forElement(psiElement2);
    String title = DiffBundle.message("diff.element.qualified.name.vs.element.qualified.name.dialog.title", presentation1.getQualifiedName(), presentation2.getQualifiedName());
    return new SimpleDiffRequest(title, content1, content2, presentation1.getQualifiedName(), presentation2.getQualifiedName());
}
Also used : Project(com.intellij.openapi.project.Project) SimpleDiffRequest(com.intellij.diff.requests.SimpleDiffRequest) ElementPresentation(com.intellij.util.text.ElementPresentation) DiffContent(com.intellij.diff.contents.DiffContent) Nullable(org.jetbrains.annotations.Nullable)

Example 5 with SimpleDiffRequest

use of com.intellij.diff.requests.SimpleDiffRequest in project intellij-community by JetBrains.

the class DiffRequestFactoryImpl method createFromFiles.

//
// Diff
//
@NotNull
@Override
public ContentDiffRequest createFromFiles(@Nullable Project project, @NotNull VirtualFile file1, @NotNull VirtualFile file2) {
    DiffContent content1 = myContentFactory.create(project, file1);
    DiffContent content2 = myContentFactory.create(project, file2);
    String title1 = getContentTitle(file1);
    String title2 = getContentTitle(file2);
    String title = getTitle(file1, file2);
    return new SimpleDiffRequest(title, content1, content2, title1, title2);
}
Also used : SimpleDiffRequest(com.intellij.diff.requests.SimpleDiffRequest) DiffContent(com.intellij.diff.contents.DiffContent) NotNull(org.jetbrains.annotations.NotNull)

Aggregations

SimpleDiffRequest (com.intellij.diff.requests.SimpleDiffRequest)17 DiffContent (com.intellij.diff.contents.DiffContent)13 NotNull (org.jetbrains.annotations.NotNull)7 DocumentContent (com.intellij.diff.contents.DocumentContent)5 DiffRequest (com.intellij.diff.requests.DiffRequest)5 Project (com.intellij.openapi.project.Project)4 Nullable (org.jetbrains.annotations.Nullable)4 FileType (com.intellij.openapi.fileTypes.FileType)3 VirtualFile (com.intellij.openapi.vfs.VirtualFile)3 IOException (java.io.IOException)3 DiffContentFactory (com.intellij.diff.DiffContentFactory)2 Editor (com.intellij.openapi.editor.Editor)2 Ref (com.intellij.openapi.util.Ref)2 FilePath (com.intellij.openapi.vcs.FilePath)2 ArrayList (java.util.ArrayList)2 JsonReader (com.google.gson.stream.JsonReader)1 DiffRequestPanel (com.intellij.diff.DiffRequestPanel)1 DiffRequestProducerException (com.intellij.diff.chains.DiffRequestProducerException)1 ErrorDiffRequest (com.intellij.diff.requests.ErrorDiffRequest)1 LoadingDiffRequest (com.intellij.diff.requests.LoadingDiffRequest)1