24#include "moc_qgslayoutitemgroupundocommand.cpp"
27QgsLayoutItemGroupUndoCommand::QgsLayoutItemGroupUndoCommand( State s,
QgsLayoutItemGroup *group,
QgsLayout *layout,
const QString &text, QUndoCommand *parent )
28 : QUndoCommand( text, parent )
29 , mGroupUuid( group->uuid() )
33 const QList< QgsLayoutItem * > items = group->
items();
36 mItemUuids.insert( i->uuid() );
40void QgsLayoutItemGroupUndoCommand::redo()
50void QgsLayoutItemGroupUndoCommand::undo()
60void QgsLayoutItemGroupUndoCommand::switchState()
62 if ( mState == Grouped )
66 Q_ASSERT_X( group,
"QgsLayoutItemGroupUndoCommand::switchState",
"Could not find group" );
68 mLayout->removeLayoutItemPrivate( group );
78 mLayout->addLayoutItemPrivate( group );
81 for (
const QString &childUuid : std::as_const( mItemUuids ) )
89 mLayout->project()->setDirty(
true );
A container for grouping several QgsLayoutItems.
void removeItems()
Removes all items from the group (but does not delete them).
void addItem(QgsLayoutItem *item)
Adds an item to the group.
QList< QgsLayoutItem * > items() const
Returns a list of items contained by the group.
Base class for graphical items within a QgsLayout.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.