diff options
| author | Stephan Wahlbrink | 2021-12-16 14:11:28 +0000 |
|---|---|---|
| committer | Stephan Wahlbrink | 2021-12-16 14:50:38 +0000 |
| commit | 0c949982e7ce89a1d5a27b9ba7cc15c2817f745d (patch) | |
| tree | 8961858ddc3c12935a48e44facd322b9cf7d61b2 | |
| parent | 279c1526f9cff807d7dcbd206ca31223617aaada (diff) | |
| download | org.eclipse.statet-r-0c949982e7ce89a1d5a27b9ba7cc15c2817f745d.tar.gz org.eclipse.statet-r-0c949982e7ce89a1d5a27b9ba7cc15c2817f745d.tar.xz org.eclipse.statet-r-0c949982e7ce89a1d5a27b9ba7cc15c2817f745d.zip | |
Bug 577851: [NiConsole] Fix custom colors of output viewer overwritten
by CSS styling
- Add nullable annotations to OutputViewer
Change-Id: I256f2ce0191ca0ae89f1f0b9e1c3cc963484c6d9
| -rw-r--r-- | r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/OutputViewer.java | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/OutputViewer.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/OutputViewer.java index 71338b9a..2eabc793 100644 --- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/OutputViewer.java +++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/OutputViewer.java @@ -25,9 +25,15 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.ui.console.TextConsole; import org.eclipse.ui.console.TextConsoleViewer; +import org.eclipse.statet.jcommons.lang.NonNullByDefault; +import org.eclipse.statet.jcommons.lang.Nullable; + import org.eclipse.statet.ecommons.ui.util.UIAccess; +import org.eclipse.statet.ltk.ui.sourceediting.swt.EnhStyledText; + +@NonNullByDefault public class OutputViewer extends TextConsoleViewer { @@ -36,7 +42,7 @@ public class OutputViewer extends TextConsoleViewer { */ private boolean autoScroll= true; - private IDocumentListener documentListener; + private @Nullable IDocumentListener documentListener; public OutputViewer(final Composite parent, final TextConsole console) { @@ -54,7 +60,7 @@ public class OutputViewer extends TextConsoleViewer { } @Override - public void setDocument(final IDocument document) { + public void setDocument(final @Nullable IDocument document) { final IDocument oldDocument= getDocument(); if (oldDocument != null) { oldDocument.removeDocumentListener(getDocumentListener()); @@ -68,8 +74,9 @@ public class OutputViewer extends TextConsoleViewer { } private IDocumentListener getDocumentListener() { - if (this.documentListener == null) { - this.documentListener= new IDocumentListener() { + var documentListener= this.documentListener; + if (documentListener == null) { + documentListener= new IDocumentListener() { @Override public void documentAboutToBeChanged(final DocumentEvent event) { } @@ -81,8 +88,14 @@ public class OutputViewer extends TextConsoleViewer { } } }; + this.documentListener= documentListener; } - return this.documentListener; + return documentListener; + } + + @Override + protected StyledText createTextWidget(final Composite parent, final int styles) { + return EnhStyledText.forSourceEditor(parent, styles); } @Override @@ -92,10 +105,10 @@ public class OutputViewer extends TextConsoleViewer { @Override public void run() { final StyledText textWidget= getTextWidget(); - if (!UIAccess.isOkToUse(textWidget)) { + if (textWidget == null || !UIAccess.isOkToUse(textWidget)) { return; } - final AbstractDocument document= (AbstractDocument) getDocument(); + final AbstractDocument document= (AbstractDocument)getDocument(); final long timestamp= document.getModificationStamp(); final int lineCount= textWidget.getLineCount(); final int lineToShow= ((lineCount > 1 && |
