X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FUndo.h;h=789de5f39f69209dd6bae6cf8e0c51e47b035d94;hb=bc47054be88467f01fd2f6e437d555743bd8a7c9;hp=5f6694104a6e72c1094fc53ffa8ff2d9bac7e448;hpb=a07d9f21929933c440453fdbee337653611faa5d;p=lyx.git diff --git a/src/Undo.h b/src/Undo.h index 5f6694104a..789de5f39f 100644 --- a/src/Undo.h +++ b/src/Undo.h @@ -23,7 +23,7 @@ namespace lyx { class Buffer; class BufferParams; -class DocIterator; +class CursorData; class Inset; class MathData; class ParagraphList; @@ -57,10 +57,10 @@ public: void clear(); /// this will undo the last action - returns false if no undo possible - bool textUndo(DocIterator &); + bool textUndo(CursorData &); /// this will redo the last undo - returns false if no redo possible - bool textRedo(DocIterator &); + bool textRedo(CursorData &); /// End a sequence of INSERT_UNDO or DELETE_UNDO type of undo /// operations (grouping of consecutive characters insertion/deletion). @@ -84,6 +84,9 @@ public: /// end the current undo group. void endUndoGroup(); + /// end the current undo group and set UndoElement::cur_after if necessary. + void endUndoGroup(CursorData const &); + /// The general case: record undo information for an arbitrary range. /** * Record undo information - call with the current cursor and @@ -91,26 +94,19 @@ public: * give an inclusive range. This is called before you make the * changes to the paragraph, and it will record the original * information of the paragraphs in the undo stack. + * Kind of undo is always ATOMIC_UNDO. */ - void recordUndo(DocIterator const & cur, UndoKind kind, - pit_type from, pit_type to); - - /// Convenience: record undo information for the range between - /// 'from' and cursor. - void recordUndo(DocIterator const & cur, UndoKind kind, pit_type from); + void recordUndo(CursorData const & cur, pit_type from, pit_type to); /// Convenience: record undo information for the single /// paragraph or cell containing the cursor. - void recordUndo(DocIterator const & cur, UndoKind kind = ATOMIC_UNDO); + void recordUndo(CursorData const & cur, UndoKind kind = ATOMIC_UNDO); - /// Convenience: record undo information for the inset - /// containing the cursor. - void recordUndoInset(DocIterator const & cur, - UndoKind kind = ATOMIC_UNDO, - Inset const * inset = 0); + /// Convenience: record undo for buffer parameters + void recordUndoBufferParams(CursorData const & cur); /// Convenience: prepare undo for the whole buffer - void recordUndoFullDocument(DocIterator const & cur); + void recordUndoFullBuffer(CursorData const & cur); private: struct Private;