コード例 #1
0
ファイル: RedlineDocument.cs プロジェクト: killbug2004/WSProf
        internal static DocObject ConstructNewContentHandler(string nodeLocalName, DocObjectWithContent parent)
        {
            switch (nodeLocalName)
            {
                case ParaMarker.nodeName:
                    return new ParaMarker(parent);
                case Change.nodeName:
                    return new Change(parent);
                case TextRun.nodeName:
                    return new TextRun(parent);
                case Field.nodeName:
                    return new Field(parent);
                case FootNote.nodeName:
                    return new FootNote(parent);
                case EndNote.nodeName:
                    return new EndNote(parent);
                case Table.nodeName:
                    return new Table(parent);
                case Bookmark.nodeName:
                    return new Bookmark(parent);
                case Pict.nodeName:
                    return new Pict(parent);
                case Blob.nodeName:
                    return new Blob(parent);
                case Shape.nodeName:
                    return new Shape(parent);
                case Textbox.nodeName:
                    return new Textbox(parent);
                case Comment.nodeName:
                    return new Comment(parent);

                default:
                    return null;
            }
        }
コード例 #2
0
        private bool ProcessCollection(DocObjectWithContent dowc, int startIndex)
        {
            for (int i = startIndex; i < dowc.Content.Count; i++)
            {
                if (!ProcessItem(dowc.Content[i]))
                    return false;
            }

            return true;
        }
コード例 #3
0
 private void ProcessContainer(DocObjectWithContent dowc)
 {
     _counter.StartItem(dowc);
     foreach (DocObject dobj in dowc.Content)
     {
         dobj.RedlineCharPos = _counter.CurrentPosition;
         if (dobj is DocObjectWithContent)
         {
             ProcessContainer(dobj as DocObjectWithContent);
         }
         else
         {
             ProcessItem(dobj);
         }
     }
     _counter.EndItem(dowc);
 }
コード例 #4
0
ファイル: Shape.cs プロジェクト: killbug2004/WSProf
        public Shape(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #5
0
 private void ProcessSubItems(DocObjectWithContent docObjectWithContent)
 {
     foreach (DocObject item in docObjectWithContent.Content)
     {
         ProcessDocObject(item);
     }
 }
コード例 #6
0
ファイル: SummaryItem.cs プロジェクト: killbug2004/WSProf
 private bool? FindRTLInSubObjects(DocObjectWithContent dowc)
 {
     foreach (DocObject dobj in dowc.Content)
     {
         if (dobj is TextRun)
         {
             m_bRightToLeft = (dobj as TextRun).RTL;
         }
         else if (dobj is DocObjectWithContent)
         {
             m_bRightToLeft = FindRTLInSubObjects(dobj as DocObjectWithContent);
         }
         if (m_bRightToLeft.HasValue)
             return m_bRightToLeft.Value;
     }
     return null;
 }
コード例 #7
0
 protected DocObjectWithContent(DocObjectWithContent parent)
     : base(parent)
 {
 }
コード例 #8
0
ファイル: Section.cs プロジェクト: killbug2004/WSProf
 public Section(DocObjectWithContent parent)
     : base(parent)
 {
 }
 private string GetText(DocObjectWithContent dowc)
 {
     StringBuilder bld = new StringBuilder();
     dowc.GetInnerText(bld);
     return bld.ToString();
 }
コード例 #10
0
ファイル: Change.cs プロジェクト: killbug2004/WSProf
        public Change(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #11
0
 public ChangeableStructure(DocObjectWithContent parent) : base (parent)
 {
     
 }
コード例 #12
0
ファイル: ParaMarker.cs プロジェクト: killbug2004/WSProf
 public ParaMarker(DocObjectWithContent parent)
     : base(parent)
 {
 }
コード例 #13
0
ファイル: DocObject.cs プロジェクト: killbug2004/WSProf
 protected DocObject(DocObjectWithContent parent)
 {
     Parent = parent;
     _isFirst = true;
 }
コード例 #14
0
ファイル: FieldInst.cs プロジェクト: killbug2004/WSProf
 public FieldInst(DocObjectWithContent parent)
     : base(parent)
 {
 }
コード例 #15
0
ファイル: Row.cs プロジェクト: killbug2004/WSProf
        public Row(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #16
0
ファイル: Pict.cs プロジェクト: killbug2004/WSProf
        public Pict(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #17
0
        private void ProcessCollection(DocObjectWithContent dowc, bool passTextToStateMachine)
        {
            if (SummaryItemBuilder.StartsNewContext(dowc))
                DispatchContextChangeChar();

            _location.PushCollection(dowc);

            if (SummaryItemBuilder.StartsNewContext(dowc))
                ResetAndDispatchContextChangeChar();


            foreach (DocObject dobj in dowc.Content)
            {
                if (ContextExcluder != null && ContextExcluder(dobj))
                {
                    _location.IncrementChildCount();
                    continue;
                }

                if (dobj is Change)
                {
                    Change ch = dobj as Change;
                    if (ChangeTypeSelector == null || ChangeTypeSelector(ch.Type))
                    {
                        ProcessCollection(ch, passTextToStateMachine);
                    }
                    else
                    {
                        ProcessCollection(ch, false);
                    }
                }
                else if (dobj is DocObjectWithContent)
                {
                    ProcessCollection(dobj as DocObjectWithContent, passTextToStateMachine);
                }
                else if (dobj is TextRun)
                {
                    if (passTextToStateMachine)
                    {
                        ProcessText(dobj as TextRun);
                    }
                    else
                    {
                        _location.RedlineCharPos += (dobj as TextRun).Content.Length;
                    }
                }
                else if (dobj is ParaMarker)
                {
                    HandleChar('\r');
                    _location.RedlineCharPos--;
                }
                else
                {
                    Reset();
                }
                _location.IncrementChildCount();
            }

            if (SummaryItemBuilder.StartsNewContext(dowc))
                DispatchContextChangeChar();

            _location.PopCollection();

            if (SummaryItemBuilder.StartsNewContext(dowc))
                ResetAndDispatchContextChangeChar();

        }
コード例 #18
0
ファイル: Bookmark.cs プロジェクト: killbug2004/WSProf
        public Bookmark(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #19
0
ファイル: Comment.cs プロジェクト: killbug2004/WSProf
        public Comment(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #20
0
ファイル: EndNote.cs プロジェクト: killbug2004/WSProf
        public EndNote(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #21
0
ファイル: FieldResult.cs プロジェクト: killbug2004/WSProf
 public FieldResult(DocObjectWithContent parent)
     : base(parent)
 {
 }
コード例 #22
0
 public HighlightedTextRun(DocObjectWithContent parent)
     : base(parent)
 {
 }
コード例 #23
0
ファイル: Textbox.cs プロジェクト: killbug2004/WSProf
        public Textbox(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #24
0
ファイル: FootNote.cs プロジェクト: killbug2004/WSProf
        public FootNote(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #25
0
 private void AddContentToSummaryItem(DocObjectWithContent dowc, int index)
 {
     ProcessCollection(dowc, index);
 }
コード例 #26
0
ファイル: Blob.cs プロジェクト: killbug2004/WSProf
        public Blob(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #27
0
ファイル: HeaderFooter.cs プロジェクト: killbug2004/WSProf
        public HeaderFooter(DocObjectWithContent parent)
            : base(parent)
        {

        }
コード例 #28
0
ファイル: Table.cs プロジェクト: killbug2004/WSProf
 public Table(DocObjectWithContent parent)
     : base(parent)
 {
 }