HistoryTextItem.cs 1.0 KB

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