diff --git a/platform/platform-impl/src/com/intellij/ui/EditorTextField.java b/platform/platform-impl/src/com/intellij/ui/EditorTextField.java index 68f9f4c2480e..b3773ff5329d 100644 --- a/platform/platform-impl/src/com/intellij/ui/EditorTextField.java +++ b/platform/platform-impl/src/com/intellij/ui/EditorTextField.java @@ -652,12 +652,7 @@ public class EditorTextField extends NonOpaquePanel implements EditorTextCompone super.setEnabled(enabled); setFocusTraversalPolicyProvider(enabled); setViewerEnabled(enabled); - EditorEx editor = myEditor; - if (editor != null) { - releaseEditor(editor); - initEditor(); - revalidate(); - } + resetEditor(); } } @@ -665,10 +660,28 @@ public class EditorTextField extends NonOpaquePanel implements EditorTextCompone myIsViewer = !enabled; } + private void resetEditor() { + final EditorEx editor = myEditor; + + if (editor != null) { + releaseEditor(editor); + initEditor(); + revalidate(); + } + } + public boolean isViewer() { return myIsViewer; } + public void setViewer(boolean viewer) { + if (myIsViewer != viewer) { + myIsViewer = viewer; + + resetEditor(); + } + } + @Override public Color getBackground() { Color color = getBackgroundColor(isEnabled(), EditorColorsUtil.getGlobalOrDefaultColorScheme());