Search in sources :

Example 1 with ErrorStripeRenderer

use of com.intellij.openapi.editor.markup.ErrorStripeRenderer in project intellij-community by JetBrains.

the class TrafficLightRenderer method setOrRefreshErrorStripeRenderer.

static void setOrRefreshErrorStripeRenderer(@NotNull EditorMarkupModel editorMarkupModel, @NotNull Project project, @NotNull Document document, PsiFile file) {
    ApplicationManager.getApplication().assertIsDispatchThread();
    if (!editorMarkupModel.isErrorStripeVisible() || !DaemonCodeAnalyzer.getInstance(project).isHighlightingAvailable(file)) {
        return;
    }
    ErrorStripeRenderer renderer = editorMarkupModel.getErrorStripeRenderer();
    if (renderer instanceof TrafficLightRenderer) {
        TrafficLightRenderer tlr = (TrafficLightRenderer) renderer;
        tlr.refresh();
        ((EditorMarkupModelImpl) editorMarkupModel).repaintVerticalScrollBar();
        if (tlr.myFile == null || tlr.myFile.isValid())
            return;
        Disposer.dispose(tlr);
    }
    EditorImpl editor = (EditorImpl) editorMarkupModel.getEditor();
    if (!editor.isDisposed()) {
        renderer = new TrafficLightRenderer(project, document, file);
        Disposer.register(editor.getDisposable(), (Disposable) renderer);
        editorMarkupModel.setErrorStripeRenderer(renderer);
    }
}
Also used : ErrorStripeRenderer(com.intellij.openapi.editor.markup.ErrorStripeRenderer) EditorImpl(com.intellij.openapi.editor.impl.EditorImpl) EditorMarkupModelImpl(com.intellij.openapi.editor.impl.EditorMarkupModelImpl)

Aggregations

EditorImpl (com.intellij.openapi.editor.impl.EditorImpl)1 EditorMarkupModelImpl (com.intellij.openapi.editor.impl.EditorMarkupModelImpl)1 ErrorStripeRenderer (com.intellij.openapi.editor.markup.ErrorStripeRenderer)1