public InsertAction(Gtk.TextIter start, string text, int length, ChopBuffer chop_buf) { this.index = start.Offset - length; // GTKBUG: No way to tell a 1-char paste. this.is_paste = length > 1; Gtk.TextIter index_iter = start.Buffer.GetIterAtOffset(index); this.chop = chop_buf.AddChop(index_iter, start); }
public EraseAction(Gtk.TextIter start_iter, Gtk.TextIter end_iter, ChopBuffer chop_buf) { this.start = start_iter.Offset; this.end = end_iter.Offset; this.is_cut = end - start > 1; Gtk.TextIter insert = start_iter.Buffer.GetIterAtMark(start_iter.Buffer.InsertMark); this.is_forward = insert.Offset <= start; this.chop = chop_buf.AddChop(start_iter, end_iter); }
public UndoManager(NoteBuffer buffer) { frozen_cnt = 0; try_merge = false; undo_stack = new Stack <EditAction> (); redo_stack = new Stack <EditAction> (); this.buffer = buffer; chop_buffer = new ChopBuffer(buffer.TagTable); buffer.InsertTextWithTags += OnInsertText; buffer.NewBulletInserted += OnBulletInserted; buffer.ChangeTextDepth += OnChangeDepth; buffer.DeleteRange += OnDeleteRange; // Before handler buffer.TagApplied += OnTagApplied; buffer.TagRemoved += OnTagRemoved; }
public UndoManager (NoteBuffer buffer) { frozen_cnt = 0; try_merge = false; undo_stack = new Stack<EditAction> (); redo_stack = new Stack<EditAction> (); this.buffer = buffer; chop_buffer = new ChopBuffer (buffer.TagTable); buffer.InsertTextWithTags += OnInsertText; buffer.NewBulletInserted += OnBulletInserted; buffer.ChangeTextDepth += OnChangeDepth; buffer.DeleteRange += OnDeleteRange; // Before handler buffer.TagApplied += OnTagApplied; buffer.TagRemoved += OnTagRemoved; }
public EraseAction (Gtk.TextIter start_iter, Gtk.TextIter end_iter, ChopBuffer chop_buf) { this.start = start_iter.Offset; this.end = end_iter.Offset; this.is_cut = end - start > 1; Gtk.TextIter insert = start_iter.Buffer.GetIterAtMark (start_iter.Buffer.InsertMark); this.is_forward = insert.Offset <= start; this.chop = chop_buf.AddChop (start_iter, end_iter); }
public InsertAction (Gtk.TextIter start, string text, int length, ChopBuffer chop_buf) { this.index = start.Offset - length; // GTKBUG: No way to tell a 1-char paste. this.is_paste = length > 1; Gtk.TextIter index_iter = start.Buffer.GetIterAtOffset (index); this.chop = chop_buf.AddChop (index_iter, start); }