@Override public void lineGetBackground(LineBackgroundEvent event) { // don't use cached line information because of asynchronous painting StyledText textWidget= fViewer.getTextWidget(); if (textWidget != null) { int caret= textWidget.getCaretOffset(); int length= event.lineText.length(); if (event.lineOffset <= caret && caret <= event.lineOffset + length && !hasMultiLineSelection(textWidget)) event.lineBackground= fHighlightColor; } }
@Override public void lineGetBackground(LineBackgroundEvent event) { // don't use cached line information because of asynchronous painting StyledText textWidget= fViewer.getTextWidget(); if (textWidget != null) { int caret= textWidget.getCaretOffset(); int length= event.lineText.length(); if (event.lineOffset <= caret && caret <= event.lineOffset + length && !hasMultiLineSelection(textWidget)) event.lineBackground= fHighlightColor; } }
@Override public void paint(int reason) { if (fViewer.getDocument() == null) { deactivate(false); return; } StyledText textWidget= fViewer.getTextWidget(); // check selection if (hasMultiLineSelection(textWidget)) { deactivate(true); return; } // initialization if (!fIsActive) { textWidget.addLineBackgroundListener(this); fPositionManager.managePosition(fCurrentLine); fIsActive= true; } //redraw line highlight only if it hasn't been drawn yet on the respective line if (updateHighlightLine()) { // clear last line drawHighlightLine(fLastLine); // draw new line drawHighlightLine(fCurrentLine); } }
@Override public void paint(int reason) { if (fViewer.getDocument() == null) { deactivate(false); return; } StyledText textWidget= fViewer.getTextWidget(); // check selection if (hasMultiLineSelection(textWidget)) { deactivate(true); return; } // initialization if (!fIsActive) { textWidget.addLineBackgroundListener(this); fPositionManager.managePosition(fCurrentLine); fIsActive= true; } //redraw line highlight only if it hasn't been drawn yet on the respective line if (updateHighlightLine()) { // clear last line drawHighlightLine(fLastLine); // draw new line drawHighlightLine(fCurrentLine); } }