Exemplo n.º 1
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            switch (revisionMarker.Properties.RevisionType)
            {
            case RevisionType.Delete:
            {
                //ignore
            } break;

            case RevisionType.Insert:
            {
                VisitChildren(revisionMarker);
            } break;

            case RevisionType.Unchanged:
            {
                VisitChildren(revisionMarker);
            } break;

            case RevisionType.FeedbackComment:
                break;

            case RevisionType.FeedbackAdded:
                break;

            case RevisionType.FeedbackDeleted:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        private void DeleteNode(IAbstractMarkupData node)
        {
            //Remove node from tree
            int index = node.IndexInParent;
            IAbstractMarkupDataContainer parent = node.Parent;

            node.RemoveFromParent();

            //If this is a deleted revision marker then no more processing is required
            IRevisionMarker revisionMarker = node as IRevisionMarker;

            if (revisionMarker != null)
            {
                if (revisionMarker.Properties.RevisionType == revisionTypeToIgnore)
                {
                    return;
                }
            }

            //If a comment or inserted revision then copy children to parent at the index location of the original node we have removed
            IAbstractMarkupDataContainer container = node as IAbstractMarkupDataContainer;

            if (container.Count() > 0)
            {
                container.MoveItemsTo(parent, index, 0, container.Count());
            }
        }
 /// <summary>
 ///   All revisions are marker to be deleted but we must visit the children of non-deleted revision markers
 ///   in case the revisions contains further comment nodes that need removing.
 /// </summary>
 /// <param name="revisionMarker"></param>
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     nodesToDelete.Add(revisionMarker);
     if (revisionMarker.Properties.RevisionType != revisionTypeToIgnore)
     {
         VisitChildren(revisionMarker);
     }
 }
Exemplo n.º 4
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            if (FoundElement != null)
            {
                return;
            }

            VisitChildren(revisionMarker);
        }
Exemplo n.º 5
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            HasRevisions = true;

            if (revisionMarker.Properties.RevisionType == RevisionType.Insert ||
                revisionMarker.Properties.RevisionType == RevisionType.FeedbackAdded)
            {
                VisitChilderen(revisionMarker);
            }
        }
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            var newRevisionMarker = CreateRevisionOrFeedback(revisionMarker.Properties);

            _currentContainer.Add(newRevisionMarker);
            _currentContainer = newRevisionMarker;

            VisitChildElements(revisionMarker);

            _currentContainer = newRevisionMarker.Parent;
        }
Exemplo n.º 7
0
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     //don't add delete revisions
     if (revisionMarker.Properties.RevisionType != RevisionType.Delete)
     {
         foreach (var item in revisionMarker.AllSubItems)
         {
             item.AcceptVisitor(this);
         }
     }
 }
Exemplo n.º 8
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            var newRevisionMarker = CreateRevisionOrFeedback(revisionMarker.Properties);

            _currentContainer.Add(newRevisionMarker);
            _currentContainer = newRevisionMarker;

            VisitChildElements(revisionMarker);

            _currentContainer = newRevisionMarker.Parent;
        }
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            var revisionMarker2 = CreateRevisionOrFeedback(revisionMarker.Properties);

            _currentContainer.Add(revisionMarker2);
            _currentContainer = revisionMarker2;
            foreach (var current in revisionMarker)
            {
                current.AcceptVisitor(this);
            }
            _currentContainer = revisionMarker2.Parent;
        }
Exemplo n.º 10
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            if (revisionMarker.Properties.Date != null)
            {
                var uniqueId = revisionMarker.Properties.Date.Value.Ticks + "." + revisionMarker.Properties.RevisionType;

                if (!RevisionMarkersUniqueIds.Contains(uniqueId))
                {
                    RevisionMarkersUniqueIds.Add(uniqueId);
                    IsRevisionMarker = true;
                }
                else
                {
                    IsRevisionMarker = false;
                }


                switch (revisionMarker.Properties.RevisionType)
                {
                case RevisionType.Delete:
                {
                    if (IsRevisionMarker)
                    {
                        RevisionMarker = new RevisionMarker(uniqueId, revisionMarker.Properties.Author, (DateTime)revisionMarker.Properties.Date, RevisionMarker.RevisionType.Delete);
                        VisitChildren(revisionMarker);
                    }
                    else
                    {
                        RevisionMarker = null;
                    }
                } break;

                case RevisionType.Insert:
                {
                    RevisionMarker = IsRevisionMarker ? new RevisionMarker(uniqueId, revisionMarker.Properties.Author, (DateTime)revisionMarker.Properties.Date, RevisionMarker.RevisionType.Insert) : null;

                    VisitChildren(revisionMarker);
                } break;

                case RevisionType.Unchanged:
                {
                    RevisionMarker = IsRevisionMarker ? new RevisionMarker(uniqueId, revisionMarker.Properties.Author, (DateTime)revisionMarker.Properties.Date, RevisionMarker.RevisionType.Unchanged) : null;

                    VisitChildren(revisionMarker);
                } break;
                }
            }

            IsRevisionMarker = false;
        }
