File indexing completed on 2024-05-12 15:58:26

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kis_macro_based_undo_store.h"
0008 
0009 #include "kis_saved_commands.h"
0010 #include "kis_global.h"
0011 
0012 
0013 struct KisMacroBasedUndoStore::Private
0014 {
0015     Private(KisSavedMacroCommand *_command) : command(_command) {}
0016     KisSavedMacroCommand *command;
0017 };
0018 
0019 KisMacroBasedUndoStore::KisMacroBasedUndoStore(KisSavedMacroCommand *_command)
0020     : m_d(new Private(_command))
0021 {
0022 }
0023 
0024 KisMacroBasedUndoStore::~KisMacroBasedUndoStore()
0025 {
0026 }
0027 
0028 const KUndo2Command* KisMacroBasedUndoStore::presentCommand()
0029 {
0030     KIS_ASSERT(0 && "Not implemented");
0031     return 0;
0032 }
0033 
0034 void KisMacroBasedUndoStore::undoLastCommand()
0035 {
0036     KIS_ASSERT(0 && "Not implemented");
0037 }
0038 
0039 void KisMacroBasedUndoStore::addCommand(KUndo2Command *cmd)
0040 {
0041     /**
0042      * This store if stacked with a post-execution undo adapter,
0043      * so we should call redo() explicitly when adding a command.
0044      */
0045     cmd->redo();
0046     m_d->command->addCommand(toQShared(cmd));
0047 
0048     emit historyStateChanged();
0049 }
0050 
0051 void KisMacroBasedUndoStore::beginMacro(const KUndo2MagicString& macroName)
0052 {
0053     Q_UNUSED(macroName);
0054     KIS_ASSERT(0 && "Not implemented");
0055 }
0056 
0057 void KisMacroBasedUndoStore::endMacro()
0058 {
0059     KIS_ASSERT(0 && "Not implemented");
0060 }
0061 
0062 void KisMacroBasedUndoStore::purgeRedoState()
0063 {
0064     KIS_ASSERT(0 && "Not implemented");
0065 }
0066