16#ifndef QGSMODELUNDOCOMMAND_H
17#define QGSMODELUNDOCOMMAND_H
22#include <QUndoCommand>
24class QgsProcessingModelAlgorithm;
36class GUI_EXPORT QgsModelUndoCommand :
public QUndoCommand
39 enum class CommandOperation
51 QgsModelUndoCommand( QgsProcessingModelAlgorithm *model,
const QString &text, CommandOperation operation = CommandOperation::Unknown, QUndoCommand *parent
SIP_TRANSFERTHIS =
nullptr );
58 QgsModelUndoCommand( QgsProcessingModelAlgorithm *model,
const QString &text,
const QString &idString, QUndoCommand *parent
SIP_TRANSFERTHIS =
nullptr );
63 void saveAfterState();
65 int id()
const override;
68 bool mergeWith(
const QUndoCommand *other )
override;
73 CommandOperation operation()
const {
return mOperation; }
78 QString idString()
const {
return mIdString; }
82 bool mFirstRun =
true;
84 QgsProcessingModelAlgorithm *mModel =
nullptr;
85 QVariant mBeforeState;
87 CommandOperation mOperation = CommandOperation::Unknown;