/[classpath]/classpath/javax/swing/text/AbstractDocument.java
ViewVC logotype

Diff of /classpath/javax/swing/text/AbstractDocument.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.30 by abalkiss, Wed Sep 28 20:11:10 2005 UTC revision 1.31 by abalkiss, Tue Oct 4 19:37:19 2005 UTC
# Line 519  public abstract class AbstractDocument i Line 519  public abstract class AbstractDocument i
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    
# Line 595  public abstract class AbstractDocument i Line 617  public abstract class AbstractDocument i
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    /**    /**
# Line 1775  public abstract class AbstractDocument i Line 1799  public abstract class AbstractDocument i
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.

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26