示例#1
0
		public override void Undo (Gtk.TextBuffer buffer)
		{
			// Tag images change the offset by one, but only when deleting.
			Gtk.TextIter start_iter = buffer.GetIterAtOffset (Offset);
			Gtk.TextIter end_iter = buffer.GetIterAtOffset (Offset + chop.Length + 1);
			buffer.Delete (ref start_iter, ref end_iter);
			buffer.MoveMark (buffer.InsertMark, buffer.GetIterAtOffset (Offset));
			buffer.MoveMark (buffer.SelectionBound, buffer.GetIterAtOffset (Offset));

			Tag.WidgetLocation = null;

			ApplySplitTags (buffer);
		}
        public void Undo(Gtk.TextBuffer buffer)
        {
            imagePosition = imageInfo.Position;
            imageInfoList.Remove (imageInfo);
            imageInfo.DisplayWidth = imageInfo.Widget.ImageSize.Width;
            imageInfo.DisplayHeight = imageInfo.Widget.ImageSize.Height;

            TextIter imageBoxBegin = buffer.GetIterAtOffset (imagePosition);
            TextIter imageBoxEnd = imageBoxBegin;
            imageBoxEnd.ForwardChar ();
            buffer.Delete (ref imageBoxBegin, ref imageBoxEnd);
            buffer.MoveMark (buffer.InsertMark, imageBoxBegin);
            buffer.MoveMark (buffer.SelectionBound, imageBoxBegin);
        }
示例#3
0
		public override void Redo (Gtk.TextBuffer buffer)
		{
			RemoveSplitTags (buffer);

			Gtk.TextIter start_iter = buffer.GetIterAtOffset (start);
			Gtk.TextIter end_iter = buffer.GetIterAtOffset (end);
			buffer.Delete (ref start_iter, ref end_iter);
			buffer.MoveMark (buffer.InsertMark, buffer.GetIterAtOffset (start));
			buffer.MoveMark (buffer.SelectionBound, buffer.GetIterAtOffset (start));
		}
示例#4
0
		public override void Undo (Gtk.TextBuffer buffer)
		{
			int tag_images = GetSplitOffset ();

			Gtk.TextIter start_iter = buffer.GetIterAtOffset (index - tag_images);
			Gtk.TextIter end_iter = buffer.GetIterAtOffset (index - tag_images + chop.Length);
			buffer.Delete (ref start_iter, ref end_iter);
			buffer.MoveMark (buffer.InsertMark, buffer.GetIterAtOffset (index - tag_images));
			buffer.MoveMark (buffer.SelectionBound, buffer.GetIterAtOffset (index - tag_images));

			ApplySplitTags (buffer);
		}