TPDFlibFormEditHistoryEntry
Типы данных, формы, взаимодействие, история правок
Описание
Класс, фиксирующий одну отменяемую текстовую правку, выполненную при редактировании текстового поля сеансом форм
RecordEditHistory
ApplyEditHistory сравнивает прежнее и новое значения правки, сводит их к общему префиксу и суффиксу и сохраняет одну запись, точно описывающую заменённый срез вместе с якорем и курсором выделения до и после правкиRemovedText воспроизводит запись в любом направлении: отмена заново вставляет StartIndex в Before* и восстанавливает выделение InsertedText, повтор заново применяет After* и выделение
TrimEditHistoryЗаписи живут во внутреннем списке истории сеанса, который MaxUndoSteps удерживает в бюджете UndoEditCount, отбрасывая самые старые и уже отменённые записи; RedoEditCount и
Объявление
TPDFlibFormEditHistoryEntry = class public StartIndex: Integer; RemovedText: WideString; InsertedText: WideString; BeforeAnchor: Integer; BeforeCaret: Integer; AfterAnchor: Integer; AfterCaret: Integer; end;Параметры
| StartIndex | Число ведущих символов, которые разделяют старое и новое значения; заменённый срез начинается сразу после них |
|---|---|
| RemovedText | Срез, удалённый правкой из прежнего значения правки |
| InsertedText | Срез, записанный правкой на его место |
| BeforeAnchor | Якорь выделения, записанный до правки, в единицах выделения сеанса |
| BeforeCaret | Курсор выделения, записанный до правки, в единицах выделения сеанса |
| AfterAnchor | Якорь выделения, записанный после правки, в единицах выделения сеанса |
| AfterCaret | Курсор выделения, записанный после правки, в единицах выделения сеанса |
См. также
TPDFlibFormSession, UndoEdit, RedoEdit, CanUndoEdit, ClearEditHistory, UndoEditCount, RedoEditCount, MaxUndoSteps