From fbeda14f0329d4e18277de42115213b42909c2c9 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 17 Apr 2014 10:55:57 +0200 Subject: [PATCH] WEB-11238 Live Console: avoid overlapping for the error and link to the file --- .../console/LanguageConsoleBuilder.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleBuilder.java b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleBuilder.java index 5fdfe18f8b10..84f6e99cbc92 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleBuilder.java +++ b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleBuilder.java @@ -11,7 +11,9 @@ import com.intellij.openapi.editor.ex.DocumentEx; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.editor.ex.RangeHighlighterEx; import com.intellij.openapi.editor.impl.EditorComponentImpl; +import com.intellij.openapi.editor.impl.SoftWrapModelImpl; import com.intellij.openapi.editor.impl.event.MarkupModelListener; +import com.intellij.openapi.editor.impl.softwrap.mapping.SoftWrapApplianceManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Conditions; @@ -218,10 +220,20 @@ public final class LanguageConsoleBuilder { return; } - editor.setHorizontalScrollbarVisible(true); - final ConsoleGutterComponent lineStartGutter = new ConsoleGutterComponent(editor, gutterContentProvider, true); final ConsoleGutterComponent lineEndGutter = new ConsoleGutterComponent(editor, gutterContentProvider, false); + + editor.getSoftWrapModel().forceAdditionalColumnsUsage(); + ((SoftWrapModelImpl)editor.getSoftWrapModel()).getApplianceManager().setWidthProvider(new SoftWrapApplianceManager.VisibleAreaWidthProvider() { + @Override + public int getVisibleAreaWidth() { + int guttersWidth = lineEndGutter.getPreferredSize().width + lineStartGutter.getPreferredSize().width; + EditorEx editor = getHistoryViewer(); + return editor.getScrollingModel().getVisibleArea().width - guttersWidth; + } + }); + editor.setHorizontalScrollbarVisible(true); + JLayeredPane layeredPane = new JBLayeredPane() { @Override public Dimension getPreferredSize() {