void () { assertIsDispatchThread(); clearSettingsCache(); reinitDocumentIndentOptions(); for (EditorColorsScheme scheme = myScheme; scheme instanceof DelegateColorScheme; scheme = ((DelegateColorScheme)scheme).getDelegate()) { if (scheme instanceof MyColorSchemeDelegate) { ((MyColorSchemeDelegate)scheme).updateGlobalScheme(); break; } } boolean softWrapsUsedBefore = mySoftWrapModel.isSoftWrappingEnabled(); mySettings.reinitSettings(); mySoftWrapModel.reinitSettings(); myCaretModel.reinitSettings(); mySelectionModel.reinitSettings(); ourCaretBlinkingCommand.setBlinkCaret(mySettings.isBlinkCaret()); ourCaretBlinkingCommand.setBlinkPeriod(mySettings.getCaretBlinkPeriod()); if (myUseNewRendering) { myView.reinitSettings(); } else { mySizeContainer.reset(); } myFoldingModel.rebuild(); if (softWrapsUsedBefore ^ mySoftWrapModel.isSoftWrappingEnabled()) { mySizeContainer.reset(); validateSize(); } myHighlighter.setColorScheme(myScheme); myFoldingModel.refreshSettings(); myGutterComponent.reinitSettings(); myGutterComponent.revalidate(); myEditorComponent.repaint(); initTabPainter(); updateCaretCursor(); if (myInitialMouseEvent != null) { myIgnoreMouseEventsConsecutiveToInitial = true; } myCaretModel.updateVisualPosition(); // make sure carets won't appear at invalid positions (e.g. on Tab width change) for (Caret caret : getCaretModel().getAllCarets()) { caret.moveToOffset(caret.getOffset()); } }