Exemplo n.º 11
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            var revisionMarkerTokenStart = new Token(Token.TokenType.RevisionMarker)
            {
                Author = revisionMarker.Properties.Author
            };

            if (revisionMarker.Properties.Date != null)
            {
                revisionMarkerTokenStart.Date = (DateTime)revisionMarker.Properties.Date;
            }

            switch (revisionMarker.Properties.RevisionType)
            {
            case RevisionType.Delete:
                revisionMarkerTokenStart.RevisionType = Token.RevisionMarkerType.DeleteStart;
                _tokens.Add(revisionMarkerTokenStart);
                break;

            case RevisionType.Insert:
                revisionMarkerTokenStart.RevisionType = Token.RevisionMarkerType.InsertStart;
                _tokens.Add(revisionMarkerTokenStart);
                break;

            case RevisionType.Unchanged:
            default:
                break;
            }

            VisitChildren(revisionMarker);

            var revisionMarkerTokenEnd = new Token(Token.TokenType.RevisionMarker);

            switch (revisionMarker.Properties.RevisionType)
            {
            case RevisionType.Delete:
                revisionMarkerTokenEnd.RevisionType = Token.RevisionMarkerType.DeleteEnd;
                _tokens.Add(revisionMarkerTokenEnd);
                break;

            case RevisionType.Insert:
                revisionMarkerTokenEnd.RevisionType = Token.RevisionMarkerType.InsertEnd;
                _tokens.Add(revisionMarkerTokenEnd);
                break;

            case RevisionType.Unchanged:
            default:
                break;
            }
        }
Exemplo n.º 12
0
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     switch (revisionMarker.Properties.RevisionType)
     {
         case RevisionType.Delete:
             //Deleted content is ignored
             break;
         case RevisionType.Insert:
             VisitChildren(revisionMarker);
             break;
         case RevisionType.Unchanged:
             VisitChildren(revisionMarker);
             break;
     }
 }
Exemplo n.º 13
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            IsRevisionMarker = true;


            switch (revisionMarker.Properties.RevisionType)
            {
            case RevisionType.Delete:
            {
                if (revisionMarker.Properties.Date != null)
                {
                    RevisionMarker = new RevisionMarker(revisionMarker.Properties.Author, (DateTime)revisionMarker.Properties.Date, SDLXLIFF.RevisionMarker.RevisionType.Delete);
                }
                VisitChildren(revisionMarker);
            } break;

            case RevisionType.Insert:
            {
                if (revisionMarker.Properties.Date != null)
                {
                    RevisionMarker = new RevisionMarker(revisionMarker.Properties.Author, (DateTime)revisionMarker.Properties.Date, RevisionMarker.RevisionType.Insert);
                }
                VisitChildren(revisionMarker);
            } break;

            case RevisionType.Unchanged:
            {
                if (revisionMarker.Properties.Date != null)
                {
                    RevisionMarker = new RevisionMarker(revisionMarker.Properties.Author, (DateTime)revisionMarker.Properties.Date, SDLXLIFF.RevisionMarker.RevisionType.Unchanged);
                }
                VisitChildren(revisionMarker);
            } break;

            case RevisionType.FeedbackComment:
                break;

            case RevisionType.FeedbackAdded:
                break;

            case RevisionType.FeedbackDeleted:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            IsRevisionMarker = false;
        }
Exemplo n.º 14
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            switch (revisionMarker.Properties.RevisionType)
            {
            case RevisionType.Delete:
                //Deleted content is ignored
                break;

            case RevisionType.Insert:
                VisitChildren(revisionMarker);
                break;

            case RevisionType.Unchanged:
                VisitChildren(revisionMarker);
                break;
            }
        }
Exemplo n.º 15
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            switch (revisionMarker.Properties.RevisionType)
            {
            case RevisionType.Delete:
            {
                //ignore
            } break;

            case RevisionType.Insert:
            {
                VisitChildren(revisionMarker);
            } break;

            case RevisionType.Unchanged:
            {
                VisitChildren(revisionMarker);
            } break;
            }
        }
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     // Not required for this implementation.
 }
Exemplo n.º 17
0
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     //Nothing to add
 }
