/** * Tells whether the given selection is inside the text viewer's visible region. * * @param textViewer the text viewer * @param selection the selection * @return <code>true</code> if the selection is inside the text viewer's visible region * @since 3.6 */ private static boolean isSelectionInsideVisibleRegion(TextViewer textViewer, ISelection selection) { if (!(selection instanceof ITextSelection)) return false; ITextSelection textSelection= (ITextSelection)selection; IRegion visibleRegion= textViewer.getVisibleRegion(); return textSelection.getOffset() >= visibleRegion.getOffset() && textSelection.getOffset() + textSelection.getLength() <= visibleRegion.getOffset() + visibleRegion.getLength(); }
@Override public void setVisibleRegion(int start, int length) { IRegion region= getVisibleRegion(); if (start == region.getOffset() && length == region.getLength()) { // nothing to change return; } setRedraw(false); try { IDocument slaveDocument= createSlaveDocument(getVisibleDocument()); if (updateSlaveDocument(slaveDocument, start, length)) setVisibleDocument(slaveDocument); } catch (BadLocationException x) { throw new IllegalArgumentException(JFaceTextMessages.getString("TextViewer.error.invalid_visible_region_2")); //$NON-NLS-1$ } finally { setRedraw(true); } }
@Override public void setVisibleRegion(int start, int length) { IRegion region= getVisibleRegion(); if (start == region.getOffset() && length == region.getLength()) { // nothing to change return; } setRedraw(false); try { IDocument slaveDocument= createSlaveDocument(getVisibleDocument()); if (updateSlaveDocument(slaveDocument, start, length)) setVisibleDocument(slaveDocument); } catch (BadLocationException x) { throw new IllegalArgumentException(JFaceTextMessages.getString("TextViewer.error.invalid_visible_region_2")); //$NON-NLS-1$ } finally { setRedraw(true); } }
widgetCaret= 0; else if (documentCaret >= region.getOffset() + region.getLength()) widgetCaret= getVisibleRegion().getLength();
widgetCaret= 0; else if (documentCaret >= region.getOffset() + region.getLength()) widgetCaret= getVisibleRegion().getLength();