* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-1999 The LyX Team.
+ * Copyright 1995-2001 The LyX Team.
*
* ====================================================== */
#pragma interface
#endif
-#include <list>
-using std::list;
-
-#include "lyxparagraph.h"
-
+class Paragraph;
///
class Undo {
///
int number_of_cursor_par;
///
+ int number_of_inset_id; // valid if >= 0, if < 0 then not in inset
+ ///
int cursor_pos; // valid if >= 0
///
- LyXParagraph * par;
+ Paragraph * par;
///
- Undo(undo_kind kind_arg,
+ Undo(undo_kind kind_arg, int id_inset_arg,
int number_before_arg, int number_behind_arg,
int cursor_par_arg, int cursor_pos_arg,
- LyXParagraph * par_arg)
- {
- kind = kind_arg;
- number_of_before_par = number_before_arg;
- number_of_behind_par = number_behind_arg;
- number_of_cursor_par = cursor_par_arg;
- cursor_pos = cursor_pos_arg;
- par = par_arg;
- }
+ Paragraph * par_arg);
///
- ~Undo() {
- LyXParagraph * tmppar;
- while (par) {
- tmppar = par;
- par = par->next;
- delete tmppar;
- }
- }
+ ~Undo();
};
-/// A limited Stack for the undo informations.
-class UndoStack{
-private:
- ///
- typedef list<Undo*> Stakk;
- ///
- Stakk stakk;
- /// the maximum number of undo steps stored.
- Stakk::size_type limit;
-public:
- ///
- UndoStack();
- ///
- Undo * Pop();
- ///
- Undo * Top();
- ///
- ~UndoStack();
- ///
- void Clear();
- ///
- void SetStackLimit(Stakk::size_type l);
- ///
- void Push(Undo * undo_arg);
-};
-
#endif