16class MoveArrangerObjectsCommand :
public QUndoCommand
19 enum class VerticalChangeType : std::uint8_t
26 MoveArrangerObjectsCommand (
27 std::vector<structure::arrangement::ArrangerObjectUuidReference> objects,
28 units::precise_tick_t tick_delta,
29 double vertical_delta = 0.0,
30 VerticalChangeType vertical_change_type = VerticalChangeType::Pitch);
32 int id ()
const override {
return 894553188; }
34 bool mergeWith (
const QUndoCommand * other)
override;
36 void undo ()
override;
37 void redo ()
override;
40 std::vector<structure::arrangement::ArrangerObjectUuidReference> objects_;
41 std::vector<units::precise_tick_t> original_positions_;
42 std::vector<double> original_vertical_positions_;
43 units::precise_tick_t tick_delta_;
44 double vertical_delta_{};
45 VerticalChangeType vertical_change_type_{};
46 std::chrono::time_point<std::chrono::steady_clock> last_redo_timestamp_;