diff --git a/colorSchemes/src/colorSchemes/Darcula.xml b/colorSchemes/src/colorSchemes/Darcula.xml
index 203b991512b6..6025ff6f84b8 100644
--- a/colorSchemes/src/colorSchemes/Darcula.xml
+++ b/colorSchemes/src/colorSchemes/Darcula.xml
@@ -565,6 +565,11 @@
+
diff --git a/platform/platform-resources-en/src/messages/OptionsBundle.properties b/platform/platform-resources-en/src/messages/OptionsBundle.properties
index d7db66ce4590..37c44f4a6b67 100644
--- a/platform/platform-resources-en/src/messages/OptionsBundle.properties
+++ b/platform/platform-resources-en/src/messages/OptionsBundle.properties
@@ -94,6 +94,7 @@ options.java.attribute.descriptor.unmatched.brace=Unmatched brace
options.java.attribute.descriptor.bad.character=Bad character
options.java.attribute.descriptor.breakpoint.line=Breakpoint line
options.java.attribute.descriptor.execution.point=Execution point
+options.java.attribute.descriptor.not.top.frame=Not top frame
options.java.attribute.descriptor.recursive.call=Recursive calls highlighting
options.java.attribute.descriptor.annotation.name=Annotation name
options.java.attribute.descriptor.annotation.attribute.name=Annotation attribute name
diff --git a/platform/platform-resources/src/DefaultColorSchemesManager.xml b/platform/platform-resources/src/DefaultColorSchemesManager.xml
index 5ba93c94ea90..cd4763ee1eca 100644
--- a/platform/platform-resources/src/DefaultColorSchemesManager.xml
+++ b/platform/platform-resources/src/DefaultColorSchemesManager.xml
@@ -652,6 +652,12 @@
+
+
+
+
+
+
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/ui/DebuggerColors.java b/platform/xdebugger-api/src/com/intellij/xdebugger/ui/DebuggerColors.java
index 3ef5a2e88ee4..f71f8b0cf1bb 100644
--- a/platform/xdebugger-api/src/com/intellij/xdebugger/ui/DebuggerColors.java
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/ui/DebuggerColors.java
@@ -29,6 +29,7 @@ import java.awt.*;
public interface DebuggerColors {
TextAttributesKey BREAKPOINT_ATTRIBUTES = TextAttributesKey.createTextAttributesKey("BREAKPOINT_ATTRIBUTES");
TextAttributesKey EXECUTIONPOINT_ATTRIBUTES = TextAttributesKey.createTextAttributesKey("EXECUTIONPOINT_ATTRIBUTES");
+ TextAttributesKey NOT_TOP_FRAME_ATTRIBUTES = TextAttributesKey.createTextAttributesKey("NOT_TOP_FRAME_ATTRIBUTES");
ColorKey RECURSIVE_CALL_ATTRIBUTES = ColorKey.createColorKey("RECURSIVE_CALL_ATTRIBUTES", new Color(255, 255, 215));
int BREAKPOINT_HIGHLIGHTER_LAYER = HighlighterLayer.SYNTAX + 1;
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerColorsPage.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerColorsPage.java
index 617bcedf7a6a..6314a6b9f97b 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerColorsPage.java
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerColorsPage.java
@@ -53,6 +53,7 @@ public class DebuggerColorsPage implements ColorSettingsPage, DisplayPrioritySor
return new AttributesDescriptor[] {
new AttributesDescriptor(OptionsBundle.message("options.java.attribute.descriptor.breakpoint.line"), DebuggerColors.BREAKPOINT_ATTRIBUTES),
new AttributesDescriptor(OptionsBundle.message("options.java.attribute.descriptor.execution.point"), DebuggerColors.EXECUTIONPOINT_ATTRIBUTES),
+ new AttributesDescriptor(OptionsBundle.message("options.java.attribute.descriptor.not.top.frame"), DebuggerColors.NOT_TOP_FRAME_ATTRIBUTES),
};
}
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/ExecutionPointHighlighter.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/ExecutionPointHighlighter.java
index 595ec9d1651c..65a6fa82f5f9 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/ExecutionPointHighlighter.java
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/ExecutionPointHighlighter.java
@@ -48,7 +48,7 @@ public class ExecutionPointHighlighter {
private Editor myEditor;
private XSourcePosition mySourcePosition;
private OpenFileDescriptor myOpenFileDescriptor;
- private boolean myUseSelection;
+ private boolean myNotTopFrame;
private GutterIconRenderer myGutterIconRenderer;
private static final Key EXECUTION_POINT_HIGHLIGHTER_KEY = Key.create("EXECUTION_POINT_HIGHLIGHTER_KEY");
@@ -69,7 +69,7 @@ public class ExecutionPointHighlighter {
}
}
- public void show(final @NotNull XSourcePosition position, final boolean useSelection,
+ public void show(final @NotNull XSourcePosition position, final boolean notTopFrame,
@Nullable final GutterIconRenderer gutterIconRenderer) {
updateRequested.set(false);
AppUIUtil.invokeLaterIfProjectAlive(myProject, new Runnable() {
@@ -85,7 +85,7 @@ public class ExecutionPointHighlighter {
//myOpenFileDescriptor.setUseCurrentWindow(true);
myGutterIconRenderer = gutterIconRenderer;
- myUseSelection = useSelection;
+ myNotTopFrame = notTopFrame;
doShow(true);
}
@@ -170,9 +170,9 @@ public class ExecutionPointHighlighter {
adjustCounter(myEditor, -1);
}
- if (myUseSelection && myEditor != null) {
- myEditor.getSelectionModel().removeSelection();
- }
+ //if (myNotTopFrame && myEditor != null) {
+ // myEditor.getSelectionModel().removeSelection();
+ //}
if (myRangeHighlighter != null) {
myRangeHighlighter.dispose();
@@ -186,16 +186,18 @@ public class ExecutionPointHighlighter {
Document document = myEditor.getDocument();
if (line < 0 || line >= document.getLineCount()) return;
- if (myUseSelection) {
- myEditor.getSelectionModel().setSelection(document.getLineStartOffset(line), document.getLineEndOffset(line) + document.getLineSeparatorLength(line));
- return;
- }
+ //if (myNotTopFrame) {
+ // myEditor.getSelectionModel().setSelection(document.getLineStartOffset(line), document.getLineEndOffset(line) + document.getLineSeparatorLength(line));
+ // return;
+ //}
if (myRangeHighlighter != null) return;
EditorColorsScheme scheme = EditorColorsManager.getInstance().getGlobalScheme();
myRangeHighlighter = myEditor.getMarkupModel().addLineHighlighter(line, DebuggerColors.EXECUTION_LINE_HIGHLIGHTERLAYER,
- scheme.getAttributes(DebuggerColors.EXECUTIONPOINT_ATTRIBUTES));
+ myNotTopFrame
+ ? scheme.getAttributes(DebuggerColors.NOT_TOP_FRAME_ATTRIBUTES)
+ : scheme.getAttributes(DebuggerColors.EXECUTIONPOINT_ATTRIBUTES));
myRangeHighlighter.putUserData(EXECUTION_POINT_HIGHLIGHTER_KEY, true);
myRangeHighlighter.setGutterIconRenderer(myGutterIconRenderer);
}