From 00a829fb6f6fcd65f6e556e8be64e296ecbb1774 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 1 Sep 2008 19:56:15 +0400 Subject: [PATCH] IDEADEV-29700 --- .../usages/FindUsagesProcessPresentation.java | 13 ++---- .../usages/impl/UsageViewManagerImpl.java | 13 +++++- .../debugger/ui/EditorEvaluationCommand.java | 5 ++- .../actions/ClassNameCompletionAction.java | 4 +- .../actions/CodeCompletionAction.java | 4 +- .../actions/SmartCodeCompletionAction.java | 4 +- .../daemon/impl/DaemonCodeAnalyzerImpl.java | 2 +- .../daemon/impl/DaemonListeners.java | 8 ++-- .../daemon/impl/DaemonTooltipUtil.java | 6 +-- .../daemon/impl/GotoNextErrorHandler.java | 2 +- .../daemon/impl/ShowIntentionsPass.java | 4 +- .../documentation/DocumentationComponent.java | 8 ++-- .../documentation/DocumentationManager.java | 4 +- .../actions/ShowJavaDocInfoAction.java | 4 +- .../hint/ImplementationViewComponent.java | 6 +-- .../hint/ParameterInfoController.java | 6 +-- .../hint/ShowParameterInfoContext.java | 16 +++---- .../hint/ShowParameterInfoHandler.java | 4 +- .../actions/ShowIntentionActionsAction.java | 4 +- .../impl/IntentionHintComponent.java | 7 +-- .../impl/ShowIntentionActionsHandler.java | 4 +- .../codeInsight/lookup/impl/LookupImpl.java | 8 ++-- .../lookup/impl/LookupManagerImpl.java | 4 +- .../navigation/CtrlMouseHandler.java | 14 +++--- .../navigation/IncrementalSearchHandler.java | 5 +-- .../template/impl/ListTemplatesHandler.java | 9 ++-- lang-impl/src/com/intellij/find/FindUtil.java | 9 ++-- .../find/actions/FindUsagesAction.java | 2 +- .../find/actions/ShowUsagesAction.java | 3 +- .../find/findUsages/FindUsagesManager.java | 7 ++- .../intellij/find/impl/FindManagerImpl.java | 5 +-- .../ide/navigationToolbar/NavBarPanel.java | 4 +- .../codeInsight/hint/HintManager.java | 44 +++++++++++++++++++ .../intellij/openapi/ui/DialogWrapper.java | 8 +--- .../hint/EditorFragmentComponent.java | 2 +- ...{HintManager.java => HintManagerImpl.java} | 21 ++++----- .../codeInsight/hint/LineTooltipRenderer.java | 6 +-- .../impl/EditorGutterComponentImpl.java | 8 ++-- .../openapi/editor/impl/EditorImpl.java | 9 ++-- .../editor/impl/EditorMarkupModelImpl.java | 4 +- .../src/componentSets/Platform.xml | 2 +- .../preview/ImageOrColorPreviewManager.java | 8 ++-- .../openapi/vcs/ex/LineStatusTracker.java | 6 +-- .../quick/common/AbstractValueHint.java | 9 ++-- 44 files changed, 179 insertions(+), 146 deletions(-) create mode 100644 platform-api/src/com/intellij/codeInsight/hint/HintManager.java rename platform-impl/src/com/intellij/codeInsight/hint/{HintManager.java => HintManagerImpl.java} (97%) diff --git a/UsageView/src/com/intellij/usages/FindUsagesProcessPresentation.java b/UsageView/src/com/intellij/usages/FindUsagesProcessPresentation.java index 8b19dd92c44d..9a3dd3cfc9ba 100644 --- a/UsageView/src/com/intellij/usages/FindUsagesProcessPresentation.java +++ b/UsageView/src/com/intellij/usages/FindUsagesProcessPresentation.java @@ -17,19 +17,14 @@ package com.intellij.usages; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.util.Factory; +import org.jetbrains.annotations.NonNls; import javax.swing.*; import java.util.ArrayList; import java.util.List; -import org.jetbrains.annotations.NonNls; - /** - * Created by IntelliJ IDEA. - * User: max - * Date: Dec 21, 2004 - * Time: 9:15:39 PM - * To change this template use File | Settings | File Templates. + * @author max */ public class FindUsagesProcessPresentation { @NonNls @@ -40,9 +35,9 @@ public class FindUsagesProcessPresentation { private boolean myShowNotFoundMessage; private Factory myProgressIndicatorFactory; - public void addNotFoundAction(Action _action) { + public void addNotFoundAction(Action action) { if (myNotFoundActions == null) myNotFoundActions = new ArrayList(); - myNotFoundActions.add(_action); + myNotFoundActions.add(action); } public List getNotFoundActions() { diff --git a/UsageView/src/com/intellij/usages/impl/UsageViewManagerImpl.java b/UsageView/src/com/intellij/usages/impl/UsageViewManagerImpl.java index 5c9090f2b74e..1ceb653a652b 100644 --- a/UsageView/src/com/intellij/usages/impl/UsageViewManagerImpl.java +++ b/UsageView/src/com/intellij/usages/impl/UsageViewManagerImpl.java @@ -15,7 +15,10 @@ */ package com.intellij.usages.impl; +import com.intellij.codeInsight.hint.HintManager; import com.intellij.find.SearchInBackgroundOption; +import com.intellij.ide.DataManager; +import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.editor.Editor; @@ -300,7 +303,13 @@ public class UsageViewManagerImpl extends UsageViewManager { myPresentation.getScopeText()); if (notFoundActions == null || notFoundActions.isEmpty()) { - Messages.showMessageDialog(myProject, message, UsageViewBundle.message("dialog.title.information"), Messages.getInformationIcon()); + Editor editor = PlatformDataKeys.EDITOR.getData(DataManager.getInstance().getDataContext()); + if (editor == null) { + Messages.showMessageDialog(myProject, message, UsageViewBundle.message("dialog.title.information"), Messages.getInformationIcon()); + } + else { + HintManager.getInstance().showErrorHint(editor, message); + } } else { List titles = new ArrayList(notFoundActions.size() + 1); @@ -320,7 +329,7 @@ public class UsageViewManagerImpl extends UsageViewManager { } } } - }, ModalityState.NON_MODAL); + }, ModalityState.NON_MODAL, myProject.getDisposed()); } else if (usageCount == 1 && !myProcessPresentation.isShowPanelIfOnlyOneUsage()) { SwingUtilities.invokeLater(new Runnable() { diff --git a/debugger/impl/com/intellij/debugger/ui/EditorEvaluationCommand.java b/debugger/impl/com/intellij/debugger/ui/EditorEvaluationCommand.java index 758b06e586da..00c93ad79442 100644 --- a/debugger/impl/com/intellij/debugger/ui/EditorEvaluationCommand.java +++ b/debugger/impl/com/intellij/debugger/ui/EditorEvaluationCommand.java @@ -1,6 +1,7 @@ package com.intellij.debugger.ui; import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.debugger.DebuggerBundle; import com.intellij.debugger.DebuggerInvocationUtil; import com.intellij.debugger.DebuggerManagerEx; @@ -61,8 +62,8 @@ public abstract class EditorEvaluationCommand extends DebuggerContextCommandI if (myEditor.isDisposed() || !myEditor.getComponent().isVisible()) return; HintManager.getInstance().showErrorHint(myEditor, e.getMessage(), myElement.getTextRange().getStartOffset(), - myElement.getTextRange().getEndOffset(), HintManager.UNDER, - HintManager.HIDE_BY_ESCAPE | HintManager.HIDE_BY_TEXT_CHANGE, + myElement.getTextRange().getEndOffset(), HintManagerImpl.UNDER, + HintManagerImpl.HIDE_BY_ESCAPE | HintManagerImpl.HIDE_BY_TEXT_CHANGE, 1500); } diff --git a/lang-impl/src/com/intellij/codeInsight/completion/actions/ClassNameCompletionAction.java b/lang-impl/src/com/intellij/codeInsight/completion/actions/ClassNameCompletionAction.java index 6d843a5aad8d..c7c6f31e0a6b 100644 --- a/lang-impl/src/com/intellij/codeInsight/completion/actions/ClassNameCompletionAction.java +++ b/lang-impl/src/com/intellij/codeInsight/completion/actions/ClassNameCompletionAction.java @@ -1,7 +1,7 @@ package com.intellij.codeInsight.completion.actions; import com.intellij.codeInsight.CodeInsightActionHandler; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.actions.BaseCodeInsightAction; import com.intellij.codeInsight.completion.ClassNameCompletionHandler; import com.intellij.codeInsight.completion.CodeCompletionFeatures; @@ -12,7 +12,7 @@ import com.intellij.openapi.project.Project; /** * */ -public class ClassNameCompletionAction extends BaseCodeInsightAction implements HintManager.ActionToIgnore{ +public class ClassNameCompletionAction extends BaseCodeInsightAction implements HintManagerImpl.ActionToIgnore{ public ClassNameCompletionAction() { setEnabledInModalContext(true); } diff --git a/lang-impl/src/com/intellij/codeInsight/completion/actions/CodeCompletionAction.java b/lang-impl/src/com/intellij/codeInsight/completion/actions/CodeCompletionAction.java index 132d362eef34..0539ce15db8c 100644 --- a/lang-impl/src/com/intellij/codeInsight/completion/actions/CodeCompletionAction.java +++ b/lang-impl/src/com/intellij/codeInsight/completion/actions/CodeCompletionAction.java @@ -1,7 +1,7 @@ package com.intellij.codeInsight.completion.actions; import com.intellij.codeInsight.CodeInsightActionHandler; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.actions.BaseCodeInsightAction; import com.intellij.codeInsight.completion.CodeCompletionHandler; import com.intellij.codeInsight.completion.CodeCompletionFeatures; @@ -13,7 +13,7 @@ import com.intellij.psi.PsiFile; /** * @author peter */ -public class CodeCompletionAction extends BaseCodeInsightAction implements HintManager.ActionToIgnore{ +public class CodeCompletionAction extends BaseCodeInsightAction implements HintManagerImpl.ActionToIgnore{ public CodeCompletionAction() { setEnabledInModalContext(true); } diff --git a/lang-impl/src/com/intellij/codeInsight/completion/actions/SmartCodeCompletionAction.java b/lang-impl/src/com/intellij/codeInsight/completion/actions/SmartCodeCompletionAction.java index 0278a352aa00..6aa9b761559b 100644 --- a/lang-impl/src/com/intellij/codeInsight/completion/actions/SmartCodeCompletionAction.java +++ b/lang-impl/src/com/intellij/codeInsight/completion/actions/SmartCodeCompletionAction.java @@ -4,7 +4,7 @@ import com.intellij.codeInsight.CodeInsightActionHandler; import com.intellij.codeInsight.actions.BaseCodeInsightAction; import com.intellij.codeInsight.completion.CodeCompletionFeatures; import com.intellij.codeInsight.completion.SmartCodeCompletionHandler; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.featureStatistics.FeatureUsageTracker; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; @@ -13,7 +13,7 @@ import com.intellij.psi.PsiFile; /** * @author peter */ -public class SmartCodeCompletionAction extends BaseCodeInsightAction implements HintManager.ActionToIgnore{ +public class SmartCodeCompletionAction extends BaseCodeInsightAction implements HintManagerImpl.ActionToIgnore{ public SmartCodeCompletionAction() { setEnabledInModalContext(true); diff --git a/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonCodeAnalyzerImpl.java b/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonCodeAnalyzerImpl.java index ddce78f860da..9ff3d18a1c6b 100644 --- a/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonCodeAnalyzerImpl.java +++ b/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonCodeAnalyzerImpl.java @@ -6,8 +6,8 @@ import com.intellij.codeHighlighting.Pass; import com.intellij.codeHighlighting.TextEditorHighlightingPass; import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer; import com.intellij.codeInsight.daemon.DaemonCodeAnalyzerSettings; -import com.intellij.codeInsight.daemon.ReferenceImporter; import com.intellij.codeInsight.daemon.LineMarkerInfo; +import com.intellij.codeInsight.daemon.ReferenceImporter; import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.intention.impl.IntentionHintComponent; import com.intellij.concurrency.Job; diff --git a/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonListeners.java b/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonListeners.java index 2d5acea4720e..9679d4bfc753 100644 --- a/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonListeners.java +++ b/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonListeners.java @@ -2,7 +2,7 @@ package com.intellij.codeInsight.daemon.impl; import com.intellij.ProjectTopics; import com.intellij.codeHighlighting.Pass; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.intention.impl.IntentionHintComponent; import com.intellij.ide.todo.TodoConfiguration; import com.intellij.openapi.actionSystem.*; @@ -385,7 +385,7 @@ public class DaemonListeners { private static class MyEditorMouseListener extends EditorMouseAdapter { public void mouseExited(EditorMouseEvent e) { - if (!HintManager.getInstance().getTooltipController().shouldSurvive(e.getMouseEvent())) { + if (!HintManagerImpl.getInstanceImpl().getTooltipController().shouldSurvive(e.getMouseEvent())) { DaemonTooltipUtil.cancelTooltips(); } } @@ -409,14 +409,14 @@ public class DaemonListeners { } } finally { - if (!shown && !HintManager.getInstance().getTooltipController().shouldSurvive(e.getMouseEvent())) { + if (!shown && !HintManagerImpl.getInstanceImpl().getTooltipController().shouldSurvive(e.getMouseEvent())) { DaemonTooltipUtil.cancelTooltips(); } } } public void mouseDragged(EditorMouseEvent e) { - HintManager.getInstance().getTooltipController().cancelTooltips(); + HintManagerImpl.getInstanceImpl().getTooltipController().cancelTooltips(); } } diff --git a/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipUtil.java b/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipUtil.java index 6a5508e20688..654e5423326e 100644 --- a/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipUtil.java +++ b/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipUtil.java @@ -1,7 +1,7 @@ package com.intellij.codeInsight.daemon.impl; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.TooltipGroup; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.openapi.editor.Editor; import org.jetbrains.annotations.NotNull; @@ -19,7 +19,7 @@ public class DaemonTooltipUtil { } public static void cancelTooltips() { - HintManager.getInstance().getTooltipController().cancelTooltip(DAEMON_INFO_GROUP); + HintManagerImpl.getInstanceImpl().getTooltipController().cancelTooltip(DAEMON_INFO_GROUP); } public static void showInfoTooltip(@NotNull final HighlightInfo info, final Editor editor, final int defaultOffset, final int currentWidth) { @@ -42,6 +42,6 @@ public class DaemonTooltipUtil { bestPoint, editor.getComponent().getRootPane().getLayeredPane() ); - HintManager.getInstance().getTooltipController().showTooltip(editor, p, info.toolTip, currentWidth, false, DAEMON_INFO_GROUP); + HintManagerImpl.getInstanceImpl().getTooltipController().showTooltip(editor, p, info.toolTip, currentWidth, false, DAEMON_INFO_GROUP); } } diff --git a/lang-impl/src/com/intellij/codeInsight/daemon/impl/GotoNextErrorHandler.java b/lang-impl/src/com/intellij/codeInsight/daemon/impl/GotoNextErrorHandler.java index e80fce5647a5..a8ec1c083ab4 100644 --- a/lang-impl/src/com/intellij/codeInsight/daemon/impl/GotoNextErrorHandler.java +++ b/lang-impl/src/com/intellij/codeInsight/daemon/impl/GotoNextErrorHandler.java @@ -6,10 +6,10 @@ import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer; import com.intellij.codeInsight.daemon.DaemonCodeAnalyzerSettings; import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInspection.InspectionsBundle; +import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.editor.ScrollingModel; -import com.intellij.openapi.editor.Document; import com.intellij.openapi.fileEditor.ex.IdeDocumentHistory; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; diff --git a/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java b/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java index f4a3d736a26c..eb5c069fcb68 100644 --- a/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java +++ b/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java @@ -3,7 +3,7 @@ package com.intellij.codeInsight.daemon.impl; import com.intellij.codeHighlighting.TextEditorHighlightingPass; import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer; import com.intellij.codeInsight.daemon.impl.quickfix.QuickFixAction; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInsight.intention.IntentionManager; import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction; @@ -114,7 +114,7 @@ public class ShowIntentionsPass extends TextEditorHighlightingPass { } codeAnalyzer.setLastIntentionHint(null); } - if (!HintManager.getInstance().hasShownHintsThatWillHideByOtherHint()) { + if (!HintManagerImpl.getInstanceImpl().hasShownHintsThatWillHideByOtherHint()) { hintComponent = IntentionHintComponent.showIntentionHint(myProject, myFile, myEditor, intentionsToShow, errorFixesToShow, inspectionFixesToShow, false); codeAnalyzer.setLastIntentionHint(hintComponent); } diff --git a/lang-impl/src/com/intellij/codeInsight/documentation/DocumentationComponent.java b/lang-impl/src/com/intellij/codeInsight/documentation/DocumentationComponent.java index ceb6f8303cf5..95b50c382bc8 100644 --- a/lang-impl/src/com/intellij/codeInsight/documentation/DocumentationComponent.java +++ b/lang-impl/src/com/intellij/codeInsight/documentation/DocumentationComponent.java @@ -2,8 +2,8 @@ package com.intellij.codeInsight.documentation; import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.hint.ElementLocationUtil; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.HintUtil; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.lang.documentation.DocumentationProvider; import com.intellij.lang.documentation.ExtensibleDocumentationProvider; import com.intellij.openapi.Disposable; @@ -320,7 +320,7 @@ public class DocumentationComponent extends JPanel implements Disposable{ setControlPanelVisible(true);//(!myBackStack.isEmpty() || !myForwardStack.isEmpty()); } - private class BackAction extends AnAction implements HintManager.ActionToIgnore { + private class BackAction extends AnAction implements HintManagerImpl.ActionToIgnore { public BackAction() { super(CodeInsightBundle.message("javadoc.action.back"), null, IconLoader.getIcon("/actions/back.png")); } @@ -335,7 +335,7 @@ public class DocumentationComponent extends JPanel implements Disposable{ } } - private class ForwardAction extends AnAction implements HintManager.ActionToIgnore { + private class ForwardAction extends AnAction implements HintManagerImpl.ActionToIgnore { public ForwardAction() { super(CodeInsightBundle.message("javadoc.action.forward"), null, IconLoader.getIcon("/actions/forward.png")); } @@ -350,7 +350,7 @@ public class DocumentationComponent extends JPanel implements Disposable{ } } - private class ExternalDocAction extends AnAction implements HintManager.ActionToIgnore { + private class ExternalDocAction extends AnAction implements HintManagerImpl.ActionToIgnore { public ExternalDocAction() { super(CodeInsightBundle.message("javadoc.action.view.external"), null, IconLoader.getIcon("/actions/browser-externalJavaDoc.png")); registerCustomShortcutSet(ActionManager.getInstance().getAction(IdeActions.ACTION_EXTERNAL_JAVADOC).getShortcutSet(), null); diff --git a/lang-impl/src/com/intellij/codeInsight/documentation/DocumentationManager.java b/lang-impl/src/com/intellij/codeInsight/documentation/DocumentationManager.java index 7a799614ff32..776166b287c0 100644 --- a/lang-impl/src/com/intellij/codeInsight/documentation/DocumentationManager.java +++ b/lang-impl/src/com/intellij/codeInsight/documentation/DocumentationManager.java @@ -2,8 +2,8 @@ package com.intellij.codeInsight.documentation; import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.TargetElementUtilBase; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.ParameterInfoController; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.lookup.Lookup; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupManager; @@ -63,7 +63,7 @@ public class DocumentationManager implements ProjectComponent { public void beforeActionPerformed(AnAction action, DataContext dataContext) { final JBPopup hint = getDocInfoHint(); if (hint != null) { - if (action instanceof HintManager.ActionToIgnore) return; + if (action instanceof HintManagerImpl.ActionToIgnore) return; if (action == myActionManagerEx.getAction(IdeActions.ACTION_EDITOR_MOVE_CARET_DOWN)) return; if (action == myActionManagerEx.getAction(IdeActions.ACTION_EDITOR_MOVE_CARET_UP)) return; if (action == myActionManagerEx.getAction(IdeActions.ACTION_EDITOR_MOVE_CARET_PAGE_DOWN)) return; diff --git a/lang-impl/src/com/intellij/codeInsight/documentation/actions/ShowJavaDocInfoAction.java b/lang-impl/src/com/intellij/codeInsight/documentation/actions/ShowJavaDocInfoAction.java index d45b97083c13..e63a49ac3dbb 100644 --- a/lang-impl/src/com/intellij/codeInsight/documentation/actions/ShowJavaDocInfoAction.java +++ b/lang-impl/src/com/intellij/codeInsight/documentation/actions/ShowJavaDocInfoAction.java @@ -3,7 +3,7 @@ package com.intellij.codeInsight.documentation.actions; import com.intellij.codeInsight.CodeInsightActionHandler; import com.intellij.codeInsight.actions.BaseCodeInsightAction; import com.intellij.codeInsight.documentation.DocumentationManager; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupItem; import com.intellij.codeInsight.lookup.LookupManager; @@ -21,7 +21,7 @@ import org.jetbrains.annotations.NonNls; import javax.swing.*; import java.util.Arrays; -public class ShowJavaDocInfoAction extends BaseCodeInsightAction implements HintManager.ActionToIgnore { +public class ShowJavaDocInfoAction extends BaseCodeInsightAction implements HintManagerImpl.ActionToIgnore { @NonNls public static final String CODEASSISTS_QUICKJAVADOC_LOOKUP_FEATURE = "codeassists.quickjavadoc.lookup"; @NonNls public static final String CODEASSISTS_QUICKJAVADOC_FEATURE = "codeassists.quickjavadoc"; diff --git a/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java b/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java index f137efa344be..c8b0e153eec1 100644 --- a/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java +++ b/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java @@ -356,7 +356,7 @@ public class ImplementationViewComponent extends JPanel { updateControls(); } - private class BackAction extends AnAction implements HintManager.ActionToIgnore { + private class BackAction extends AnAction implements HintManagerImpl.ActionToIgnore { public BackAction() { super(CodeInsightBundle.message("quick.definition.back"), null, IconLoader.getIcon("/actions/back.png")); } @@ -372,7 +372,7 @@ public class ImplementationViewComponent extends JPanel { } } - private class ForwardAction extends AnAction implements HintManager.ActionToIgnore { + private class ForwardAction extends AnAction implements HintManagerImpl.ActionToIgnore { public ForwardAction() { super(CodeInsightBundle.message("quick.definition.forward"), null, IconLoader.getIcon("/actions/forward.png")); } @@ -400,7 +400,7 @@ public class ImplementationViewComponent extends JPanel { } } - private class ShowSourceAction extends EditSourceActionBase implements HintManager.ActionToIgnore { + private class ShowSourceAction extends EditSourceActionBase implements HintManagerImpl.ActionToIgnore { public ShowSourceAction() { super(false, IconLoader.getIcon("/actions/showSource.png"), CodeInsightBundle.message("quick.definition.show.source")); } diff --git a/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoController.java b/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoController.java index c6dac0818f62..f83b0ac4296d 100644 --- a/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoController.java +++ b/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoController.java @@ -228,8 +228,8 @@ public class ParameterInfoController { return; } - HintManager hintManager = HintManager.getInstance(); - short constraint = lookup.isPositionedAboveCaret() ? HintManager.UNDER : HintManager.ABOVE; + HintManagerImpl hintManager = HintManagerImpl.getInstanceImpl(); + short constraint = lookup.isPositionedAboveCaret() ? HintManagerImpl.UNDER : HintManagerImpl.ABOVE; Point p = hintManager.getHintPosition(myHint, myEditor, constraint); Dimension hintSize = myHint.getComponent().getPreferredSize(); JLayeredPane layeredPane = myEditor.getComponent().getRootPane().getLayeredPane(); @@ -265,7 +265,7 @@ public class ParameterInfoController { if (elementForUpdating != null) { myHandler.updateParameterInfo(elementForUpdating, context); if (myHint.isVisible()) { - HintManager.adjustEditorHintPosition(myHint, myEditor, myProvider.getBestPointPosition(myHint, (PsiElement)elementForUpdating,offset)); + HintManagerImpl.adjustEditorHintPosition(myHint, myEditor, myProvider.getBestPointPosition(myHint, (PsiElement)elementForUpdating,offset)); } } else context.removeHint(); diff --git a/lang-impl/src/com/intellij/codeInsight/hint/ShowParameterInfoContext.java b/lang-impl/src/com/intellij/codeInsight/hint/ShowParameterInfoContext.java index a5a17be7add5..dd241d48f954 100644 --- a/lang-impl/src/com/intellij/codeInsight/hint/ShowParameterInfoContext.java +++ b/lang-impl/src/com/intellij/codeInsight/hint/ShowParameterInfoContext.java @@ -111,12 +111,12 @@ public class ShowParameterInfoContext implements CreateParameterInfoContext { final LightweightHint hint = new LightweightHint(component); hint.setSelectingHint(true); - final HintManager hintManager = HintManager.getInstance(); + final HintManagerImpl hintManager = HintManagerImpl.getInstanceImpl(); final Point p = provider.getBestPointPosition(hint, element, elementStart); ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { - hintManager.showEditorHint(hint, editor, p, HintManager.HIDE_BY_ESCAPE | HintManager.UPDATE_BY_SCROLLING, 0, false); + hintManager.showEditorHint(hint, editor, p, HintManagerImpl.HIDE_BY_ESCAPE | HintManagerImpl.UPDATE_BY_SCROLLING, 0, false); new ParameterInfoController(project, editor, elementStart, @@ -143,7 +143,7 @@ public class ShowParameterInfoContext implements CreateParameterInfoContext { * @return Point in layered pane coordinate system */ static Point chooseBestHintPosition(Project project, Editor editor, int line, int col, LightweightHint hint) { - HintManager hintManager = HintManager.getInstance(); + HintManagerImpl hintManager = HintManagerImpl.getInstanceImpl(); Dimension hintSize = hint.getComponent().getPreferredSize(); JComponent editorComponent = editor.getComponent(); JLayeredPane layeredPane = editorComponent.getRootPane().getLayeredPane(); @@ -152,13 +152,13 @@ public class ShowParameterInfoContext implements CreateParameterInfoContext { Point p2; boolean isLookupShown = LookupManager.getInstance(project).getActiveLookup() != null; if (isLookupShown) { - p1 = hintManager.getHintPosition(hint, editor, HintManager.UNDER); - p2 = hintManager.getHintPosition(hint, editor, HintManager.ABOVE); + p1 = hintManager.getHintPosition(hint, editor, HintManagerImpl.UNDER); + p2 = hintManager.getHintPosition(hint, editor, HintManagerImpl.ABOVE); } else { LogicalPosition pos = new LogicalPosition(line, col); - p1 = hintManager.getHintPosition(hint, editor, pos, HintManager.UNDER); - p2 = hintManager.getHintPosition(hint, editor, pos, HintManager.ABOVE); + p1 = hintManager.getHintPosition(hint, editor, pos, HintManagerImpl.UNDER); + p2 = hintManager.getHintPosition(hint, editor, pos, HintManagerImpl.ABOVE); } p1.x = Math.min(p1.x, layeredPane.getWidth() - hintSize.width); @@ -205,7 +205,7 @@ public class ShowParameterInfoContext implements CreateParameterInfoContext { p = chooseBestHintPosition(myEditor.getProject(), myEditor, pos.line, pos.column, hint); } else { - p = HintManager.getInstance().getHintPosition(hint, myEditor, pos, HintManager.ABOVE); + p = HintManagerImpl.getHintPosition(hint, myEditor, pos, HintManagerImpl.ABOVE); Dimension hintSize = hint.getComponent().getPreferredSize(); JComponent editorComponent = myEditor.getComponent(); JLayeredPane layeredPane = editorComponent.getRootPane().getLayeredPane(); diff --git a/lang-impl/src/com/intellij/codeInsight/hint/ShowParameterInfoHandler.java b/lang-impl/src/com/intellij/codeInsight/hint/ShowParameterInfoHandler.java index b5fefb52b193..949edaefbbc1 100644 --- a/lang-impl/src/com/intellij/codeInsight/hint/ShowParameterInfoHandler.java +++ b/lang-impl/src/com/intellij/codeInsight/hint/ShowParameterInfoHandler.java @@ -83,13 +83,13 @@ public class ShowParameterInfoHandler implements CodeInsightActionHandler { final LightweightHint hint = new LightweightHint(component); hint.setSelectingHint(true); - final HintManager hintManager = HintManager.getInstance(); + final HintManagerImpl hintManager = HintManagerImpl.getInstanceImpl(); final Point p = ShowParameterInfoContext.chooseBestHintPosition(project, editor, -1, -1, hint); ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { if (!editor.getComponent().isShowing()) return; hintManager.showEditorHint(hint, editor, p, - HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_LOOKUP_ITEM_CHANGE | HintManager.UPDATE_BY_SCROLLING, + HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_LOOKUP_ITEM_CHANGE | HintManagerImpl.UPDATE_BY_SCROLLING, 0, false); } }); diff --git a/lang-impl/src/com/intellij/codeInsight/intention/actions/ShowIntentionActionsAction.java b/lang-impl/src/com/intellij/codeInsight/intention/actions/ShowIntentionActionsAction.java index 5c2d2a1d5157..78259dee64ff 100644 --- a/lang-impl/src/com/intellij/codeInsight/intention/actions/ShowIntentionActionsAction.java +++ b/lang-impl/src/com/intellij/codeInsight/intention/actions/ShowIntentionActionsAction.java @@ -2,7 +2,7 @@ package com.intellij.codeInsight.intention.actions; import com.intellij.codeInsight.CodeInsightActionHandler; import com.intellij.codeInsight.actions.BaseCodeInsightAction; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; @@ -11,7 +11,7 @@ import com.intellij.psi.PsiFile; /** * @author mike */ -public class ShowIntentionActionsAction extends BaseCodeInsightAction implements HintManager.ActionToIgnore { +public class ShowIntentionActionsAction extends BaseCodeInsightAction implements HintManagerImpl.ActionToIgnore { public ShowIntentionActionsAction() { setEnabledInModalContext(true); } diff --git a/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionHintComponent.java b/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionHintComponent.java index a3abe33ccb78..800ea9e93143 100644 --- a/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionHintComponent.java +++ b/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionHintComponent.java @@ -4,10 +4,7 @@ import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer; import com.intellij.codeInsight.daemon.impl.HighlightInfo; import com.intellij.codeInsight.daemon.impl.quickfix.QuickFixAction; -import com.intellij.codeInsight.hint.HintManager; -import com.intellij.codeInsight.hint.HintUtil; -import com.intellij.codeInsight.hint.QuestionAction; -import com.intellij.codeInsight.hint.ScrollAwareHint; +import com.intellij.codeInsight.hint.*; import com.intellij.codeInsight.intention.EmptyIntentionAction; import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInsight.intention.impl.config.IntentionManagerSettings; @@ -439,7 +436,7 @@ public class IntentionHintComponent extends JPanel implements Disposable, Scroll myComponentHint.setShouldDelay(delay); - HintManager.getInstance().showQuestionHint(myEditor, position, + HintManagerImpl.getInstanceImpl().showQuestionHint(myEditor, position, offset, offset, myComponentHint, diff --git a/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java b/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java index ea9fcd63d192..db417640bf6c 100644 --- a/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java +++ b/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java @@ -6,7 +6,7 @@ import com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl; import com.intellij.codeInsight.daemon.impl.HighlightInfo; import com.intellij.codeInsight.daemon.impl.LocalInspectionsPass; import com.intellij.codeInsight.daemon.impl.ShowIntentionsPass; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInsight.intention.IntentionManager; import com.intellij.codeInsight.template.impl.TemplateManagerImpl; @@ -40,7 +40,7 @@ public class ShowIntentionActionsHandler implements CodeInsightActionHandler { public void invoke(final Project project, final Editor editor, final PsiFile file) { PsiDocumentManager.getInstance(project).commitAllDocuments(); - if (HintManager.getInstance().performCurrentQuestionAction()) return; + if (HintManagerImpl.getInstanceImpl().performCurrentQuestionAction()) return; //intentions check isWritable before modification: if (!file.isWritable()) return;if (!file.isWritable()) return; if (file instanceof PsiCodeFragment) return; diff --git a/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java b/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java index 198be04b5653..591049c7371c 100644 --- a/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java +++ b/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java @@ -4,8 +4,8 @@ import com.intellij.codeInsight.CodeInsightSettings; import com.intellij.codeInsight.completion.CompletionPreferencePolicy; import com.intellij.codeInsight.completion.PrefixMatcher; import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.HintUtil; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.lookup.*; import com.intellij.featureStatistics.FeatureUsageTracker; import com.intellij.ide.IdeEventQueue; @@ -451,8 +451,8 @@ public class LookupImpl extends LightweightHint implements Lookup, Disposable { if (ApplicationManager.getApplication().isUnitTestMode()) return; Point p = calculatePosition(); - HintManager hintManager = HintManager.getInstance(); - hintManager.showEditorHint(this, myEditor, p, HintManager.HIDE_BY_ESCAPE | HintManager.UPDATE_BY_SCROLLING, 0, false); + HintManagerImpl hintManager = HintManagerImpl.getInstanceImpl(); + hintManager.showEditorHint(this, myEditor, p, HintManagerImpl.HIDE_BY_ESCAPE | HintManagerImpl.UPDATE_BY_SCROLLING, 0, false); } private int calcLookupStart() { @@ -730,7 +730,7 @@ public class LookupImpl extends LightweightHint implements Lookup, Disposable { public void adaptSize() { if (isVisible()) { - HintManager.getInstance().adjustEditorHintPosition(this, myEditor, getComponent().getLocation()); + HintManagerImpl.getInstanceImpl().adjustEditorHintPosition(this, myEditor, getComponent().getLocation()); } } diff --git a/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java b/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java index 52582fe56a10..7b21a956851a 100644 --- a/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java +++ b/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java @@ -5,7 +5,7 @@ import com.intellij.codeInsight.completion.impl.CamelHumpMatcher; import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer; import com.intellij.codeInsight.documentation.DocumentationManager; import com.intellij.codeInsight.hint.EditorHintListener; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.lookup.*; import com.intellij.openapi.components.ProjectComponent; import com.intellij.openapi.editor.Editor; @@ -41,7 +41,7 @@ public class LookupManagerImpl extends LookupManager implements ProjectComponent public void hintShown(final Project project, final LightweightHint hint, final int flags) { if (project == myProject) { Lookup lookup = getActiveLookup(); - if (lookup != null && (flags & HintManager.HIDE_BY_LOOKUP_ITEM_CHANGE) != 0) { + if (lookup != null && (flags & HintManagerImpl.HIDE_BY_LOOKUP_ITEM_CHANGE) != 0) { lookup.addLookupListener( new LookupAdapter() { public void currentItemChanged(LookupEvent event) { diff --git a/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java b/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java index dff0aa33376b..4e4f68e8c643 100644 --- a/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java +++ b/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java @@ -4,13 +4,14 @@ import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.TargetElementUtilBase; import com.intellij.codeInsight.documentation.DocumentationManager; import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.hint.HintUtil; import com.intellij.codeInsight.navigation.actions.GotoDeclarationAction; import com.intellij.codeInsight.navigation.actions.GotoTypeDeclarationAction; import com.intellij.ide.util.EditSourceUtil; import com.intellij.lang.documentation.DocumentationProvider; -import com.intellij.navigation.NavigationItem; import com.intellij.navigation.ItemPresentation; +import com.intellij.navigation.NavigationItem; import com.intellij.openapi.actionSystem.IdeActions; import com.intellij.openapi.actionSystem.MouseShortcut; import com.intellij.openapi.actionSystem.Shortcut; @@ -398,8 +399,7 @@ public class CtrlMouseHandler implements ProjectComponent { internalComponent.removeKeyListener(myEditorKeyListener); myHighlighterView.getScrollingModel().removeVisibleAreaListener(myVisibleAreaListener); FileEditorManager.getInstance(myProject).removeFileEditorManagerListener(myFileEditorManagerListener); - HintManager hintManager = HintManager.getInstance(); - hintManager.hideAllHints(); + HintManager.getInstance().hideAllHints(); myHighlighter = null; myHighlighterView = null; myStoredCursor = null; @@ -456,16 +456,16 @@ public class CtrlMouseHandler implements ProjectComponent { Font FONT = UIUtil.getLabelFont(); label.setFont(FONT); final LightweightHint hint = new LightweightHint(label); - final HintManager hintManager = HintManager.getInstance(); + final HintManagerImpl hintManager = HintManagerImpl.getInstanceImpl(); label.addMouseMotionListener(new MouseMotionAdapter() { public void mouseMoved(MouseEvent e) { hintManager.hideAllHints(); } }); - Point p = HintManager.getHintPosition(hint, myEditor, myPosition, HintManager.ABOVE); + Point p = HintManagerImpl.getHintPosition(hint, myEditor, myPosition, HintManagerImpl.ABOVE); hintManager.showEditorHint(hint, myEditor, p, - HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | - HintManager.HIDE_BY_SCROLLING, + HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE | + HintManagerImpl.HIDE_BY_SCROLLING, 0, false); } } diff --git a/lang-impl/src/com/intellij/codeInsight/navigation/IncrementalSearchHandler.java b/lang-impl/src/com/intellij/codeInsight/navigation/IncrementalSearchHandler.java index 61867ae098dd..92bfb13acb87 100644 --- a/lang-impl/src/com/intellij/codeInsight/navigation/IncrementalSearchHandler.java +++ b/lang-impl/src/com/intellij/codeInsight/navigation/IncrementalSearchHandler.java @@ -1,8 +1,8 @@ package com.intellij.codeInsight.navigation; import com.intellij.codeInsight.CodeInsightBundle; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.HintUtil; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.featureStatistics.FeatureUsageTracker; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.IdeActions; @@ -160,8 +160,7 @@ public class IncrementalSearchHandler { int y = - hint.getComponent().getPreferredSize().height; Point p = SwingUtilities.convertPoint(component,x,y,component.getRootPane().getLayeredPane()); - HintManager hintManager = HintManager.getInstance(); - hintManager.showEditorHint(hint, editor, p, HintManager.HIDE_BY_ESCAPE | HintManager.HIDE_BY_TEXT_CHANGE, 0, false); + HintManagerImpl.getInstanceImpl().showEditorHint(hint, editor, p, HintManagerImpl.HIDE_BY_ESCAPE | HintManagerImpl.HIDE_BY_TEXT_CHANGE, 0, false); PerHintSearchData hintData = new PerHintSearchData(project, label2); hintData.searchStart = editor.getCaretModel().getOffset(); diff --git a/lang-impl/src/com/intellij/codeInsight/template/impl/ListTemplatesHandler.java b/lang-impl/src/com/intellij/codeInsight/template/impl/ListTemplatesHandler.java index 4076de194228..0f0908387519 100644 --- a/lang-impl/src/com/intellij/codeInsight/template/impl/ListTemplatesHandler.java +++ b/lang-impl/src/com/intellij/codeInsight/template/impl/ListTemplatesHandler.java @@ -4,16 +4,19 @@ package com.intellij.codeInsight.template.impl; import com.intellij.codeInsight.CodeInsightActionHandler; import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.hint.HintManager; -import com.intellij.codeInsight.lookup.*; +import com.intellij.codeInsight.lookup.LookupAdapter; +import com.intellij.codeInsight.lookup.LookupEvent; +import com.intellij.codeInsight.lookup.LookupItem; +import com.intellij.codeInsight.lookup.LookupManager; import com.intellij.codeInsight.lookup.impl.LookupImpl; import com.intellij.codeInsight.template.TemplateContextType; import com.intellij.codeInsight.template.TemplateManager; +import com.intellij.openapi.application.Result; +import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.ex.util.EditorUtil; import com.intellij.openapi.project.Project; -import com.intellij.openapi.command.WriteCommandAction; -import com.intellij.openapi.application.Result; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; diff --git a/lang-impl/src/com/intellij/find/FindUtil.java b/lang-impl/src/com/intellij/find/FindUtil.java index 6b9fe375a180..f56391f2cd66 100644 --- a/lang-impl/src/com/intellij/find/FindUtil.java +++ b/lang-impl/src/com/intellij/find/FindUtil.java @@ -1,7 +1,7 @@ package com.intellij.find; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.HintUtil; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.find.impl.FindInProjectUtil; import com.intellij.find.replaceInProject.ReplaceInProjectManager; import com.intellij.openapi.actionSystem.ActionManager; @@ -627,12 +627,11 @@ public class FindUtil { }; editor.getCaretModel().addCaretListener(listener); } - HintManager hintManager = HintManager.getInstance(); JComponent component = HintUtil.createInformationLabel(message); final LightweightHint hint = new LightweightHint(component); - hintManager.showEditorHint(hint, editor, HintManager.UNDER, - HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | - HintManager.HIDE_BY_SCROLLING, + HintManagerImpl.getInstanceImpl().showEditorHint(hint, editor, HintManagerImpl.UNDER, + HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE | + HintManagerImpl.HIDE_BY_SCROLLING, 0, false); } diff --git a/lang-impl/src/com/intellij/find/actions/FindUsagesAction.java b/lang-impl/src/com/intellij/find/actions/FindUsagesAction.java index 568f319c6d69..0aa7f36cbfd4 100644 --- a/lang-impl/src/com/intellij/find/actions/FindUsagesAction.java +++ b/lang-impl/src/com/intellij/find/actions/FindUsagesAction.java @@ -1,8 +1,8 @@ package com.intellij.find.actions; import com.intellij.CommonBundle; -import com.intellij.codeInsight.navigation.actions.GotoDeclarationAction; import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.navigation.actions.GotoDeclarationAction; import com.intellij.find.FindBundle; import com.intellij.find.findUsages.PsiElement2UsageTargetAdapter; import com.intellij.openapi.actionSystem.AnAction; diff --git a/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java b/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java index 6807017691d6..258fbdb5bc47 100644 --- a/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java +++ b/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java @@ -1,6 +1,7 @@ package com.intellij.find.actions; import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.codeInsight.hint.HintUtil; import com.intellij.featureStatistics.FeatureUsageTracker; import com.intellij.find.FindBundle; @@ -89,7 +90,7 @@ public class ShowUsagesAction extends AnAction { } else { JLabel label = HintUtil.createInformationLabel(text); - HintManager.getInstance().showHint(label, popupPosition, HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | HintManager.HIDE_BY_SCROLLING, 0); + HintManager.getInstance().showHint(label, popupPosition, HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE | HintManagerImpl.HIDE_BY_SCROLLING, 0); } } else { diff --git a/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java b/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java index 6c68baaac1cb..2faeee6357b2 100644 --- a/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java +++ b/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java @@ -1,7 +1,7 @@ package com.intellij.find.findUsages; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.HintUtil; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.find.FindBundle; import com.intellij.lang.findUsages.LanguageFindUsages; import com.intellij.navigation.NavigationItem; @@ -573,11 +573,10 @@ public class FindUsagesManager implements JDOMExternalizable { } private static void showEditorHint(String message, final Editor editor) { - HintManager hintManager = HintManager.getInstance(); JComponent component = HintUtil.createInformationLabel(message); final LightweightHint hint = new LightweightHint(component); - hintManager.showEditorHint(hint, editor, HintManager.UNDER, - HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | HintManager.HIDE_BY_SCROLLING, 0, false); + HintManagerImpl.getInstanceImpl().showEditorHint(hint, editor, HintManagerImpl.UNDER, + HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE | HintManagerImpl.HIDE_BY_SCROLLING, 0, false); } public static String getHelpID(PsiElement element) { diff --git a/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java b/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java index 81028befeebd..89688e6754b3 100644 --- a/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java +++ b/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java @@ -3,8 +3,8 @@ package com.intellij.find.impl; import com.intellij.codeInsight.highlighting.HighlightManager; import com.intellij.codeInsight.highlighting.HighlightManagerImpl; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.HintUtil; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.find.*; import com.intellij.find.findUsages.FindUsagesManager; import com.intellij.openapi.actionSystem.ActionManager; @@ -490,10 +490,9 @@ public class FindManagerImpl extends FindManager implements PersistentStateCompo message = FindBundle.message("find.search.again.from.bottom.action.message", message); } } - HintManager hintManager = HintManager.getInstance(); JComponent component = HintUtil.createInformationLabel(message); final LightweightHint hint = new LightweightHint(component); - hintManager.showEditorHint(hint, editor, HintManager.UNDER, HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | HintManager.HIDE_BY_SCROLLING, 0, false); + HintManagerImpl.getInstanceImpl().showEditorHint(hint, editor, HintManagerImpl.UNDER, HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE | HintManagerImpl.HIDE_BY_SCROLLING, 0, false); return true; } else if (!secondPass) { offset = isForward ? 0 : editor.getDocument().getTextLength(); diff --git a/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java b/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java index 1345f6e6a98b..a1fb7dff547a 100644 --- a/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java +++ b/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java @@ -16,7 +16,7 @@ package com.intellij.ide.navigationToolbar; import com.intellij.ProjectTopics; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.ide.CopyPasteDelegator; import com.intellij.ide.DataManager; import com.intellij.ide.IdeView; @@ -841,7 +841,7 @@ public class NavBarPanel extends JPanel implements DataProvider, PopupOwner { final Container container = focusedWindow != null ? focusedWindow : editor.getContentComponent(); final Point p = AbstractPopup.getCenterOf(container, this); p.y = container.getHeight() / 4; - HintManager.getInstance().showEditorHint(myHint, editor, p, HintManager.HIDE_BY_ESCAPE, 0, true); + HintManagerImpl.getInstanceImpl().showEditorHint(myHint, editor, p, HintManagerImpl.HIDE_BY_ESCAPE, 0, true); } select(); } diff --git a/platform-api/src/com/intellij/codeInsight/hint/HintManager.java b/platform-api/src/com/intellij/codeInsight/hint/HintManager.java new file mode 100644 index 000000000000..bcd1e7d0480c --- /dev/null +++ b/platform-api/src/com/intellij/codeInsight/hint/HintManager.java @@ -0,0 +1,44 @@ +package com.intellij.codeInsight.hint; + +import com.intellij.openapi.components.ApplicationComponent; +import com.intellij.openapi.editor.Editor; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.ui.awt.RelativePoint; +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; + +/** + * @author cdr + */ +public abstract class HintManager implements ApplicationComponent { + public abstract void showHint(@NotNull JComponent component, @NotNull RelativePoint p, int flags, int timeout); + + public abstract void showErrorHint(@NotNull Editor editor, String text); + + public abstract void showInformationHint(@NotNull Editor editor, String text); + + public abstract void showQuestionHint( + Editor editor, + String hintText, + int offset1, + int offset2, + QuestionAction action); + + protected abstract boolean hideHints(int mask, boolean onlyOne, boolean editorChanged); + + public static HintManager getInstance() { + return ApplicationManager.getApplication().getComponent(HintManager.class); + } + + public abstract void showErrorHint( + Editor editor, + String hintText, + int offset1, + int offset2, + short constraint, + int flags, + int timeout); + + public abstract void hideAllHints(); +} diff --git a/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java b/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java index d4bcbde23bdf..efa6557f3171 100644 --- a/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java +++ b/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java @@ -95,7 +95,6 @@ public abstract class DialogWrapper { private Action myNoAction = null; protected final Disposable myDisposable = new Disposable() { - public String toString() { return DialogWrapper.this.toString(); } @@ -124,10 +123,7 @@ public abstract class DialogWrapper { } protected DialogWrapper(boolean canBeParent) { - synchronized (ourLock) { - myPeer = DialogWrapperPeerFactory.getInstance().createPeer(this, canBeParent); - createDefaultActions(); - } + this((Project)null, canBeParent); } protected DialogWrapper(boolean canBeParent, boolean toolkitModalIfPossible) { @@ -977,7 +973,7 @@ public abstract class DialogWrapper { } private static class ErrorText extends JPanel { - private JLabel myLabel = new JLabel(); + private final JLabel myLabel = new JLabel(); private Dimension myPrefSize; public ErrorText() { diff --git a/platform-impl/src/com/intellij/codeInsight/hint/EditorFragmentComponent.java b/platform-impl/src/com/intellij/codeInsight/hint/EditorFragmentComponent.java index a025ea97e412..a66150b8e5ab 100644 --- a/platform-impl/src/com/intellij/codeInsight/hint/EditorFragmentComponent.java +++ b/platform-impl/src/com/intellij/codeInsight/hint/EditorFragmentComponent.java @@ -130,7 +130,7 @@ public class EditorFragmentComponent extends JPanel { Point p = new Point(x, y); LightweightHint hint = new MyComponentHint(fragmentComponent); - HintManager.getInstance().showEditorHint(hint, editor, p, HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE, 0, false); + HintManagerImpl.getInstanceImpl().showEditorHint(hint, editor, p, HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE, 0, false); return hint; } diff --git a/platform-impl/src/com/intellij/codeInsight/hint/HintManager.java b/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java similarity index 97% rename from platform-impl/src/com/intellij/codeInsight/hint/HintManager.java rename to platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java index 672d86d47636..1db1f4ff585f 100644 --- a/platform-impl/src/com/intellij/codeInsight/hint/HintManager.java +++ b/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java @@ -4,7 +4,6 @@ import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.actionSystem.ex.ActionManagerEx; import com.intellij.openapi.actionSystem.ex.AnActionListener; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.LogicalPosition; @@ -37,7 +36,7 @@ import java.util.ArrayList; import java.util.EventObject; import java.util.List; -public class HintManager implements ApplicationComponent { +public class HintManagerImpl extends HintManager { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.hint.HintManager"); public static final short ABOVE = 1; @@ -87,11 +86,11 @@ public class HintManager implements ApplicationComponent { } } - public static HintManager getInstance() { - return ApplicationManager.getApplication().getComponent(HintManager.class); + public static HintManagerImpl getInstanceImpl() { + return (HintManagerImpl)ApplicationManager.getApplication().getComponent(HintManager.class); } - public HintManager(ActionManagerEx actionManagerEx, ProjectManager projectManager, EditorActionManager editorActionManager) { + public HintManagerImpl(ActionManagerEx actionManagerEx, ProjectManager projectManager, EditorActionManager editorActionManager) { myEditorManagerListener = new MyEditorManagerListener(); myAnActionListener = new MyAnActionListener(); @@ -530,11 +529,7 @@ public class HintManager implements ApplicationComponent { public void showErrorHint(@NotNull Editor editor, String text) { JLabel label = HintUtil.createErrorLabel(text); - LightweightHint hint = new LightweightHint(label) { - public void hide() { - super.hide(); - } - }; + LightweightHint hint = new LightweightHint(label); Point p = getHintPosition(hint, editor, ABOVE); showEditorHint(hint, editor, p, HIDE_BY_ANY_KEY | HIDE_BY_TEXT_CHANGE | HIDE_BY_SCROLLING, 0, false); } @@ -738,7 +733,7 @@ public class HintManager implements ApplicationComponent { public void execute(Editor editor, DataContext dataContext) { Project project = PlatformDataKeys.PROJECT.getData(dataContext); - if (project == null || !getInstance().hideHints(HIDE_BY_ESCAPE | HIDE_BY_ANY_KEY, true, false)) { + if (project == null || !getInstanceImpl().hideHints(HIDE_BY_ESCAPE | HIDE_BY_ANY_KEY, true, false)) { myOriginalHandler.execute(editor, dataContext); } } @@ -748,7 +743,7 @@ public class HintManager implements ApplicationComponent { Project project = PlatformDataKeys.PROJECT.getData(dataContext); if (project != null) { - HintManager hintManager = getInstance(); + HintManagerImpl hintManager = getInstanceImpl(); for (int i = hintManager.myHintsStack.size() - 1; i >= 0; i--) { final HintInfo info = hintManager.myHintsStack.get(i); if (!info.hint.isVisible()) { @@ -766,7 +761,7 @@ public class HintManager implements ApplicationComponent { } } - private boolean hideHints(int mask, boolean onlyOne, boolean editorChanged) { + protected boolean hideHints(int mask, boolean onlyOne, boolean editorChanged) { LOG.assertTrue(SwingUtilities.isEventDispatchThread()); try { boolean done = false; diff --git a/platform-impl/src/com/intellij/codeInsight/hint/LineTooltipRenderer.java b/platform-impl/src/com/intellij/codeInsight/hint/LineTooltipRenderer.java index dc32fcda65d4..1f09cd91b364 100644 --- a/platform-impl/src/com/intellij/codeInsight/hint/LineTooltipRenderer.java +++ b/platform-impl/src/com/intellij/codeInsight/hint/LineTooltipRenderer.java @@ -51,7 +51,7 @@ public class LineTooltipRenderer implements TooltipRenderer { //pane final JEditorPane pane = initPane(myText); pane.setCaretPosition(0); - final HintManager hintManager = HintManager.getInstance(); + final HintManagerImpl hintManager = HintManagerImpl.getInstanceImpl(); final JComponent contentComponent = editor.getContentComponent(); // This listeners makes hint transparent for mouse events. It means that hint is closed // by MousePressed and this MousePressed goes into the underlying editor component. @@ -175,8 +175,8 @@ public class LineTooltipRenderer implements TooltipRenderer { } }); hintManager.showEditorHint(hint, editor, p, - HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | HintManager.HIDE_BY_OTHER_HINT | - HintManager.HIDE_BY_SCROLLING, 0, false); + HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE | HintManagerImpl.HIDE_BY_OTHER_HINT | + HintManagerImpl.HIDE_BY_SCROLLING, 0, false); return hint; } diff --git a/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java b/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java index 7487d3b7ea07..a4de1e980d8c 100644 --- a/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java +++ b/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java @@ -8,9 +8,9 @@ */ package com.intellij.openapi.editor.impl; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.TooltipController; import com.intellij.codeInsight.hint.TooltipGroup; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.ide.ui.LafManager; import com.intellij.ide.ui.UISettings; import com.intellij.ide.IdeEventQueue; @@ -933,13 +933,13 @@ class EditorGutterComponentImpl extends EditorGutterComponentEx implements Mouse } public void mouseDragged(MouseEvent e) { - HintManager.getInstance().getTooltipController().cancelTooltips(); + HintManagerImpl.getInstanceImpl().getTooltipController().cancelTooltips(); } public void mouseMoved(final MouseEvent e) { String tooltip = null; GutterIconRenderer renderer = getGutterRenderer(e); - TooltipController controller = HintManager.getInstance().getTooltipController(); + TooltipController controller = HintManagerImpl.getInstanceImpl().getTooltipController(); if (renderer != null) { tooltip = renderer.getTooltipText(); if (renderer.isNavigateAction()) { @@ -1158,7 +1158,7 @@ class EditorGutterComponentImpl extends EditorGutterComponentEx implements Mouse } public void mouseExited(MouseEvent e) { - HintManager.getInstance().getTooltipController().cancelTooltip(GUTTER_TOOLTIP_GROUP); + HintManagerImpl.getInstanceImpl().getTooltipController().cancelTooltip(GUTTER_TOOLTIP_GROUP); } @Nullable diff --git a/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 2000a40f6d35..b52fdf938a10 100644 --- a/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -1,10 +1,7 @@ package com.intellij.openapi.editor.impl; import com.intellij.Patches; -import com.intellij.codeInsight.hint.DocumentFragmentTooltipRenderer; -import com.intellij.codeInsight.hint.HintManager; -import com.intellij.codeInsight.hint.TooltipController; -import com.intellij.codeInsight.hint.TooltipGroup; +import com.intellij.codeInsight.hint.*; import com.intellij.concurrency.JobScheduler; import com.intellij.ide.*; import com.intellij.ide.dnd.DnDManager; @@ -3643,7 +3640,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi myGutterComponent.mouseExited(e); } - HintManager.getInstance().getTooltipController().cancelTooltip(FOLDING_TOOLTIP_GROUP); + HintManagerImpl.getInstanceImpl().getTooltipController().cancelTooltip(FOLDING_TOOLTIP_GROUP); } } @@ -3672,7 +3669,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi if (event.getArea() == EditorMouseEventArea.EDITING_AREA) { FoldRegion fold = myFoldingModel.getFoldingPlaceholderAt(e.getPoint()); - TooltipController controller = HintManager.getInstance().getTooltipController(); + TooltipController controller = HintManagerImpl.getInstanceImpl().getTooltipController(); if (fold != null) { DocumentFragment range = new DocumentFragment(myDocument, fold.getStartOffset(), fold.getEndOffset()); final Point p = diff --git a/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java b/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java index 5f1c9c60e414..4da01389e652 100644 --- a/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java +++ b/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java @@ -558,7 +558,7 @@ public class EditorMarkupModelImpl extends MarkupModelImpl implements EditorMark } private void cancelMyToolTips(final MouseEvent e) { - final TooltipController tooltipController = HintManager.getInstance().getTooltipController(); + final TooltipController tooltipController = HintManagerImpl.getInstanceImpl().getTooltipController(); if (!tooltipController.shouldSurvive(e)) { tooltipController.cancelTooltip(ERROR_STRIPE_TOOLTIP_GROUP); } @@ -587,7 +587,7 @@ public class EditorMarkupModelImpl extends MarkupModelImpl implements EditorMark } private void showTooltip(MouseEvent e, final TooltipRenderer tooltipObject) { - final TooltipController tooltipController = HintManager.getInstance().getTooltipController(); + final TooltipController tooltipController = HintManagerImpl.getInstanceImpl().getTooltipController(); tooltipController.showTooltipByMouseMove(myEditor, e, tooltipObject, myEditor.getVerticalScrollbarOrientation() == EditorEx.VERTICAL_SCROLLBAR_RIGHT, ERROR_STRIPE_TOOLTIP_GROUP); diff --git a/platform-resources/src/componentSets/Platform.xml b/platform-resources/src/componentSets/Platform.xml index 16627624def7..e2b6dc143a12 100644 --- a/platform-resources/src/componentSets/Platform.xml +++ b/platform-resources/src/componentSets/Platform.xml @@ -7,7 +7,7 @@ com.intellij.codeInsight.hint.HintManager - com.intellij.codeInsight.hint.HintManager + com.intellij.codeInsight.hint.HintManagerImpl diff --git a/plugins/htmltools/src/com/intellij/html/preview/ImageOrColorPreviewManager.java b/plugins/htmltools/src/com/intellij/html/preview/ImageOrColorPreviewManager.java index 8f3906b903f3..f9aaf390dfe9 100644 --- a/plugins/htmltools/src/com/intellij/html/preview/ImageOrColorPreviewManager.java +++ b/plugins/htmltools/src/com/intellij/html/preview/ImageOrColorPreviewManager.java @@ -1,6 +1,6 @@ package com.intellij.html.preview; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.openapi.Disposable; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; @@ -106,9 +106,9 @@ public class ImageOrColorPreviewManager implements Disposable, EditorMouseMotion hideCurrentHintIfAny(); setCurrentHint(hint, element); - HintManager.getInstance().showEditorHint(hint, editor, HintManager.getHintPosition(hint, editor, getLogicalPosition(element), - HintManager.RIGHT_UNDER), HintManager - .HIDE_BY_ANY_KEY | HintManager.HIDE_BY_OTHER_HINT | HintManager.HIDE_BY_SCROLLING | HintManager.HIDE_BY_TEXT_CHANGE | HintManager + HintManagerImpl.getInstanceImpl().showEditorHint(hint, editor, HintManagerImpl.getHintPosition(hint, editor, getLogicalPosition(element), + HintManagerImpl.RIGHT_UNDER), HintManagerImpl + .HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_OTHER_HINT | HintManagerImpl.HIDE_BY_SCROLLING | HintManagerImpl.HIDE_BY_TEXT_CHANGE | HintManagerImpl .HIDE_IF_OUT_OF_EDITOR, 0, false); } } diff --git a/vcs-impl/src/com/intellij/openapi/vcs/ex/LineStatusTracker.java b/vcs-impl/src/com/intellij/openapi/vcs/ex/LineStatusTracker.java index 2ab4f618fe87..bd04405cf635 100644 --- a/vcs-impl/src/com/intellij/openapi/vcs/ex/LineStatusTracker.java +++ b/vcs-impl/src/com/intellij/openapi/vcs/ex/LineStatusTracker.java @@ -1,7 +1,7 @@ package com.intellij.openapi.vcs.ex; import com.intellij.codeInsight.hint.EditorFragmentComponent; -import com.intellij.codeInsight.hint.HintManager; +import com.intellij.codeInsight.hint.HintManagerImpl; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; @@ -774,8 +774,8 @@ public class LineStatusTracker { } }); - HintManager.getInstance().showEditorHint(lightweightHint, editor, point, HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | - HintManager.HIDE_BY_OTHER_HINT | HintManager.HIDE_BY_SCROLLING, + HintManagerImpl.getInstanceImpl().showEditorHint(lightweightHint, editor, point, HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE | + HintManagerImpl.HIDE_BY_OTHER_HINT | HintManagerImpl.HIDE_BY_SCROLLING, -1, false); } diff --git a/xdebugger/impl/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java b/xdebugger/impl/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java index 464e36f5e286..34a3b3daf585 100644 --- a/xdebugger/impl/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java +++ b/xdebugger/impl/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java @@ -15,8 +15,8 @@ import com.intellij.ui.ScreenUtil; import com.intellij.ui.SimpleColoredText; import com.intellij.ui.awt.RelativePoint; import com.intellij.util.ui.Tree; -import com.intellij.codeInsight.hint.HintManager; import com.intellij.codeInsight.hint.HintUtil; +import com.intellij.codeInsight.hint.HintManagerImpl; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -222,14 +222,13 @@ public abstract class AbstractValueHint { protected boolean showHint(final JComponent component) { myCurrentHint = new LightweightHint(component); - HintManager hintManager = HintManager.getInstance(); //Editor may be disposed before later invokator process this action if(getEditor().getComponent().getRootPane() == null) return false; - Point p = HintManager.getHintPosition(myCurrentHint, getEditor(), getEditor().xyToLogicalPosition(myPoint), HintManager.UNDER); - hintManager.showEditorHint(myCurrentHint, getEditor(), p, - HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | HintManager.HIDE_BY_SCROLLING, HINT_TIMEOUT, false); + Point p = HintManagerImpl.getHintPosition(myCurrentHint, getEditor(), getEditor().xyToLogicalPosition(myPoint), HintManagerImpl.UNDER); + HintManagerImpl.getInstanceImpl().showEditorHint(myCurrentHint, getEditor(), p, + HintManagerImpl.HIDE_BY_ANY_KEY | HintManagerImpl.HIDE_BY_TEXT_CHANGE | HintManagerImpl.HIDE_BY_SCROLLING, HINT_TIMEOUT, false); return true; }