26 QgsLayoutMultiFrameUndoCommand::QgsLayoutMultiFrameUndoCommand(
QgsLayoutMultiFrame *frame,
const QString &text,
int id, QUndoCommand *parent )
28 , mFrameUuid( frame->uuid() )
29 , mLayout( frame->layout() )
30 , mItemType( frame->type() )
35 bool QgsLayoutMultiFrameUndoCommand::mergeWith(
const QUndoCommand *command )
37 if ( command->id() == 0 )
40 const QgsLayoutMultiFrameUndoCommand *
c =
dynamic_cast<const QgsLayoutMultiFrameUndoCommand *
>( command );
45 if (
c->multiFrameUuid() != multiFrameUuid() )
48 setAfterState(
c->afterState() );
52 void QgsLayoutMultiFrameUndoCommand::saveState( QDomDocument &stateDoc )
const
55 QDomElement documentElement = stateDoc.createElement( QStringLiteral(
"ItemState" ) );
58 Q_ASSERT_X( item,
"QgsLayoutMultiFrameUndoCommand::saveState",
"could not retrieve item for saving state" );
61 stateDoc.appendChild( documentElement );
64 void QgsLayoutMultiFrameUndoCommand::restoreState( QDomDocument &stateDoc )
71 item = recreateItem( mItemType, mLayout );
76 mLayout->project()->setDirty(
true );
82 mLayout->addMultiFrame( item );
86 QString QgsLayoutMultiFrameUndoCommand::multiFrameUuid()
const
91 QgsLayout *QgsLayoutMultiFrameUndoCommand::layout()
const
101 QgsLayoutMultiFrameDeleteUndoCommand::QgsLayoutMultiFrameDeleteUndoCommand(
QgsLayoutMultiFrame *item,
const QString &text,
int id, QUndoCommand *parent )
102 : QgsLayoutMultiFrameUndoCommand( item, text, id, parent )
107 bool QgsLayoutMultiFrameDeleteUndoCommand::mergeWith(
const QUndoCommand * )
112 void QgsLayoutMultiFrameDeleteUndoCommand::redo()
130 QgsLayoutMultiFrameAddItemCommand::QgsLayoutMultiFrameAddItemCommand(
QgsLayoutMultiFrame *frame,
const QString &text,
int id, QUndoCommand *parent )
131 : QgsLayoutMultiFrameUndoCommand( frame, text, id, parent )
136 bool QgsLayoutMultiFrameAddItemCommand::containsChange()
const
141 bool QgsLayoutMultiFrameAddItemCommand::mergeWith(
const QUndoCommand * )
146 void QgsLayoutMultiFrameAddItemCommand::undo()