diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ProgressableTextEditorHighlightingPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ProgressableTextEditorHighlightingPass.java index dcb582d517bd..669714ca82d2 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ProgressableTextEditorHighlightingPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ProgressableTextEditorHighlightingPass.java @@ -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() { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocOnMouseOverManager.java b/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocOnMouseOverManager.java index 8746ed7fa65b..06f3b97182e2 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocOnMouseOverManager.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocOnMouseOverManager.java @@ -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; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java index 790163412bb9..46842af23c34 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java @@ -237,6 +237,6 @@ public class IntentionManagerImpl extends IntentionManager { } public boolean hasActiveRequests() { - return myInitActionsAlarm.getActiveRequestCount() > 0; + return !myInitActionsAlarm.isEmpty(); } } diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java index b342ef7e8d51..5c67b55858d6 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java @@ -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); } } diff --git a/platform/platform-api/src/com/intellij/util/Alarm.java b/platform/platform-api/src/com/intellij/util/Alarm.java index de50eb1d8ba0..ba1c1446f9e4 100644 --- a/platform/platform-api/src/com/intellij/util/Alarm.java +++ b/platform/platform-api/src/com/intellij/util/Alarm.java @@ -233,6 +233,12 @@ public class Alarm implements Disposable { } } + public boolean isEmpty() { + synchronized (LOCK) { + return myRequests.isEmpty(); + } + } + protected boolean isEdt() { return isEventDispatchThread(); } diff --git a/platform/platform-api/src/com/intellij/util/ui/EditorAdapter.java b/platform/platform-api/src/com/intellij/util/ui/EditorAdapter.java index 7080e9595fc4..9dd4dd0619c2 100644 --- a/platform/platform-api/src/com/intellij/util/ui/EditorAdapter.java +++ b/platform/platform-api/src/com/intellij/util/ui/EditorAdapter.java @@ -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); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/indices/MavenArtifactSearchPanel.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/indices/MavenArtifactSearchPanel.java index e1d78d10e3cf..1eb0cd396a9e 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/indices/MavenArtifactSearchPanel.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/indices/MavenArtifactSearchPanel.java @@ -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(); diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleEditor.java b/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleEditor.java index 04b4c0068130..9b8d41c858e3 100644 --- a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleEditor.java +++ b/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleEditor.java @@ -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; diff --git a/xml/dom-openapi/src/com/intellij/util/xml/ui/CommitablePanelUserActivityListener.java b/xml/dom-openapi/src/com/intellij/util/xml/ui/CommitablePanelUserActivityListener.java index 82ca2b943549..d34619d3e7c6 100644 --- a/xml/dom-openapi/src/com/intellij/util/xml/ui/CommitablePanelUserActivityListener.java +++ b/xml/dom-openapi/src/com/intellij/util/xml/ui/CommitablePanelUserActivityListener.java @@ -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() {