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;
36 LyXParagraph * tmppar;
45 UndoStack::UndoStack()
49 Undo * UndoStack::pop()
51 if (stakk.empty()) return 0;
52 Undo * result = stakk.front();
58 Undo * UndoStack::top()
60 if (stakk.empty()) return 0;
65 UndoStack::~UndoStack()
71 void UndoStack::clear()
73 while (!stakk.empty()) {
74 Undo * tmp = stakk.front();
81 void UndoStack::SetStackLimit(Stakk::size_type l)
87 void UndoStack::push(Undo * undo_arg)
89 if (!undo_arg) return;
91 stakk.push_front(undo_arg);
92 if (stakk.size() > limit) {
93 Undo * tmp = stakk.back();
100 bool UndoStack::empty() const {
101 return stakk.empty();