18class RemoveArrangerObjectCommand :
public QUndoCommand
31 (std::is_same_v<ObjectT, structure::arrangement::TempoObject>
32 || std::is_same_v<ObjectT, structure::arrangement::TimeSignatureObject>)
36 RemoveArrangerObjectCommand (
38 structure::arrangement::ArrangerObjectUuidReference object_ref)
39 : QUndoCommand (QObject::tr (
"Remove Object")),
40 object_owner_ (object_owner), object_ref_ (std::move (object_ref))
44 void undo ()
override { object_owner_.add_object (object_ref_); }
45 void redo ()
override { object_owner_.remove_object (object_ref_.id ()); }
47 int id ()
const override {
return CommandId; }
50 structure::arrangement::ArrangerObjectOwner<ObjectT> &object_owner_;
51 structure::arrangement::ArrangerObjectUuidReference object_ref_;