diff options
author | Neil <nyamatongwe@gmail.com> | 2014-07-18 23:37:23 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2014-07-18 23:37:23 +1000 |
commit | 1472b33e83897ba443974f838fb92fe720118d42 (patch) | |
tree | 9c756a4b25bb8b32082cee01f5d6b1c39e7930bb /src/CellBuffer.h | |
parent | 5e13b48636a6442af501bdbf1fe4afd7d008e489 (diff) | |
download | scintilla-mirror-1472b33e83897ba443974f838fb92fe720118d42.tar.gz |
Added the tentative undo feature. This is useful for IMEs that want to display
and manipulate a character being composed, but may then commit or remove it
leaving no history in undo of the intermediate forms.
Diffstat (limited to 'src/CellBuffer.h')
-rw-r--r-- | src/CellBuffer.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/CellBuffer.h b/src/CellBuffer.h index f07b45983..5e4fc7c8c 100644 --- a/src/CellBuffer.h +++ b/src/CellBuffer.h @@ -95,6 +95,7 @@ class UndoHistory { int currentAction; int undoSequenceDepth; int savePoint; + int tentativePoint; void EnsureUndoRoom(); @@ -117,6 +118,12 @@ public: void SetSavePoint(); bool IsSavePoint() const; + // Tentative actions are used for input composition so that it can be undone cleanly + void TentativeStart(); + void TentativeCommit(); + bool TentativeActive() const { return tentativePoint >= 0; } + int TentativeSteps(); + /// To perform an undo, StartUndo is called to retrieve the number of steps, then UndoStep is /// called that many times. Similarly for redo. bool CanUndo() const; @@ -193,6 +200,11 @@ public: void SetSavePoint(); bool IsSavePoint() const; + void TentativeStart(); + void TentativeCommit(); + bool TentativeActive() const; + int TentativeSteps(); + bool SetUndoCollection(bool collectUndo); bool IsCollectingUndo() const; void BeginUndoAction(); |