519 |
DefaultDocumentEvent event = |
DefaultDocumentEvent event = |
520 |
new DefaultDocumentEvent(offset, text.length(), |
new DefaultDocumentEvent(offset, text.length(), |
521 |
DocumentEvent.EventType.INSERT); |
DocumentEvent.EventType.INSERT); |
522 |
content.insertString(offset, text); |
|
523 |
|
UndoableEdit temp = content.insertString(offset, text); |
524 |
|
GapContent.UndoInsertString changes = null; |
525 |
|
if (content instanceof GapContent) |
526 |
|
changes = (GapContent.UndoInsertString) temp; |
527 |
insertUpdate(event, attributes); |
insertUpdate(event, attributes); |
528 |
|
|
529 |
|
if (changes != null) |
530 |
|
{ |
531 |
|
// We need to add an ElementChange to our DocumentEvent |
532 |
|
// so let's set up the parameters |
533 |
|
Element root = getDefaultRootElement(); |
534 |
|
int start = root.getElementIndex(changes.where); |
535 |
|
int end = root.getElementIndex(changes.where+changes.length); |
536 |
|
|
537 |
|
Element[] removed = new Element[1]; |
538 |
|
removed[0] = root; |
539 |
|
Element[] added = new Element[end - start + 1]; |
540 |
|
for (int i = start; i <= end; i++) |
541 |
|
added[i - start] = root.getElement(i); |
542 |
|
|
543 |
|
ElementEdit edit = new ElementEdit(root, root.getElementIndex(changes.where), removed, added); |
544 |
|
event.addEdit(edit); |
545 |
|
} |
546 |
fireInsertUpdate(event); |
fireInsertUpdate(event); |
547 |
} |
} |
548 |
|
|
617 |
new DefaultDocumentEvent(offset, length, |
new DefaultDocumentEvent(offset, length, |
618 |
DocumentEvent.EventType.REMOVE); |
DocumentEvent.EventType.REMOVE); |
619 |
removeUpdate(event); |
removeUpdate(event); |
620 |
|
boolean shouldFire = content.getString(offset, length).length() != 0; |
621 |
content.remove(offset, length); |
content.remove(offset, length); |
622 |
postRemoveUpdate(event); |
postRemoveUpdate(event); |
623 |
fireRemoveUpdate(event); |
if (shouldFire) |
624 |
|
fireRemoveUpdate(event); |
625 |
} |
} |
626 |
|
|
627 |
/** |
/** |
1799 |
return (DocumentEvent.ElementChange) changes.get(elem); |
return (DocumentEvent.ElementChange) changes.get(elem); |
1800 |
} |
} |
1801 |
} |
} |
1802 |
|
|
1803 |
/** |
/** |
1804 |
* An implementation of {@link DocumentEvent.ElementChange} to be added |
* An implementation of {@link DocumentEvent.ElementChange} to be added |
1805 |
* to {@link DefaultDocumentEvent}s. |
* to {@link DefaultDocumentEvent}s. |