/[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.9.2.12 by tromey, Sat Nov 26 05:29:43 2005 UTC revision 1.9.2.13 by gnu_andrew, Sun Nov 27 21:00:41 2005 UTC
# Line 544  public abstract class AbstractDocument i Line 544  public abstract class AbstractDocument i
544      insertUpdate(event, attributes);      insertUpdate(event, attributes);
545      writeUnlock();      writeUnlock();
546    
547      fireInsertUpdate(event);      if (event.modified)
548          fireInsertUpdate(event);
549      if (undo != null)      if (undo != null)
550        fireUndoableEditUpdate(new UndoableEditEvent(this, undo));        fireUndoableEditUpdate(new UndoableEditEvent(this, undo));
551    }    }
# Line 672  public abstract class AbstractDocument i Line 673  public abstract class AbstractDocument i
673        new DefaultDocumentEvent(offset, length,        new DefaultDocumentEvent(offset, length,
674                                 DocumentEvent.EventType.REMOVE);                                 DocumentEvent.EventType.REMOVE);
675            
     // 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);  
       
676      removeUpdate(event);      removeUpdate(event);
677    
     Element[] added = new Element[1];  
     added[0] = root.getElement(start);  
678      boolean shouldFire = content.getString(offset, length).length() != 0;      boolean shouldFire = content.getString(offset, length).length() != 0;
679            
680      writeLock();      writeLock();
# Line 694  public abstract class AbstractDocument i Line 683  public abstract class AbstractDocument i
683            
684      postRemoveUpdate(event);      postRemoveUpdate(event);
685            
     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);  
       }  
       
686      if (shouldFire)      if (shouldFire)
687        fireRemoveUpdate(event);        fireRemoveUpdate(event);
688    }    }
# Line 1832  public abstract class AbstractDocument i Line 1810  public abstract class AbstractDocument i
1810      Hashtable changes;      Hashtable changes;
1811    
1812      /**      /**
1813         * Indicates if this event has been modified or not. This is used to
1814         * determine if this event is thrown.
1815         */
1816        boolean modified;
1817    
1818        /**
1819       * Creates a new <code>DefaultDocumentEvent</code>.       * Creates a new <code>DefaultDocumentEvent</code>.
1820       *       *
1821       * @param offset the starting offset of the change       * @param offset the starting offset of the change
# Line 1845  public abstract class AbstractDocument i Line 1829  public abstract class AbstractDocument i
1829        this.length = length;        this.length = length;
1830        this.type = type;        this.type = type;
1831        changes = new Hashtable();        changes = new Hashtable();
1832          modified = false;
1833      }      }
1834    
1835      /**      /**
# Line 1859  public abstract class AbstractDocument i Line 1844  public abstract class AbstractDocument i
1844        // XXX - Fully qualify ElementChange to work around gcj bug #2499.        // XXX - Fully qualify ElementChange to work around gcj bug #2499.
1845        if (edit instanceof DocumentEvent.ElementChange)        if (edit instanceof DocumentEvent.ElementChange)
1846          {          {
1847              modified = true;
1848            DocumentEvent.ElementChange elEdit =            DocumentEvent.ElementChange elEdit =
1849              (DocumentEvent.ElementChange) edit;              (DocumentEvent.ElementChange) edit;
1850            changes.put(elEdit.getElement(), elEdit);            changes.put(elEdit.getElement(), elEdit);
# Line 2143  public abstract class AbstractDocument i Line 2129  public abstract class AbstractDocument i
2129       */       */
2130      public String getName()      public String getName()
2131      {      {
2132        return ContentElementName;        String name = super.getName();
2133          if (name == null)
2134            name = ContentElementName;
2135          return name;
2136      }      }
2137    
2138      /**      /**

Legend:
Removed from v.1.9.2.12  
changed lines
  Added in v.1.9.2.13

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