package com.intellij.xdebugger.impl.ui; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.EditorFactory; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.editor.impl.DocumentImpl; import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.openapi.project.Project; import com.intellij.ui.EditorTextField; import org.jetbrains.annotations.NotNull; public final class TextViewer extends EditorTextField { private final boolean myEmbeddedIntoDialogWrapper; private final boolean myUseSoftWraps; public TextViewer(@NotNull Project project, boolean embeddedIntoDialogWrapper, boolean useSoftWraps) { this(createDocument(""), project, embeddedIntoDialogWrapper, useSoftWraps); } public TextViewer(@NotNull String initialText, @NotNull Project project) { this(createDocument(initialText), project, false, false); } public TextViewer(@NotNull Document document, @NotNull Project project, boolean embeddedIntoDialogWrapper, boolean useSoftWraps) { super(document, project, PlainTextFileType.INSTANCE, true, false); myEmbeddedIntoDialogWrapper = embeddedIntoDialogWrapper; myUseSoftWraps = useSoftWraps; setFontInheritedFromLAF(false); } private static Document createDocument(@NotNull String initialText) { final Document document = EditorFactory.getInstance().createDocument(initialText); if (document instanceof DocumentImpl) { ((DocumentImpl)document).setAcceptSlashR(true); } return document; } @Override protected EditorEx createEditor() { final EditorEx editor = super.createEditor(); editor.setHorizontalScrollbarVisible(true); editor.setCaretEnabled(true); editor.setVerticalScrollbarVisible(true); editor.setEmbeddedIntoDialogWrapper(myEmbeddedIntoDialogWrapper); editor.getComponent().setPreferredSize(null); editor.getSettings().setUseSoftWraps(myUseSoftWraps); return editor; } }