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