HistoryTextItem.cs 1017 B

123456789101112131415161718192021222324252627282930313233343536
  1. // TextView.cs: multi-line text editing
  2. using System;
  3. using System.Collections.Generic;
  4. using Rune = System.Rune;
  5. namespace Terminal.Gui {
  6. partial class HistoryText {
  7. public class HistoryTextItem : EventArgs{
  8. public List<List<Rune>> Lines;
  9. public Point CursorPosition;
  10. public LineStatus LineStatus;
  11. public bool IsUndoing;
  12. public Point FinalCursorPosition;
  13. public HistoryTextItem RemovedOnAdded;
  14. public HistoryTextItem (List<List<Rune>> lines, Point curPos, LineStatus linesStatus)
  15. {
  16. Lines = lines;
  17. CursorPosition = curPos;
  18. LineStatus = linesStatus;
  19. }
  20. public HistoryTextItem (HistoryTextItem historyTextItem)
  21. {
  22. Lines = new List<List<Rune>> (historyTextItem.Lines);
  23. CursorPosition = new Point (historyTextItem.CursorPosition.X, historyTextItem.CursorPosition.Y);
  24. LineStatus = historyTextItem.LineStatus;
  25. }
  26. public override string ToString ()
  27. {
  28. return $"(Count: {Lines.Count}, Cursor: {CursorPosition}, Status: {LineStatus})";
  29. }
  30. }
  31. }
  32. }