1 /* This file is part of
2 * ======================================================
4 * LyX, The Document Processor
6 * Copyright 1995 Matthias Ettrich
7 * Copyright 1995-2000 The LyX Team.
9 * ====================================================== */
16 #pragma implementation
20 Undo::Undo(undo_kind kind_arg,
21 int number_before_arg, int number_behind_arg,
22 int cursor_par_arg, int cursor_pos_arg,
23 LyXParagraph * par_arg)
26 number_of_before_par = number_before_arg;
27 number_of_behind_par = number_behind_arg;
28 number_of_cursor_par = cursor_par_arg;
29 cursor_pos = cursor_pos_arg;
37 LyXParagraph * tmppar;
47 LyXParagraph * tmppar;
57 UndoStack::UndoStack()
61 Undo * UndoStack::pop()
63 if (stakk.empty()) return 0;
64 Undo * result = stakk.front();
70 Undo * UndoStack::top()
72 if (stakk.empty()) return 0;
77 UndoStack::~UndoStack()
83 void UndoStack::clear()
85 while (!stakk.empty()) {
86 Undo * tmp = stakk.front();
93 void UndoStack::SetStackLimit(Stakk::size_type l)
99 void UndoStack::push(Undo * undo_arg)
101 if (!undo_arg) return;
103 stakk.push_front(undo_arg);
104 if (stakk.size() > limit) {
105 Undo * tmp = stakk.back();
112 bool UndoStack::empty() const {
113 return stakk.empty();