17 #include "qgsprocessingmodelalgorithm.h"
21 QgsModelUndoCommand::QgsModelUndoCommand( QgsProcessingModelAlgorithm *model,
const QString &text,
int id, QUndoCommand *parent )
22 : QUndoCommand( text, parent )
26 mBeforeState = model->toVariant();
29 void QgsModelUndoCommand::saveAfterState()
31 mAfterState = mModel->toVariant();
34 int QgsModelUndoCommand::id()
const
39 void QgsModelUndoCommand::undo()
44 const QVariantMap params = mModel->designerParameterValues();
46 mModel->loadVariant( mBeforeState );
48 mModel->setDesignerParameterValues( params );
51 void QgsModelUndoCommand::redo()
61 const QVariantMap params = mModel->designerParameterValues();
63 mModel->loadVariant( mAfterState );
65 mModel->setDesignerParameterValues( params );
68 bool QgsModelUndoCommand::mergeWith(
const QUndoCommand *other )
70 if ( other->id() == 0 || other->id() != mId )
73 if (
const QgsModelUndoCommand *
c =
dynamic_cast<const QgsModelUndoCommand *
>( other ) )
75 mAfterState =
c->mAfterState;
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c