mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
push UI-specific component into implementation
This commit is contained in:
@@ -108,22 +108,7 @@ public abstract class DumbService {
|
||||
return new ArrayList<T>(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());
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user