Exemplo n.º 1
0
        internal override void VisitDocumentElements(DocumentElements elements)
        {
#if true
            // New version without sorted list
            int count = elements.Count;
            for (int idx = 0; idx < count; ++idx)
            {
                Paragraph paragraph = elements[idx] as Paragraph;
                if (paragraph != null)
                {
                    Paragraph[] paragraphs = paragraph.SplitOnParaBreak();
                    if (paragraphs != null)
                    {
                        foreach (Paragraph para in paragraphs)
                        {
                            elements.InsertObject(idx++, para);
                            ++count;
                        }
                        elements.RemoveObjectAt(idx--);
                        --count;
                    }
                }
            }
#else
            SortedList splitParaList = new SortedList();

            for (int idx = 0; idx < elements.Count; ++idx)
            {
                Paragraph paragraph = elements[idx] as Paragraph;
                if (paragraph != null)
                {
                    Paragraph[] paragraphs = paragraph.SplitOnParaBreak();
                    if (paragraphs != null)
                    {
                        splitParaList.Add(idx, paragraphs);
                    }
                }
            }

            int insertedObjects = 0;
            for (int idx = 0; idx < splitParaList.Count; ++idx)
            {
                int         insertPosition = (int)splitParaList.GetKey(idx);
                Paragraph[] paragraphs     = (Paragraph[])splitParaList.GetByIndex(idx);
                foreach (Paragraph paragraph in paragraphs)
                {
                    elements.InsertObject(insertPosition + insertedObjects, paragraph);
                    ++insertedObjects;
                }
                elements.RemoveObjectAt(insertPosition + insertedObjects);
                --insertedObjects;
            }
#endif
        }
Exemplo n.º 2
0
    internal override void VisitDocumentElements(DocumentElements elements)
    {
      SortedList splitParaList = new SortedList();

      for (int idx = 0; idx < elements.Count; ++idx)
      {
        Paragraph paragraph = elements[idx] as Paragraph;
        if (paragraph != null)
        {
          Paragraph[] paragraphs = paragraph.SplitOnParaBreak();
          if (paragraphs != null)
            splitParaList.Add(idx, paragraphs);
        }
      }

      int insertedObjects = 0;
      for (int idx = 0; idx < splitParaList.Count; ++idx)
      {
        int insertPosition = (int)splitParaList.GetKey(idx);
        Paragraph[] paragraphs = (Paragraph[])splitParaList.GetByIndex(idx);
        foreach (Paragraph paragraph in paragraphs)
        {
          elements.InsertObject(insertPosition + insertedObjects, paragraph);
          ++insertedObjects;
        }
        elements.RemoveObjectAt(insertPosition + insertedObjects);
        --insertedObjects;
      }
    }
Exemplo n.º 3
0
        internal override void VisitDocumentElements(DocumentElements elements)
        {
            SortedList splitParaList = new SortedList();

            for (int idx = 0; idx < elements.Count; ++idx)
            {
                Paragraph paragraph = elements[idx] as Paragraph;
                if (paragraph != null)
                {
                    Paragraph[] paragraphs = paragraph.SplitOnParaBreak();
                    if (paragraphs != null)
                    {
                        splitParaList.Add(idx, paragraphs);
                    }
                }
            }

            int insertedObjects = 0;

            for (int idx = 0; idx < splitParaList.Count; ++idx)
            {
                int         insertPosition = (int)splitParaList.GetKey(idx);
                Paragraph[] paragraphs     = (Paragraph[])splitParaList.GetByIndex(idx);
                foreach (Paragraph paragraph in paragraphs)
                {
                    elements.InsertObject(insertPosition + insertedObjects, paragraph);
                    ++insertedObjects;
                }
                elements.RemoveObjectAt(insertPosition + insertedObjects);
                --insertedObjects;
            }
        }
Exemplo n.º 4
0
        internal override void VisitDocumentElements(DocumentElements elements)
        {
#if true
            // New version without sorted list
            int count = elements.Count;
            for (int idx = 0; idx < count; ++idx)
            {
                Paragraph paragraph = elements[idx] as Paragraph;
                if (paragraph != null)
                {
                    Paragraph[] paragraphs = paragraph.SplitOnParaBreak();
                    if (paragraphs != null)
                    {
                        foreach (Paragraph para in paragraphs)
                        {
                            elements.InsertObject(idx++, para);
                            ++count;
                        }
                        elements.RemoveObjectAt(idx--);
                        --count;
                    }
                }
            }
#else
      SortedList splitParaList = new SortedList();

      for (int idx = 0; idx < elements.Count; ++idx)
      {
        Paragraph paragraph = elements[idx] as Paragraph;
        if (paragraph != null)
        {
          Paragraph[] paragraphs = paragraph.SplitOnParaBreak();
          if (paragraphs != null)
            splitParaList.Add(idx, paragraphs);
        }
      }

      int insertedObjects = 0;
      for (int idx = 0; idx < splitParaList.Count; ++idx)
      {
        int insertPosition = (int)splitParaList.GetKey(idx);
        Paragraph[] paragraphs = (Paragraph[])splitParaList.GetByIndex(idx);
        foreach (Paragraph paragraph in paragraphs)
        {
          elements.InsertObject(insertPosition + insertedObjects, paragraph);
          ++insertedObjects;
        }
        elements.RemoveObjectAt(insertPosition + insertedObjects);
        --insertedObjects;
      }
#endif
        }