@Override public void setSelectedRange(int selectionOffset, int selectionLength) { if (!redraws()) { if (fViewerState != null) fViewerState.updateSelection(selectionOffset, selectionLength); return; } if (fTextWidget == null) return; IRegion widgetSelection= modelRange2ClosestWidgetRange(new Region(selectionOffset, selectionLength)); if (widgetSelection != null) { int[] selectionRange= new int[] { widgetSelection.getOffset(), widgetSelection.getLength() }; validateSelectionRange(selectionRange); if (selectionRange[0] >= 0) { fTextWidget.setSelectionRange(selectionRange[0], selectionRange[1]); selectionChanged(selectionRange[0], selectionRange[1]); } } }
@Override public void setSelectedRange(int selectionOffset, int selectionLength) { if (!redraws()) { if (fViewerState != null) fViewerState.updateSelection(selectionOffset, selectionLength); return; } if (fTextWidget == null) return; IRegion widgetSelection= modelRange2ClosestWidgetRange(new Region(selectionOffset, selectionLength)); if (widgetSelection != null) { int[] selectionRange= new int[] { widgetSelection.getOffset(), widgetSelection.getLength() }; validateSelectionRange(selectionRange); if (selectionRange[0] >= 0) { fTextWidget.setSelectionRange(selectionRange[0], selectionRange[1]); selectionChanged(selectionRange[0], selectionRange[1]); } } }
@Override public void revealRange(int start, int length) { if (fTextWidget == null || !redraws()) return; IRegion modelRange= new Region(start, length); IRegion widgetRange= modelRange2ClosestWidgetRange(modelRange); if (widgetRange != null) { int[] range= new int[] { widgetRange.getOffset(), widgetRange.getLength() }; validateSelectionRange(range); if (range[0] >= 0) internalRevealRangeWithWorkaround(range[0], range[0] + range[1]); } else { IRegion coverage= getModelCoverage(); int cursor= (coverage == null || start < coverage.getOffset()) ? 0 : getVisibleDocument().getLength(); internalRevealRangeWithWorkaround(cursor, cursor); } }
@Override public void revealRange(int start, int length) { if (fTextWidget == null || !redraws()) return; IRegion modelRange= new Region(start, length); IRegion widgetRange= modelRange2ClosestWidgetRange(modelRange); if (widgetRange != null) { int[] range= new int[] { widgetRange.getOffset(), widgetRange.getLength() }; validateSelectionRange(range); if (range[0] >= 0) internalRevealRangeWithWorkaround(range[0], range[0] + range[1]); } else { IRegion coverage= getModelCoverage(); int cursor= (coverage == null || start < coverage.getOffset()) ? 0 : getVisibleDocument().getLength(); internalRevealRangeWithWorkaround(cursor, cursor); } }
validateSelectionRange(widgetSelection); if (widgetSelection[0] >= 0) { fTextWidget.setBlockSelectionBounds(Geometry.createRectangle(startLocation, Geometry.subtract(endLocation, startLocation)));
validateSelectionRange(widgetSelection); if (widgetSelection[0] >= 0) { fTextWidget.setBlockSelectionBounds(Geometry.createRectangle(startLocation, Geometry.subtract(endLocation, startLocation)));