-
-/**
-These are the elements put on the undo stack. Each object contains complete
-paragraphs from some cell and sufficient information to restore the cursor
-state.
-
-The cell is given by a DocIterator pointing to this cell, the 'interesting'
-range of paragraphs by counting them from begin and end of cell,
-respectively.
-
-The cursor is also given as DocIterator and should point to some place in
-the stored paragraph range. In case of math, we simply store the whole
-cell, as there usually is just a simple paragraph in a cell.
-
-The idea is to store the contents of 'interesting' paragraphs in some
-structure ('Undo') _before_ it is changed in some edit operation.
-Obviously, the stored ranged should be as small as possible. However, it
-there is a lower limit: The StableDocIterator pointing stored in the undo
-class must be valid after the changes, too, as it will used as a pointer
-where to insert the stored bits when performining undo.
-
-*/
-
-class Undo {
-public:
- /// This is used to combine consecutive undo recordings of the same kind.
- enum undo_kind {
- /**
- * Insert something - these will combine to one big chunk
- * when many inserts come after each other.
- */
- INSERT,
- /**
- * Delete something - these will combine to one big chunk
- * when many deletes come after each other.
- */
- DELETE,
- /// Atomic - each of these will have its own entry in the stack
- ATOMIC
- };
-
- /// Which kind of operation are we recording for?
- undo_kind kind;
- /// the position of the cursor
- StableDocIterator cursor;
- /// the position of the cell described
- StableDocIterator cell;
- /// counted from begin of cell
- pit_type from;
- /// complement to end of this cell
- pit_type end;
- /// the contents of the saved Paragraphs (for texted)
- ParagraphList * pars;
- /// the contents of the saved MathArray (for mathed)
- MathArray * array;
- /// Only used in case of full backups
- BufferParams bparams;
- /// Only used in case of full backups
- bool isFullBuffer;
+/// This is used to combine consecutive undo recordings of the same kind.
+enum UndoKind {
+ /**
+ * Insert something - these will combine to one big chunk
+ * when many inserts come after each other.
+ */
+ INSERT_UNDO,
+ /**
+ * Delete something - these will combine to one big chunk
+ * when many deletes come after each other.
+ */
+ DELETE_UNDO,
+ /// Atomic - each of these will have its own entry in the stack
+ ATOMIC_UNDO