672 |
new DefaultDocumentEvent(offset, length, |
new DefaultDocumentEvent(offset, length, |
673 |
DocumentEvent.EventType.REMOVE); |
DocumentEvent.EventType.REMOVE); |
674 |
|
|
|
// Here we set up the parameters for an ElementChange, if one |
|
|
// needs to be added to the DocumentEvent later |
|
|
Element root = getDefaultRootElement(); |
|
|
int start = root.getElementIndex(offset); |
|
|
int end = root.getElementIndex(offset + length); |
|
|
|
|
|
Element[] removed = new Element[end - start + 1]; |
|
|
for (int i = start; i <= end; i++) |
|
|
removed[i - start] = root.getElement(i); |
|
|
|
|
675 |
removeUpdate(event); |
removeUpdate(event); |
676 |
|
|
|
Element[] added = new Element[1]; |
|
|
added[0] = root.getElement(start); |
|
677 |
boolean shouldFire = content.getString(offset, length).length() != 0; |
boolean shouldFire = content.getString(offset, length).length() != 0; |
678 |
|
|
679 |
writeLock(); |
writeLock(); |
682 |
|
|
683 |
postRemoveUpdate(event); |
postRemoveUpdate(event); |
684 |
|
|
|
GapContent.UndoRemove changes = null; |
|
|
if (content instanceof GapContent) |
|
|
changes = (GapContent.UndoRemove) temp; |
|
|
|
|
|
if (changes != null && !(start == end)) |
|
|
{ |
|
|
// We need to add an ElementChange to our DocumentEvent |
|
|
ElementEdit edit = new ElementEdit (root, start, removed, added); |
|
|
event.addEdit(edit); |
|
|
} |
|
|
|
|
685 |
if (shouldFire) |
if (shouldFire) |
686 |
fireRemoveUpdate(event); |
fireRemoveUpdate(event); |
687 |
} |
} |