Exemple #1
0
        /// <summary>
        /// Creates an eval expression given template replacement info
        /// </summary>
        /// <param name="context">The context that contains information about the document being rendered</param>
        /// <returns></returns>
        public IDocumentExpression CreateExpression(DocumentExpressionContext context)
        {
            if (context.Body.Count > 0)
            {
                throw new DocumentRenderException("eval tags can't have a body", context.ReplacementKeyToken);
            }

            TokenReader <DocumentToken> reader = new TokenReader <DocumentToken>(context.Parameters);

            DocumentToken fgToken, bgToken;

            var ret = new EvalExpression(context.ReplacementKeyToken);

            if (reader.TryAdvance(out fgToken, skipWhitespace: true) == false)
            {
                return(ret);
            }
            else
            {
                ret.ForegroundColorToken = fgToken;
            }

            if (reader.TryAdvance(out bgToken, skipWhitespace: true) == false)
            {
                return(ret);
            }
            else
            {
                ret.BackgroundColorToken = bgToken;
            }

            return(ret);
        }
        /// <summary>
        /// Creates an eval expression given template replacement info
        /// </summary>
        /// <param name="context">The context that contains information about the document being rendered</param>
        /// <returns></returns>
        public IDocumentExpression CreateExpression(DocumentExpressionContext context)
        {
            if (context.Body.Count > 0)
            {
                throw new DocumentRenderException("eval tags can't have a body", context.ReplacementKeyToken);
            }

            TokenReader<DocumentToken> reader = new TokenReader<DocumentToken>(context.Parameters);

            DocumentToken fgToken, bgToken;

            var ret = new EvalExpression(context.ReplacementKeyToken);

            if(reader.TryAdvance(out fgToken, skipWhitespace: true) == false)
            {
                return ret;
            }
            else
            {
                ret.ForegroundColorToken = fgToken;
            }

            if (reader.TryAdvance(out bgToken, skipWhitespace: true) == false)
            {
                return ret;
            }
            else
            {
                ret.BackgroundColorToken = bgToken;
            }

            return ret;
        }