16#ifndef QGSMODELUNDOCOMMAND_H
17#define QGSMODELUNDOCOMMAND_H
22#include <QUndoCommand>
26class QgsProcessingModelAlgorithm;
37class GUI_EXPORT QgsModelUndoCommand :
public QUndoCommand
40 enum class CommandOperation
52 QgsModelUndoCommand( QgsProcessingModelAlgorithm *model,
const QString &text, CommandOperation operation = CommandOperation::Unknown, QUndoCommand *parent
SIP_TRANSFERTHIS =
nullptr );
59 QgsModelUndoCommand( QgsProcessingModelAlgorithm *model,
const QString &text,
const QString &idString, QUndoCommand *parent
SIP_TRANSFERTHIS =
nullptr );
64 void saveAfterState();
66 int id()
const override;
69 bool mergeWith(
const QUndoCommand *other )
override;
74 CommandOperation operation()
const {
return mOperation; }
79 QString idString()
const {
return mIdString; }
83 bool mFirstRun =
true;
85 QgsProcessingModelAlgorithm *mModel =
nullptr;
86 QVariant mBeforeState;
88 CommandOperation mOperation = CommandOperation::Unknown;