Пример #1
0
 protected void RemoveSplitTags(Gtk.TextBuffer buffer)
 {
     foreach (TagData tag in splitTags)
     {
         Gtk.TextIter start = buffer.GetIterAtOffset(tag.start);
         Gtk.TextIter end   = buffer.GetIterAtOffset(tag.end);
         buffer.RemoveTag(tag.tag, start, end);
     }
 }
Пример #2
0
        public void Redo(Gtk.TextBuffer buffer)
        {
            Gtk.TextIter start_iter, end_iter;
            start_iter = buffer.GetIterAtOffset(start);
            end_iter   = buffer.GetIterAtOffset(end);

            buffer.MoveMark(buffer.SelectionBound, start_iter);
            buffer.RemoveTag(tag, start_iter, end_iter);
            buffer.MoveMark(buffer.InsertMark, end_iter);
        }
Пример #3
0
        public void Split(Gtk.TextIter iter,
                          Gtk.TextBuffer buffer)
        {
            foreach (Gtk.TextTag tag in iter.Tags)
            {
                NoteTag noteTag = tag as NoteTag;
                if (noteTag != null && !noteTag.CanSplit)
                {
                    Gtk.TextIter start = iter;
                    Gtk.TextIter end   = iter;

                    // We only care about enclosing tags
                    if (start.TogglesTag(tag) || end.TogglesTag(tag))
                    {
                        continue;
                    }

                    start.BackwardToTagToggle(tag);
                    end.ForwardToTagToggle(tag);
                    AddSplitTag(start, end, tag);
                    buffer.RemoveTag(tag, start, end);
                }
            }
        }
Пример #4
0
 public void RemoveTag(Gtk.TextTag tag)
 {
     buffer.RemoveTag(tag, Start, End);
 }