/** * Returns this presentation's default style range. The returned <code>StyleRange</code> * is relative to the start of the result window. * * @return this presentation's default style range */ public StyleRange getDefaultStyleRange() { StyleRange range= createWindowRelativeRange(fResultWindow, fDefaultRange); if (range == null) return null; return (StyleRange)range.clone(); }
if (includeRanges) { for (int i = rangeStart, j = 0; i <= rangeEnd; i += 2, j++) { newStyles[j] = (StyleRange) this.styles[i >> 1].clone(); newStyles[j].start = this.ranges[i]; newStyles[j].length = this.ranges[i + 1]; StyleRange style = newStyles[0]; if (start > style.start) { newStyles[0] = style = (StyleRange) style.clone(); style.length = style.start + style.length - start; style.start = start; newStyles[newStyles.length - 1] = style = (StyleRange) style.clone(); style.length = end - style.start + 1;
if (includeRanges) { for (int i = rangeStart, j = 0; i <= rangeEnd; i += 2, j++) { newStyles[j] = (StyleRange) this.styles[i >> 1].clone(); newStyles[j].start = this.ranges[i]; newStyles[j].length = this.ranges[i + 1]; StyleRange style = newStyles[0]; if (start > style.start) { newStyles[0] = style = (StyleRange) style.clone(); style.length = style.start + style.length - start; style.start = start; newStyles[newStyles.length - 1] = style = (StyleRange) style.clone(); style.length = end - style.start + 1;
protected StyleRange modelStyleRange2WidgetStyleRange(StyleRange range) { IRegion region= modelRange2WidgetRange(new Region(range.start, range.length)); if (region != null) { StyleRange result= (StyleRange) range.clone(); result.start= region.getOffset(); result.length= region.getLength(); return result; } return null; }
this.styles[modifyStart + 1] = (StyleRange) this.styles[modifyStart].clone(); this.styles[modifyStart + 1].length = this.styles[modifyStart].start + this.styles[modifyStart].length - end; this.styles[modifyStart + 1].start = start + newCharCount;
this.styles[modifyStart + 1] = (StyleRange) this.styles[modifyStart].clone(); this.styles[modifyStart + 1].length = this.styles[modifyStart].start + this.styles[modifyStart].length - end; this.styles[modifyStart + 1].start = start + newCharCount;
/** * Returns a style range which is relative to the specified window and * appropriately clipped if necessary. The original style range is not * modified. * * @param window the reference window * @param range the absolute range * @return the window relative range based on the absolute range */ private StyleRange createWindowRelativeRange(IRegion window, StyleRange range) { if (window == null || range == null) return range; int start= range.start - window.getOffset(); if (start < 0) start= 0; int rangeEnd= range.start + range.length; int windowEnd= window.getOffset() + window.getLength(); int end= (rangeEnd > windowEnd ? windowEnd : rangeEnd); end -= window.getOffset(); StyleRange newRange= (StyleRange) range.clone(); newRange.start= start; newRange.length= end - start; return newRange; }
style = mergeStyles[mergeCount++] = (StyleRange) style.clone(); style.length = newStart - style.start; style = this.styles[modifyEnd]; if (style.start < newEnd && newEnd < style.start + style.length) { style = mergeStyles[mergeCount++] = (StyleRange) style.clone(); style.length += style.start - newEnd; style.start = newEnd;
style = mergeStyles[mergeCount++] = (StyleRange) style.clone(); style.length = newStart - style.start; style = this.styles[modifyEnd]; if (style.start < newEnd && newEnd < style.start + style.length) { style = mergeStyles[mergeCount++] = (StyleRange) style.clone(); style.length += style.start - newEnd; style.start = newEnd;