From 0b35816ae513a0e5bde3a3391c3bdbb1b73f80ea Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 8 Sep 2011 16:56:16 +0200 Subject: [PATCH] push UI-specific component into implementation --- .../intellij/openapi/project/DumbService.java | 17 +---------------- .../openapi/project/DumbServiceImpl.java | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/platform/platform-api/src/com/intellij/openapi/project/DumbService.java b/platform/platform-api/src/com/intellij/openapi/project/DumbService.java index aabea9d08e61..2558ff8ae889 100644 --- a/platform/platform-api/src/com/intellij/openapi/project/DumbService.java +++ b/platform/platform-api/src/com/intellij/openapi/project/DumbService.java @@ -108,22 +108,7 @@ public abstract class DumbService { return new ArrayList(collection); } - public DumbUnawareHider wrapGently(@NotNull JComponent dumbUnawareContent, @NotNull Disposable parentDisposable) { - final DumbUnawareHider wrapper = new DumbUnawareHider(dumbUnawareContent); - wrapper.setContentVisible(!isDumb()); - getProject().getMessageBus().connect(parentDisposable).subscribe(DUMB_MODE, new DumbModeListener() { - - public void enteredDumbMode() { - wrapper.setContentVisible(false); - } - - public void exitDumbMode() { - wrapper.setContentVisible(true); - } - }); - - return wrapper; - } + public abstract JComponent wrapGently(@NotNull JComponent dumbUnawareContent, @NotNull Disposable parentDisposable); public void makeDumbAware(@NotNull final JComponent component, @NotNull Disposable disposable) { component.setEnabled(!isDumb()); diff --git a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java index d84b2e20eaa9..c84f7bbf1da6 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java @@ -18,6 +18,7 @@ package com.intellij.openapi.project; import com.intellij.ide.IdeBundle; import com.intellij.ide.caches.CacheUpdater; import com.intellij.ide.util.DelegatingProgressIndicator; +import com.intellij.openapi.Disposable; import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; @@ -41,6 +42,7 @@ import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.TestOnly; +import javax.swing.*; import java.util.ArrayList; import java.util.Collection; import java.util.concurrent.ArrayBlockingQueue; @@ -243,6 +245,23 @@ public class DumbServiceImpl extends DumbService { semaphore.waitFor(); } + public JComponent wrapGently(@NotNull JComponent dumbUnawareContent, @NotNull Disposable parentDisposable) { + final DumbUnawareHider wrapper = new DumbUnawareHider(dumbUnawareContent); + wrapper.setContentVisible(!isDumb()); + getProject().getMessageBus().connect(parentDisposable).subscribe(DUMB_MODE, new DumbModeListener() { + + public void enteredDumbMode() { + wrapper.setContentVisible(false); + } + + public void exitDumbMode() { + wrapper.setContentVisible(true); + } + }); + + return wrapper; + } + private class IndexUpdateRunnable implements Runnable { private final CacheUpdateRunner myAction; private double myProcessedItems;