diff options
| author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-12-04 17:29:01 +0100 |
|---|---|---|
| committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-12-04 22:07:08 +0100 |
| commit | d8a316514c03d85b771a9dce4a8a51b875d955b3 (patch) | |
| tree | 8966c29db767a155848f6d90f76771ce5b9de32e /undo.cpp | |
| parent | b120616b6da52e951097f69ad267de06081d218a (diff) | |
autoconf preparation: move everything into src/ subdir
Diffstat (limited to 'undo.cpp')
| -rw-r--r-- | undo.cpp | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/undo.cpp b/undo.cpp deleted file mode 100644 index 8072540..0000000 --- a/undo.cpp +++ /dev/null @@ -1,78 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <bsd/sys/queue.h> - -#include <glib.h> -#include <glib/gstdio.h> - -#include <Scintilla.h> - -#include "sciteco.h" -#include "interface.h" -#include "undo.h" - -//#define DEBUG - -UndoStack undo; - -void -UndoTokenMessage::run(void) -{ - interface.ssm(iMessage, wParam, lParam); -} - -void -UndoStack::push(UndoToken *token) -{ - if (enabled) { -#ifdef DEBUG - g_printf("UNDO PUSH %p\n", token); -#endif - token->pos = strlen(cmdline); - SLIST_INSERT_HEAD(&head, token, tokens); - } else { - delete token; - } -} - -void -UndoStack::push_msg(unsigned int iMessage, uptr_t wParam, sptr_t lParam) -{ - push(new UndoTokenMessage(iMessage, wParam, lParam)); -} - -void -UndoStack::pop(gint pos) -{ - while (!SLIST_EMPTY(&head) && SLIST_FIRST(&head)->pos >= pos) { - UndoToken *top = SLIST_FIRST(&head); -#ifdef DEBUG - g_printf("UNDO POP %p\n", top); - fflush(stdout); -#endif - - top->run(); - - SLIST_REMOVE_HEAD(&head, tokens); - delete top; - } -} - -void -UndoStack::clear(void) -{ - UndoToken *cur; - - while ((cur = SLIST_FIRST(&head))) { - SLIST_REMOVE_HEAD(&head, tokens); - delete cur; - } -} - -UndoStack::~UndoStack() -{ - UndoToken *token, *next; - - SLIST_FOREACH_SAFE(token, &head, tokens, next) - delete token; -} |
