Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_undo_stores.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_UNDO_STORES_H
8#define __KIS_UNDO_STORES_H
9
10#include "kis_undo_store.h"
11
12class KUndo2Stack;
14
15
21class KRITACOMMAND_EXPORT KisSurrogateUndoStore : public KisUndoStore
22{
23public:
25 ~KisSurrogateUndoStore() override;
26
27 const KUndo2Command* presentCommand() override;
28 void undoLastCommand() override;
29 void addCommand(KUndo2Command *cmd) override;
30 void beginMacro(const KUndo2MagicString& macroName) override;
31 void endMacro() override;
32
33 void undo();
34 void redo();
35
36 void undoAll();
37 void redoAll();
38
39 void purgeRedoState() override;
40
41 void clear();
42
43private:
45};
46
51class KRITACOMMAND_EXPORT KisDumbUndoStore : public KisUndoStore
52{
53public:
54 const KUndo2Command* presentCommand() override;
55 void undoLastCommand() override;
56 void addCommand(KUndo2Command *cmd) override;
57 void beginMacro(const KUndo2MagicString& macroName) override;
58 void endMacro() override;
59 void purgeRedoState() override;
60};
61
62#endif /* __KIS_UNDO_STORES_H */
The KisDumbUndoStore class doesn't actually save commands, so you cannot undo or redo!
KUndo2Stack * m_undoStack
virtual void addCommand(KUndo2Command *cmd)=0
virtual const KUndo2Command * presentCommand()=0
virtual void endMacro()=0
virtual void purgeRedoState()=0
virtual void beginMacro(const KUndo2MagicString &macroName)=0
virtual void undoLastCommand()=0