diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/CacheChangeProcessor.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/CacheChangeProcessor.java index 8c6eb8d02d6b..384e3781ace4 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/CacheChangeProcessor.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/CacheChangeProcessor.java @@ -16,6 +16,7 @@ package com.intellij.openapi.vcs.changes; import com.intellij.diff.chains.DiffRequestProducerException; +import com.intellij.diff.impl.CacheDiffRequestProcessor; import com.intellij.diff.requests.DiffRequest; import com.intellij.diff.requests.ErrorDiffRequest; import com.intellij.diff.requests.LoadingDiffRequest; @@ -31,7 +32,8 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public abstract class CacheChangeProcessor extends CacheDiffRefreshableRequestProcessor { +public abstract class CacheChangeProcessor extends CacheDiffRequestProcessor + implements DiffPreviewUpdateProcessor { @Nullable private Change myCurrentChange; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/CacheDiffRefreshableRequestProcessor.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/DiffPreviewUpdateProcessor.java similarity index 67% rename from platform/vcs-impl/src/com/intellij/openapi/vcs/changes/CacheDiffRefreshableRequestProcessor.java rename to platform/vcs-impl/src/com/intellij/openapi/vcs/changes/DiffPreviewUpdateProcessor.java index e2e3548e541c..eea77662a8c7 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/CacheDiffRefreshableRequestProcessor.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/DiffPreviewUpdateProcessor.java @@ -15,31 +15,25 @@ */ package com.intellij.openapi.vcs.changes; -import com.intellij.diff.impl.CacheDiffRequestProcessor; -import com.intellij.openapi.project.Project; import org.jetbrains.annotations.CalledInAwt; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -public abstract class CacheDiffRefreshableRequestProcessor extends CacheDiffRequestProcessor { - public CacheDiffRefreshableRequestProcessor(@Nullable Project project) { - super(project); - } - - public CacheDiffRefreshableRequestProcessor(@Nullable Project project, @NotNull String place) { - super(project, place); - } +import javax.swing.*; +public interface DiffPreviewUpdateProcessor { /** * Notify currently shown diff that it's not needed now and cached values can be reset, a.e. before hiding preview panel */ @CalledInAwt - public abstract void clear(); + void clear(); /** * Get newly requested element for diff and update/create new diff request for it * a.e. get selection from some model and check if previously shown diff request need to be replaced or still valid for such selection */ @CalledInAwt - public abstract void refresh(); + void refresh(); + + @NotNull + JComponent getComponent(); } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/PreviewDiffSplitterComponent.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/PreviewDiffSplitterComponent.java index fe5670c3840e..b5d0cbc808db 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/PreviewDiffSplitterComponent.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/PreviewDiffSplitterComponent.java @@ -24,11 +24,11 @@ import javax.swing.*; public class PreviewDiffSplitterComponent extends JBSplitter { @NotNull private final JComponent myFirstComponent; - @NotNull private final CacheDiffRefreshableRequestProcessor myProcessor; + @NotNull private final DiffPreviewUpdateProcessor myProcessor; private boolean myDetailsOn; public PreviewDiffSplitterComponent(@NotNull JComponent firstComponent, - @NotNull CacheDiffRefreshableRequestProcessor processor, + @NotNull DiffPreviewUpdateProcessor processor, @NotNull String splitterDimensionKey, boolean detailsOn) { super(splitterDimensionKey, 0.5f); myFirstComponent = firstComponent; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager.java index 301d4a887621..5a3fc4163612 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager.java @@ -19,6 +19,7 @@ package com.intellij.openapi.vcs.changes.shelf; import com.intellij.CommonBundle; import com.intellij.diff.DiffContentFactoryEx; import com.intellij.diff.chains.DiffRequestProducerException; +import com.intellij.diff.impl.CacheDiffRequestProcessor; import com.intellij.diff.requests.DiffRequest; import com.intellij.diff.requests.SimpleDiffRequest; import com.intellij.icons.AllIcons; @@ -741,7 +742,7 @@ public class ShelvedChangesViewManager implements ProjectComponent { return new DnDImage(image, new Point(-image.getWidth(null), -image.getHeight(null))); } - private class MyShelvedPreviewProcessor extends CacheDiffRefreshableRequestProcessor { + private class MyShelvedPreviewProcessor extends CacheDiffRequestProcessor implements DiffPreviewUpdateProcessor { @NotNull private final DiffShelvedChangesAction.PatchesPreloader myPreloader; @Nullable private ShelvedWrapper myCurrentShelvedElement;