Exemplo n.º 1
0
        internal bool CanInsert(int offset, Template template)
        {
            var placeholder =
                Segments.FindSegmentsContaining(offset).Where(v => v is PlaceholderSegment).FirstOrDefault() as PlaceholderSegment;

            if (placeholder != null)
            {
                return(placeholder.CanInsert(template));
            }
            return(true);
        }
Exemplo n.º 2
0
        public void InsertTemplate(int offset, Template template, out int insertionEndIndex)
        {
            var placeholder =
                Segments.FindSegmentsContaining(offset).Where(v => v is PlaceholderSegment).FirstOrDefault() as PlaceholderSegment;

            SegmentedDocument document = template.TemplateDocument;

            if (placeholder != null)
            {
                document = placeholder.TransformTemplate(template);
            }

            int replacmentLength = 0;

            Replace(ref offset, ref replacmentLength, document);
            insertionEndIndex = offset + document.TextLength;
        }