X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fundo.C;h=f2c02285089528ef1d91a2cbe33de79c79a0ff01;hb=5702f22ef0ea3d167fc5f327002d7006eef657b4;hp=1617def3b89a870500384f88366583a5e4408846;hpb=a040c0bc6f017d0591bbc7ad1aa590589dbc40ff;p=lyx.git diff --git a/src/undo.C b/src/undo.C index 1617def3b8..f2c0228508 100644 --- a/src/undo.C +++ b/src/undo.C @@ -4,68 +4,43 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ #include -#include "undo.h" - #ifdef __GNUG__ #pragma implementation #endif -UndoStack::UndoStack() - : limit(100) {} - - -Undo * UndoStack::Pop() -{ - if (stakk.empty()) return 0; - Undo * result = stakk.front(); - stakk.pop_front(); - return result; -} - - -Undo * UndoStack::Top() -{ - if (stakk.empty()) return 0; - return stakk.front(); -} +#include "undo.h" +#include "paragraph.h" -UndoStack::~UndoStack() +Undo::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, + Paragraph * par_arg) { - Clear(); + kind = kind_arg; + number_of_inset_id = id_inset_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; } -void UndoStack::Clear() +Undo::~Undo() { - while (!stakk.empty()) { - Undo * tmp = stakk.front(); - stakk.pop_front(); - delete tmp; + Paragraph * tmppar; + while (par) { + tmppar = par; + par = par->next(); + delete tmppar; } } -void UndoStack::SetStackLimit(Stakk::size_type l) -{ - limit = l; -} - - -void UndoStack::Push(Undo * undo_arg) -{ - if (!undo_arg) return; - - stakk.push_front(undo_arg); - if (stakk.size() > limit) { - Undo * tmp = stakk.back(); - stakk.pop_back(); - delete tmp; - } -}