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

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

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

revision 1.15 by rabbit78, Thu Nov 3 15:40:32 2005 UTC revision 1.16 by abalkiss, Fri Nov 4 22:50:03 2005 UTC
# Line 509  public class DefaultStyledDocument exten Line 509  public class DefaultStyledDocument exten
509      void split(Element el, int offset)      void split(Element el, int offset)
510      {      {
511        if (el instanceof AbstractElement)        if (el instanceof AbstractElement)
512          {          {
513            AbstractElement ael = (AbstractElement) el;            AbstractElement ael = (AbstractElement) el;
514            int startOffset = ael.getStartOffset();            int startOffset = ael.getStartOffset();
515            int endOffset = ael.getEndOffset();            int endOffset = ael.getEndOffset();
516            int len = endOffset - startOffset;            int len = endOffset - startOffset;
517            if (startOffset != offset && endOffset != offset)            if (startOffset != offset && endOffset != offset)
518              {              {
519                Element paragraph = ael.getParentElement();                Element paragraph = ael.getParentElement();
520                if (paragraph instanceof BranchElement)                if (paragraph instanceof BranchElement)
521                  {                  {
522                    BranchElement par = (BranchElement) paragraph;                    BranchElement par = (BranchElement) paragraph;
523                    Element child1 = createLeafElement(par, ael, startOffset,                    Element child1 = createLeafElement(par, ael, startOffset,
524                                                       offset);                                                       offset);
525                    Element child2 = createLeafElement(par, ael, offset,                    Element child2 = createLeafElement(par, ael, offset,
526                                                       endOffset);                                                       endOffset);
527                    int index = par.getElementIndex(startOffset);                    int index = par.getElementIndex(startOffset);
528            Element[] add = new Element[]{ child1, child2 };                    Element[] add = new Element[]{ child1, child2 };
529                    par.replace(index, 1, add);                    par.replace(index, 1, add);
530            documentEvent.addEdit(new ElementEdit(par, index,                    documentEvent.addEdit(new ElementEdit(par, index,
531                                                  new Element[]{ el },                                                          new Element[]{ el },
532                                                  add));                                                          add));
533                  }                  }
534                else                else
535                  throw new AssertionError("paragraph elements are expected to "                  throw new AssertionError("paragraph elements are expected to "
536                                           + "be instances of "                                           + "be instances of "
537                            + "javax.swing.text.AbstractDocument.BranchElement");                            + "javax.swing.text.AbstractDocument.BranchElement");
538              }              }
539          }          }
540        else        else
541          throw new AssertionError("content elements are expected to be "          throw new AssertionError("content elements are expected to be "
542                                   + "instances of "                                   + "instances of "
543                          + "javax.swing.text.AbstractDocument.AbstractElement");                          + "javax.swing.text.AbstractDocument.AbstractElement");
544      }      }
545    
# Line 946  public class DefaultStyledDocument exten Line 946  public class DefaultStyledDocument exten
946    {    {
947      Element element = getDefaultRootElement();      Element element = getDefaultRootElement();
948    
949      while (! element.isLeaf())      while (!element.isLeaf())
950        {        {
951          int index = element.getElementIndex(position);          int index = element.getElementIndex(position);
952          element = element.getElement(index);          element = element.getElement(index);
953        }        }
954            
955      return element;      return element;
# Line 1097  public class DefaultStyledDocument exten Line 1097  public class DefaultStyledDocument exten
1097      int paragraphCount =  root.getElementCount();      int paragraphCount =  root.getElementCount();
1098      for (int pindex = 0; pindex < paragraphCount; pindex++)      for (int pindex = 0; pindex < paragraphCount; pindex++)
1099        {        {
1100          Element paragraph = root.getElement(pindex);          Element paragraph = root.getElement(pindex);
1101          // Skip paragraphs that lie outside the interval.          // Skip paragraphs that lie outside the interval.
1102          if ((paragraph.getStartOffset() > offset + length)          if ((paragraph.getStartOffset() > offset + length)
1103              || (paragraph.getEndOffset() < offset))              || (paragraph.getEndOffset() < offset))
1104            continue;            continue;
1105    
1106          // Visit content elements within this paragraph          // Visit content elements within this paragraph
1107          int contentCount = paragraph.getElementCount();          int contentCount = paragraph.getElementCount();
1108          for (int cindex = 0; cindex < contentCount; cindex++)          for (int cindex = 0; cindex < contentCount; cindex++)
1109            {            {
1110              Element content = paragraph.getElement(cindex);              Element content = paragraph.getElement(cindex);
1111              // Skip content that lies outside the interval.              // Skip content that lies outside the interval.
1112              if ((content.getStartOffset() > offset + length)              if ((content.getStartOffset() > offset + length)
1113                  || (content.getEndOffset() < offset))                  || (content.getEndOffset() < offset))
1114                continue;                continue;
1115    
1116              if (content instanceof AbstractElement)              if (content instanceof AbstractElement)
1117                {                {
1118                  AbstractElement el = (AbstractElement) content;                  AbstractElement el = (AbstractElement) content;
1119                  if (replace)                  if (replace)
1120                    el.removeAttributes(el);                    el.removeAttributes(el);
1121                  el.addAttributes(attributes);                  el.addAttributes(attributes);
1122                }                }
1123              else              else
1124                throw new AssertionError("content elements are expected to be"                throw new AssertionError("content elements are expected to be"
1125                                         + "instances of "                                         + "instances of "
1126                         + "javax.swing.text.AbstractDocument.AbstractElement");                         + "javax.swing.text.AbstractDocument.AbstractElement");
1127            }            }
1128        }        }
1129    
1130      fireChangedUpdate(ev);      fireChangedUpdate(ev);
# Line 1195  public class DefaultStyledDocument exten Line 1195  public class DefaultStyledDocument exten
1195      catch (BadLocationException ex)      catch (BadLocationException ex)
1196        {        {
1197          AssertionError ae = new AssertionError("Unexpected bad location");          AssertionError ae = new AssertionError("Unexpected bad location");
1198          ae.initCause(ex);          ae.initCause(ex);
1199          throw ae;          throw ae;
1200        }        }
1201    
1202      int len = 0;      int len = 0;

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

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