43 : m_createCommandFunc(createCommandFunc)
51 m_createCommandFunc(createCommandFunc)
60 m_createCommandFunc(createCommandFunc)
67 m_createCommandFunc(createCommandFunc)
109 m_firstRedo(skipFirstRedo)
115 m_firstRedo(skipFirstRedo)
148 m_currentState(initialState)
204 if (accumulatingCommand) {
205 const bool isMerged = accumulatingCommand->mergeWith(cmd);
209 accumulatingCommand.reset(cmd);
float value(const T *src, size_t ch)
void addCommand(KUndo2Command *cmd) override
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
KUndo2MagicString kundo2_noi18n(const QString &text)
void redoAndMergeIntoAccumulatingCommand(KUndo2Command *cmd, QScopedPointer< KUndo2Command > &accumulatingCommand)
The AggregateCommand struct is a command with delayed initialization. On first redo() populateChildCo...
AggregateCommand(KUndo2Command *parent=0)
virtual void populateChildCommands()=0
void addCommand(KUndo2Command *cmd)
KisSurrogateUndoStore m_store
QVector< KUndo2Command * > m_commands
~CompositeCommand() override
void addCommand(KUndo2Command *cmd)
CompositeCommand(KUndo2Command *parent=0)
FlipFlopCommand(State initialState, KUndo2Command *parent=0)
std::function< KUndo2Command *()> m_createCommandFunc
LambdaCommand(std::function< KUndo2Command *()> createCommandFunc)
void populateChildCommands() override
virtual void redoImpl()=0
void redo() override final
SkipFirstRedoBase(bool skipFirstRedo, KUndo2Command *parent=0)
void undo() override final
void setSkipOneRedo(bool value)
virtual void undoImpl()=0
QScopedPointer< KUndo2Command > m_child
SkipFirstRedoWrapper(KUndo2Command *child=0, KUndo2Command *parent=0)