Alarm.isEmpty()

This commit is contained in:
Vladimir Krivosheev
2013-06-25 12:31:21 +02:00
parent 164fb3f36b
commit 632f1292b3
9 changed files with 32 additions and 19 deletions
@@ -110,7 +110,7 @@ public abstract class ProgressableTextEditorHighlightingPass extends TextEditorH
private void repaintTrafficIcon() {
if (ApplicationManager.getApplication().isCommandLine()) return;
if (repaintIconAlarm.getActiveRequestCount() == 0 || getProgressCount() >= getProgressLimit()) {
if (repaintIconAlarm.isEmpty() || getProgressCount() >= getProgressLimit()) {
repaintIconAlarm.addRequest(new Runnable() {
@Override
public void run() {
@@ -211,7 +211,7 @@ public class QuickDocOnMouseOverManager {
PsiElement activeElement = myActiveElements.get(editor);
if (targetElementUnderMouse.equals(activeElement)
&& (myAlarm.getActiveRequestCount() > 0 // Request to show documentation for the target component has been already queued.
&& (!myAlarm.isEmpty() // Request to show documentation for the target component has been already queued.
|| hint != null)) // Documentation for the target component is being shown.
{
return;
@@ -237,6 +237,6 @@ public class IntentionManagerImpl extends IntentionManager {
}
public boolean hasActiveRequests() {
return myInitActionsAlarm.getActiveRequestCount() > 0;
return !myInitActionsAlarm.isEmpty();
}
}
@@ -29,7 +29,6 @@ import com.intellij.execution.ui.ObservableConsoleView;
import com.intellij.icons.AllIcons;
import com.intellij.ide.CommonActionsManager;
import com.intellij.ide.OccurenceNavigator;
import com.intellij.injected.editor.EditorWindow;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.ApplicationManager;
@@ -49,14 +48,12 @@ import com.intellij.openapi.editor.highlighter.EditorHighlighter;
import com.intellij.openapi.editor.highlighter.HighlighterClient;
import com.intellij.openapi.editor.highlighter.HighlighterIterator;
import com.intellij.openapi.editor.impl.DocumentImpl;
import com.intellij.openapi.editor.impl.EditorImpl;
import com.intellij.openapi.editor.impl.softwrap.SoftWrapAppliancePlaces;
import com.intellij.openapi.editor.markup.HighlighterLayer;
import com.intellij.openapi.editor.markup.HighlighterTargetArea;
import com.intellij.openapi.editor.markup.RangeHighlighter;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.ide.CopyPasteManager;
@@ -65,9 +62,7 @@ import com.intellij.openapi.keymap.KeymapManager;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.TitlePanel;
import com.intellij.openapi.util.*;
import com.intellij.openapi.util.text.LineTokenizer;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiFile;
@@ -75,7 +70,6 @@ import com.intellij.psi.PsiFileFactory;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.tree.IElementType;
import com.intellij.ui.EditorNotificationPanel;
import com.intellij.ui.HideableTitledPanel;
import com.intellij.util.*;
import com.intellij.util.text.CharArrayUtil;
import gnu.trove.TIntObjectHashMap;
@@ -148,7 +142,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
public void foldImmediately() {
ApplicationManager.getApplication().assertIsDispatchThread();
if (myFlushAlarm.getActiveRequestCount() > 0) {
if (!myFlushAlarm.isEmpty()) {
cancelAllFlushRequests();
new MyFlushRunnable().run();
}
@@ -1046,7 +1040,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
});
}
finally {
if (myHeavyAlarm.getActiveRequestCount() == 0) {
if (myHeavyAlarm.isEmpty()) {
SwingUtilities.invokeLater(myFinishProgress);
}
}
@@ -233,6 +233,12 @@ public class Alarm implements Disposable {
}
}
public boolean isEmpty() {
synchronized (LOCK) {
return myRequests.isEmpty();
}
}
protected boolean isEdt() {
return isEventDispatchThread();
}
@@ -92,7 +92,7 @@ public class EditorAdapter {
myLines.add(new Line(string, attrs));
}
if (myFlushAlarm.getActiveRequestCount() == 0) {
if (myFlushAlarm.isEmpty()) {
myFlushAlarm.addRequest(myFlushDeferredRunnable, 200, ModalityState.NON_MODAL);
}
}
@@ -97,14 +97,16 @@ public class MavenArtifactSearchPanel extends JPanel {
add(pane, BorderLayout.CENTER);
mySearchField.getDocument().addDocumentListener(new DocumentAdapter() {
@Override
protected void textChanged(DocumentEvent e) {
scheduleSearch();
}
});
myResultList.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
if (myAlarm.getActiveRequestCount() > 0) return;
if (!myAlarm.isEmpty()) return;
boolean hasSelection = !myResultList.isSelectionEmpty();
myListener.canSelectStateChanged(MavenArtifactSearchPanel.this, hasSelection);
@@ -146,6 +148,7 @@ public class MavenArtifactSearchPanel extends JPanel {
myAlarm.cancelAllRequests();
myAlarm.addRequest(new Runnable() {
@Override
public void run() {
try {
doSearch(text);
@@ -163,6 +166,7 @@ public class MavenArtifactSearchPanel extends JPanel {
final TreeModel model = new MyTreeModel(result);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (!myDialog.isVisible()) return;
@@ -200,14 +204,17 @@ public class MavenArtifactSearchPanel extends JPanel {
myItems = items;
}
@Override
public Object getRoot() {
return myItems;
}
@Override
public Object getChild(Object parent, int index) {
return getList(parent).get(index);
}
@Override
public int getChildCount(Object parent) {
List list = getList(parent);
assert list != null : parent;
@@ -220,20 +227,25 @@ public class MavenArtifactSearchPanel extends JPanel {
return null;
}
@Override
public boolean isLeaf(Object node) {
return node != myItems && (getList(node) == null || getChildCount(node) < 2);
}
@Override
public int getIndexOfChild(Object parent, Object child) {
return getList(parent).indexOf(child);
}
@Override
public void valueForPathChanged(TreePath path, Object newValue) {
}
@Override
public void addTreeModelListener(TreeModelListener l) {
}
@Override
public void removeTreeModelListener(TreeModelListener l) {
}
}
@@ -296,6 +308,7 @@ public class MavenArtifactSearchPanel extends JPanel {
});
}
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
myLeftComponent.clear();
@@ -442,7 +442,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit
public void run() {
if (!isValid()) return;
// there is pending update which is going to change prop file anyway
if (myUpdatePsiAlarm.getActiveRequestCount() != 0) {
if (!myUpdatePsiAlarm.isEmpty()) {
myUpdateEditorAlarm.cancelAllRequests();
myUpdateEditorAlarm.addRequest(this, 200);
return;
@@ -16,13 +16,13 @@
package com.intellij.util.xml.ui;
import com.intellij.ui.UserActivityListener;
import com.intellij.util.Alarm;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.Project;
import com.intellij.ui.UserActivityListener;
import com.intellij.util.Alarm;
/**
* User: Sergey.Vasiliev
@@ -82,7 +82,7 @@ public class CommitablePanelUserActivityListener implements UserActivityListener
}
public final boolean isWaiting() {
return myAlarm.getActiveRequestCount() > 0;
return !myAlarm.isEmpty();
}
public final void cancelAllRequests() {