mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ability to disable debugger value lookup
This commit is contained in:
@@ -19,6 +19,7 @@ package com.intellij.xdebugger;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -109,6 +110,11 @@ public abstract class XDebuggerUtil {
|
||||
*/
|
||||
public abstract void iterateLine(@NotNull Project project, @NotNull Document document, int line, @NotNull Processor<PsiElement> processor);
|
||||
|
||||
/**
|
||||
* Disable value lookup in specified editor
|
||||
*/
|
||||
public abstract void disableValueLookup(@NotNull Editor editor);
|
||||
|
||||
@Nullable
|
||||
public abstract PsiElement findContextElement(@NotNull VirtualFile virtualFile, int offset, @NotNull Project project, boolean checkXml);
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ import com.intellij.xdebugger.frame.XSuspendContext;
|
||||
import com.intellij.xdebugger.frame.XValueContainer;
|
||||
import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil;
|
||||
import com.intellij.xdebugger.impl.breakpoints.ui.grouping.XBreakpointFileGroupingRule;
|
||||
import com.intellij.xdebugger.impl.evaluate.quick.common.ValueLookupManager;
|
||||
import com.intellij.xdebugger.impl.settings.XDebuggerSettingsManager;
|
||||
import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase;
|
||||
import com.intellij.xdebugger.settings.XDebuggerSettings;
|
||||
@@ -338,4 +339,9 @@ public class XDebuggerUtilImpl extends XDebuggerUtil {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disableValueLookup(@NotNull Editor editor) {
|
||||
ValueLookupManager.DISABLE_VALUE_LOOKUP.set(editor, Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
+7
-1
@@ -27,6 +27,7 @@ import com.intellij.openapi.editor.event.EditorMouseEvent;
|
||||
import com.intellij.openapi.editor.event.EditorMouseEventArea;
|
||||
import com.intellij.openapi.editor.event.EditorMouseMotionListener;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.util.Alarm;
|
||||
import com.intellij.xdebugger.impl.DebuggerSupport;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -34,6 +35,11 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.awt.*;
|
||||
|
||||
public class ValueLookupManager implements EditorMouseMotionListener {
|
||||
/**
|
||||
* @see com.intellij.xdebugger.XDebuggerUtil#disableValueLookup(com.intellij.openapi.editor.Editor)
|
||||
*/
|
||||
public static final Key<Boolean> DISABLE_VALUE_LOOKUP = Key.create("DISABLE_VALUE_LOOKUP");
|
||||
|
||||
private final Project myProject;
|
||||
private final Alarm myAlarm;
|
||||
private AbstractValueHint myRequest = null;
|
||||
@@ -68,7 +74,7 @@ public class ValueLookupManager implements EditorMouseMotionListener {
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getArea() != EditorMouseEventArea.EDITING_AREA) {
|
||||
if (e.getArea() != EditorMouseEventArea.EDITING_AREA || DISABLE_VALUE_LOOKUP.get(editor) == Boolean.TRUE) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user