#define UNDO_H
#include "dociterator.h"
-#include "ParagraphList_fwd.h"
#include "bufferparams.h"
+#include "ParagraphList_fwd.h"
#include "support/types.h"
#include <string>
+
+namespace lyx {
+
class BufferParams;
class BufferView;
+class DocIterator;
class LCursor;
+class MathArray;
/**
/// the position of the cell described
StableDocIterator cell;
/// counted from begin of cell
- lyx::pit_type from;
+ pit_type from;
/// complement to end of this cell
- lyx::pit_type end;
+ pit_type end;
/// the contents of the saved Paragraphs (for texted)
- ParagraphList pars;
- /// the stringified contents of the saved MathArray (for mathed)
- std::string array;
+ 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;
+ bool isFullBuffer;
};
*/
/// The general case: prepare undo for an arbitrary range.
+/// FIXME: replace LCursor with DocIterator. This is not possible right
+/// now because we need access to Buffer->params()!.
void recordUndo(LCursor & cur, Undo::undo_kind kind,
- lyx::pit_type from, lyx::pit_type to);
+ pit_type from, pit_type to);
/// Convenience: prepare undo for the range between 'from' and cursor.
-void recordUndo(LCursor & cur, Undo::undo_kind kind, lyx::pit_type from);
+void recordUndo(LCursor & cur, Undo::undo_kind kind, pit_type from);
/// Convenience: prepare undo for the single paragraph or cell
/// containing the cursor
/// Convenience: prepare undo for the whole buffer
void recordUndoFullDocument(BufferView * bv);
+
+} // namespace lyx
+
#endif // UNDO_FUNCS_H