Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMacroBasedUndoStore Class Reference

#include <kis_macro_based_undo_store.h>

+ Inheritance diagram for KisMacroBasedUndoStore:

Classes

struct  Private
 

Public Member Functions

void addCommand (KUndo2Command *cmd) override
 
void beginMacro (const KUndo2MagicString &macroName) override
 
void endMacro () override
 
 KisMacroBasedUndoStore (KisSavedMacroCommand *command)
 
const KUndo2CommandpresentCommand () override
 
void purgeRedoState () override
 
void undoLastCommand () override
 
 ~KisMacroBasedUndoStore () override
 
- Public Member Functions inherited from KisUndoStore
 KisUndoStore ()
 
virtual ~KisUndoStore ()
 

Private Attributes

const QScopedPointer< Privatem_d
 

Additional Inherited Members

- Signals inherited from KisUndoStore
void historyStateChanged ()
 

Detailed Description

This undo store is supposed to be stacked with a KisPostExecutionUndoAdapter.

That chain looks like: KisPostExecutionUndoAdapter -> KisMacroBasedUndoStore -> KisSavedMacroCommand;

So the store calls redo() on every command that is added via addCommand();

Definition at line 27 of file kis_macro_based_undo_store.h.

Constructor & Destructor Documentation

◆ KisMacroBasedUndoStore()

KisMacroBasedUndoStore::KisMacroBasedUndoStore ( KisSavedMacroCommand * command)

Definition at line 19 of file kis_macro_based_undo_store.cpp.

20 : m_d(new Private(_command))
21{
22}
const QScopedPointer< Private > m_d

◆ ~KisMacroBasedUndoStore()

KisMacroBasedUndoStore::~KisMacroBasedUndoStore ( )
override

Definition at line 24 of file kis_macro_based_undo_store.cpp.

25{
26}

Member Function Documentation

◆ addCommand()

void KisMacroBasedUndoStore::addCommand ( KUndo2Command * cmd)
overridevirtual

This store if stacked with a post-execution undo adapter, so we should call redo() explicitly when adding a command.

Implements KisUndoStore.

Definition at line 39 of file kis_macro_based_undo_store.cpp.

40{
45 cmd->redo();
46 m_d->command->addCommand(toQShared(cmd));
47
48 Q_EMIT historyStateChanged();
49}
virtual void redo()
void historyStateChanged()
QSharedPointer< T > toQShared(T *ptr)

References KisUndoStore::historyStateChanged(), m_d, KUndo2Command::redo(), and toQShared().

◆ beginMacro()

void KisMacroBasedUndoStore::beginMacro ( const KUndo2MagicString & macroName)
overridevirtual

Implements KisUndoStore.

Definition at line 51 of file kis_macro_based_undo_store.cpp.

52{
53 Q_UNUSED(macroName);
54 KIS_ASSERT(0 && "Not implemented");
55}
#define KIS_ASSERT(cond)
Definition kis_assert.h:33

References KIS_ASSERT.

◆ endMacro()

void KisMacroBasedUndoStore::endMacro ( )
overridevirtual

Implements KisUndoStore.

Definition at line 57 of file kis_macro_based_undo_store.cpp.

58{
59 KIS_ASSERT(0 && "Not implemented");
60}

References KIS_ASSERT.

◆ presentCommand()

const KUndo2Command * KisMacroBasedUndoStore::presentCommand ( )
overridevirtual

WARNING: All these methods are not considered as thread-safe

Implements KisUndoStore.

Definition at line 28 of file kis_macro_based_undo_store.cpp.

29{
30 KIS_ASSERT(0 && "Not implemented");
31 return 0;
32}

References KIS_ASSERT.

◆ purgeRedoState()

void KisMacroBasedUndoStore::purgeRedoState ( )
overridevirtual

Implements KisUndoStore.

Definition at line 62 of file kis_macro_based_undo_store.cpp.

63{
64 KIS_ASSERT(0 && "Not implemented");
65}

References KIS_ASSERT.

◆ undoLastCommand()

void KisMacroBasedUndoStore::undoLastCommand ( )
overridevirtual

Implements KisUndoStore.

Definition at line 34 of file kis_macro_based_undo_store.cpp.

35{
36 KIS_ASSERT(0 && "Not implemented");
37}

References KIS_ASSERT.

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisMacroBasedUndoStore::m_d
private

Definition at line 42 of file kis_macro_based_undo_store.h.


The documentation for this class was generated from the following files: