Пример #1
0
 /// <summary>
 ///		Creates a new Token Pair
 /// </summary>
 public TokenPair(IComparable type,
                  CharacterLocation tokenLocation,
                  IMorestachioExpression expression,
                  EmbeddedInstructionOrigin isEmbeddedToken = EmbeddedInstructionOrigin.Self)
     : this(type, null, tokenLocation, expression, null, isEmbeddedToken)
 {
 }
Пример #2
0
 /// <summary>
 ///		Creates a new Token Pair
 /// </summary>
 public TokenPair(IComparable type,
                  string value,
                  CharacterLocation tokenLocation,
                  EmbeddedInstructionOrigin isEmbeddedToken = EmbeddedInstructionOrigin.Self)
     : this(type, value, tokenLocation, null, null, isEmbeddedToken)
 {
 }
Пример #3
0
        /// <inheritdoc />
        protected override void DeSerializeXml(XmlReader reader)
        {
            base.DeSerializeXml(reader);
            reader.ReadStartElement();            //<TextOperation>
            AssertElement(reader, "TextOperation");
            var embeddedState = reader.GetAttribute(nameof(EmbeddedInstructionOrigin));

            if (!string.IsNullOrEmpty(embeddedState))
            {
                EmbeddedInstructionOrigin = (EmbeddedInstructionOrigin)Enum.Parse(typeof(EmbeddedInstructionOrigin), embeddedState);
            }

            var attribute = reader.GetAttribute(nameof(ITextOperation.TextOperationType));

            switch (attribute)
            {
            case "LineBreak":
                Operation = new AppendLineBreakTextOperation();
                break;

            case "TrimLineBreaks":
                Operation = new TrimLineBreakTextOperation();
                break;

            default:
                throw new InvalidOperationException($"The TextOperation '{attribute}' is invalid");
            }

            Operation.ReadXml(reader);
            reader.ReadEndElement();            //</TextOperation>
        }
Пример #4
0
 /// <summary>
 ///
 /// </summary>
 public TextEditDocumentItem(CharacterLocation location,
                             ITextOperation operation,
                             EmbeddedInstructionOrigin embeddedInstructionOrigin,
                             IEnumerable <ITokenOption> tagCreationOptions)
     : base(location, tagCreationOptions)
 {
     Operation = operation ?? throw new ArgumentNullException(nameof(operation));
     EmbeddedInstructionOrigin = embeddedInstructionOrigin;
 }
Пример #5
0
        /// <summary>
        ///		Creates a new Token Pair
        /// </summary>
        public TokenPair(IComparable type,
                         string value,
                         CharacterLocation tokenLocation,
                         IMorestachioExpression expression,
                         IEnumerable <ITokenOption> tokenOptions,
                         EmbeddedInstructionOrigin isEmbeddedToken = EmbeddedInstructionOrigin.Self)
        {
            Type = type;
            MorestachioExpression = expression;
            var tokenOps = tokenOptions?.ToArray();

            if (tokenOps?.Length > 0)
            {
                TokenOptions = tokenOps;
            }
            else
            {
                TokenOptions = null;
            }

            IsEmbeddedToken = isEmbeddedToken;
            TokenLocation   = tokenLocation;
            Value           = value;
        }
Пример #6
0
        /// <inheritdoc />

        protected TextEditDocumentItem(SerializationInfo info, StreamingContext c) : base(info, c)
        {
            EmbeddedInstructionOrigin = (EmbeddedInstructionOrigin)info.GetValue(nameof(EmbeddedInstructionOrigin), typeof(EmbeddedInstructionOrigin));
            Operation = info.GetValue(nameof(Operation), typeof(ITextOperation)) as ITextOperation;
        }