示例#1
0
        public void GetAssociatedTextTag()
        {
            DocumentEditor editor = new DocumentEditor();
            TextBuffer     buffer = editor.Buffer;

            TextTag summaryTag = buffer.TagTable.Lookup("summary");

            Assert.IsNotNull(summaryTag);
            DocumentTag actualTag = (DocumentTag)DocumentUtils.GetAssociatedTextTag(buffer, summaryTag);

            Assert.AreEqual("summary:Text", actualTag.Name);
            Assert.IsTrue(actualTag.IsText);
        }
示例#2
0
        private static int InsertText(TextBuffer buffer, int offset, string data, Stack stack)
        {
            TagStart tagStart = (TagStart)stack.Peek();
            TextIter insertAt = buffer.GetIterAtOffset(offset);
            TextTag  textTag  = DocumentUtils.GetAssociatedTextTag(buffer, tagStart.Tag);

            DocumentUtils.AddText(buffer, ref insertAt, data, textTag);
//		buffer.InsertWithTags (ref insertAt, data, textTag);

                #if DEBUG
            Console.WriteLine("Text: {0} Value: {1} Start: {2}", textTag.Name, data, offset);
                #endif

            return(insertAt.Offset);
        }
        private void OnDeleteRange(object sender, DeleteRangeArgs args)
        {
            TextIter startIter = GetIterAtOffset(args.Start.Offset - 1);
            TextIter endIter   = GetIterAtOffset(args.Start.Offset);

                #if DEBUG
            Console.WriteLine("DEBUG: Deleting range");
                #endif

            bool startsRegion = startIter.Char.Equals("[");
            bool endsRegion   = endIter.Char.Equals("]");

            if (startsRegion && endsRegion)
            {
                        #if DEBUG
                Console.WriteLine("DEBUG: Deleting whole editing region.");
                        #endif

                TextTag last = DocumentUtils.GetAssociatedTextTag(this, DocumentUtils.GetLastTag(startIter));
                Undoer.FreezeUndo();
                InsertWithTags(ref endIter, "Documentation for this section has not yet been entered.", last);
                Undoer.ThrawUndo();
            }
        }