fSource.replace(offset, length, text);
@Override public void replace(int offset, int length, String text) { if (fTextStore != fModifiableTextStore) { String content= fTextStore.get(0, fTextStore.getLength()); fTextStore= fModifiableTextStore; fTextStore.set(content); } fTextStore.replace(offset, length, text); }
@Override public void replace(int offset, int length, String text) { if (fTextStore != fModifiableTextStore) { String content= fTextStore.get(0, fTextStore.getLength()); fTextStore= fModifiableTextStore; fTextStore.set(content); } fTextStore.replace(offset, length, text); }
@Override public void replace(int offset, int length, String text) { if (text == null) text= ""; //$NON-NLS-1$ if (fReplaceList.size() == 0) { fReplaceList.add(new Replace(offset, offset, length, text)); } else { Replace firstReplace= fReplaceList.getFirst(); Replace lastReplace= fReplaceList.getLast(); // backward if (offset + length <= firstReplace.newOffset) { int delta= text.length() - length; if (delta != 0) { for (Replace replace : fReplaceList) { replace.newOffset += delta; } } fReplaceList.addFirst(new Replace(offset, offset, length, text)); // forward } else if (offset >= lastReplace.newOffset + lastReplace.text.length()) { int delta= getDelta(lastReplace); fReplaceList.add(new Replace(offset - delta, offset, length, text)); } else if (ASSERT_SEQUENTIALITY) { throw new IllegalArgumentException(); } else { commit(); fSource.replace(offset, length, text); } } }
@Override public void replace(int pos, int length, String text, long modificationStamp) throws BadLocationException { if ((0 > pos) || (0 > length) || (pos + length > getLength())) throw new BadLocationException(); DocumentEvent e= new DocumentEvent(this, pos, length, text); fireDocumentAboutToBeChanged(e); getStore().replace(pos, length, text); getTracker().replace(pos, length, text); fModificationStamp= modificationStamp; fNextModificationStamp= Math.max(fModificationStamp, fNextModificationStamp); e.fModificationStamp= fModificationStamp; fireDocumentChanged(e); }
@Override public void replace(int pos, int length, String text, long modificationStamp) throws BadLocationException { if ((0 > pos) || (0 > length) || (pos + length > getLength())) throw new BadLocationException(); DocumentEvent e= new DocumentEvent(this, pos, length, text); fireDocumentAboutToBeChanged(e); getStore().replace(pos, length, text); getTracker().replace(pos, length, text); fModificationStamp= modificationStamp; fNextModificationStamp= Math.max(fModificationStamp, fNextModificationStamp); e.fModificationStamp= fModificationStamp; fireDocumentChanged(e); }