Exemplo n.º 18
0
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     VisitChildren(revisionMarker);
 }
Exemplo n.º 19
0
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     // ignore; not used for this implementation
 }
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     revisionMarker.Properties.Author = _revisionAuthor;
 }
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     _containsTrackChanges = true;
 }
        public void VisitText(IText text)
        {
            //Exclude text of the revision for deleted text
            if (text.Parent is IRevisionMarker)
            {
                IRevisionMarker parent = text.Parent as IRevisionMarker;
                if (parent != null && parent.Properties.RevisionType == RevisionType.Delete)
                {
                    return;
                }
            }

            if (!ListContainsMarkupData(text))
            {
                _markupsListVisited.Add(text);
                if (text.Properties.Text.Length > 0)
                {
                    //get the information about ranges of locked text
                    if (_inLockedContent)
                    {
                        RangeOfCharacterInfos item = new RangeOfCharacterInfos {
                            start = _collectedText.Length, length = text.Properties.Text.Length
                        };
                        _listOfLockedRanges.Add(item);
                    }

                    //Get information about the range
                    if (_startOfRange != -1 && _endOfRange != -1)
                    {
                        int  startOfMarkup   = _collectedText.Length;
                        int  endOfMarkup     = _collectedText.Length + text.Properties.Text.Length;
                        bool isMarkupInRange = false;
                        //set start of the range
                        if (_startOfRange >= startOfMarkup && _startOfRange <= endOfMarkup)
                        {
                            isMarkupInRange = !(_startOfRange != _endOfRange && //exclude not empty range
                                                _startOfRange == endOfMarkup);  //which begin at the end of the markup data
                            if (isMarkupInRange)
                            {
                                _startOffsetOfFirstElemInRange = _startOfRange - startOfMarkup;
                            }
                        }

                        //set end of the range
                        if (_endOfRange >= startOfMarkup && _endOfRange <= endOfMarkup)
                        {
                            isMarkupInRange = !(_startOfRange != _endOfRange && //exclude not empty range
                                                _endOfRange == startOfMarkup);  //which begin at the start of the markup data
                            if (isMarkupInRange)
                            {
                                _endOffsetOfLastElemInRange = _endOfRange - startOfMarkup;
                            }
                        }

                        //All the markup data is in the range
                        if (startOfMarkup >= _startOfRange && endOfMarkup <= _endOfRange)
                        {
                            isMarkupInRange = true;
                        }

                        if (isMarkupInRange)
                        {
                            _markupsListInRange.Add(text);
                        }
                    }

                    //Collect the text
                    _collectedText += text.Properties.Text;
                }
            }
        }
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     // start of revision marker has no character count.
 }
Exemplo n.º 24
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {
            var revisionMarkerTokenStart = new Token(Token.TokenType.RevisionMarker);
            revisionMarkerTokenStart.Author = revisionMarker.Properties.Author;
            if (revisionMarker.Properties.Date != null)
                revisionMarkerTokenStart.Date = (DateTime)revisionMarker.Properties.Date;

            switch (revisionMarker.Properties.RevisionType)
            {
                case RevisionType.Delete:
                    revisionMarkerTokenStart.RevisionType = Token.RevisionMarkerType.DeleteStart;
                    _tokens.Add(revisionMarkerTokenStart);
                    break;
                case RevisionType.Insert:
                    revisionMarkerTokenStart.RevisionType = Token.RevisionMarkerType.InsertStart;
                    _tokens.Add(revisionMarkerTokenStart);
                    break;
                case RevisionType.Unchanged:
                default:
                    break;
            }

            VisitChildren(revisionMarker);

            var revisionMarkerTokenEnd = new Token(Token.TokenType.RevisionMarker);
            switch (revisionMarker.Properties.RevisionType)
            {
                case RevisionType.Delete:
                    revisionMarkerTokenEnd.RevisionType = Token.RevisionMarkerType.DeleteEnd;
                    _tokens.Add(revisionMarkerTokenEnd);
                    break;
                case RevisionType.Insert:
                    revisionMarkerTokenEnd.RevisionType = Token.RevisionMarkerType.InsertEnd;
                    _tokens.Add(revisionMarkerTokenEnd);
                    break;
                case RevisionType.Unchanged:
                default:
                    break;
            }
        }
Exemplo n.º 25
0
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
 }
Exemplo n.º 26
0
 public void VisitRevisionMarker(IRevisionMarker revisionMarker)
 {
     // Not required for this implementation.
 }
Exemplo n.º 27
0
        public void VisitRevisionMarker(IRevisionMarker revisionMarker)
        {

        }