public void Redo(Gtk.TextBuffer buffer)
 {
     Debug.Assert (imagePosition != -1);
     var iter = buffer.GetIterAtOffset (imagePosition);
     addin.InsertImage (iter, imageInfo, false);
     buffer.MoveMark (buffer.InsertMark, iter);
     buffer.MoveMark (buffer.SelectionBound, iter);
     imagePosition = -1;
 }
示例#2
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);
        }
示例#4
0
		public override void Redo (Gtk.TextBuffer buffer)
		{
			RemoveSplitTags (buffer);

			Gtk.TextIter cursor = buffer.GetIterAtOffset (Offset);

			Gtk.TextTag[] tags = {Tag};
			buffer.InsertWithTags (ref cursor, Id, tags);

			buffer.MoveMark (buffer.SelectionBound, buffer.GetIterAtOffset (Offset));
			buffer.MoveMark (buffer.InsertMark,
			                 buffer.GetIterAtOffset (Offset + chop.Length));

		}
示例#5
0
		public void Redo (Gtk.TextBuffer buffer)
		{
			Gtk.TextIter iter = buffer.GetIterAtOffset (offset);

			buffer.Insert (ref iter, "\n");

			((NoteBuffer) buffer).InsertBullet (ref iter, depth, direction);

			buffer.MoveMark (buffer.InsertMark, iter);
			buffer.MoveMark (buffer.SelectionBound, iter);
		}
示例#6
0
		public void Redo (Gtk.TextBuffer buffer)
		{
			Gtk.TextIter iter = buffer.GetIterAtLine (line);

			if (direction) {
				((NoteBuffer) buffer).IncreaseDepth (ref iter);
			} else {
				((NoteBuffer) buffer).DecreaseDepth (ref iter);
			}

			buffer.MoveMark (buffer.InsertMark, iter);
			buffer.MoveMark (buffer.SelectionBound, iter);
		}
示例#7
0
		public void Undo (Gtk.TextBuffer buffer)
		{
			Gtk.TextIter iter = buffer.GetIterAtOffset (offset);
			iter.ForwardLine ();
			iter = buffer.GetIterAtLine (iter.Line);

			((NoteBuffer) buffer).RemoveBullet (ref iter);

			iter.ForwardToLineEnd ();

			buffer.MoveMark (buffer.InsertMark, iter);
			buffer.MoveMark (buffer.SelectionBound, iter);
		}
示例#8
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);
		}
示例#9
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));
		}
示例#10
0
		public override void Undo (Gtk.TextBuffer buffer)
		{
			int tag_images = GetSplitOffset ();

			Gtk.TextIter start_iter = buffer.GetIterAtOffset (start - tag_images);
			buffer.InsertRange (ref start_iter, chop.Start, chop.End);

			buffer.MoveMark (buffer.InsertMark,
			                 buffer.GetIterAtOffset (is_forward ? start - tag_images
			                                         : end - tag_images));
			buffer.MoveMark (buffer.SelectionBound,
			                 buffer.GetIterAtOffset (is_forward ? end - tag_images
			                                         : start - tag_images));

			ApplySplitTags (buffer);
		}
示例#11
0
		public override void Redo (Gtk.TextBuffer buffer)
		{
			RemoveSplitTags (buffer);

			Gtk.TextIter idx_iter = buffer.GetIterAtOffset (index);
			buffer.InsertRange (ref idx_iter, chop.Start, chop.End);

			buffer.MoveMark (buffer.SelectionBound, buffer.GetIterAtOffset (index));
			buffer.MoveMark (buffer.InsertMark,
			                 buffer.GetIterAtOffset (index + chop.Length));
		}
示例#12
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);
		}