@@ -110,6 +110,41 @@ class ChangeMMRest : public UndoableCommand
110110 UNDO_CHANGED_OBJECTS ({ m, mmrest })
111111};
112112
113+ // ChangeMMRestNext & ChangeMMRestPrev SHOULD ONLY BE USED FOR MMRests
114+ // Setting m_next & m_prev involves the score's MeasureList for regular measures
115+ // This is handled through undo commands above
116+ class ChangeMMRestNext : public UndoableCommand
117+ {
118+ OBJECT_ALLOCATOR (engraving, ChangeMMRestNext)
119+
120+ Measure* m_mmrest = nullptr ;
121+ MeasureBase* m_next = nullptr ;
122+
123+ void flip (EditData*) override ;
124+ public:
125+ ChangeMMRestNext (Measure* mmrest, MeasureBase* next)
126+ : m_mmrest(mmrest), m_next(next) {}
127+
128+ UNDO_NAME (" ChangeMMRestNext" )
129+ UNDO_CHANGED_OBJECTS ({ m_mmrest })
130+ };
131+
132+ class ChangeMMRestPrev : public UndoableCommand
133+ {
134+ OBJECT_ALLOCATOR (engraving, ChangeMMRestPrev)
135+
136+ Measure* m_mmrest = nullptr ;
137+ MeasureBase* m_prev = nullptr ;
138+
139+ void flip (EditData*) override ;
140+ public:
141+ ChangeMMRestPrev (Measure* mmrest, MeasureBase* prev)
142+ : m_mmrest(mmrest), m_prev(prev) {}
143+
144+ UNDO_NAME (" ChangeMMRestPrev" )
145+ UNDO_CHANGED_OBJECTS ({ m_mmrest })
146+ };
147+
113148class ChangeMeasureRepeatCount : public UndoableCommand
114149{
115150 OBJECT_ALLOCATOR (engraving, ChangeMeasureRepeatCount)
0 commit comments