50 void disableActions();
57 QString undoText()
const;
60 QString redoText()
const;
65 int currentIndex()
const;
67 void markCurrentIndexAsSaved();
69 bool isAtSavedIndex()
const;
76 void beginPendingEdit();
77 void endPendingEdit();
79 QStack<score::Command*>& undoable() {
return m_undoable; }
80 QStack<score::Command*>& redoable() {
return m_redoable; }
81 const QStack<score::Command*>& undoable()
const {
return m_undoable; }
82 const QStack<score::Command*>& redoable()
const {
return m_redoable; }
91 E_SIGNAL(SCORE_LIB_BASE_EXPORT, localCommand, cmd)
96 void localUndo() E_SIGNAL(SCORE_LIB_BASE_EXPORT, localUndo)
101 void localRedo() E_SIGNAL(SCORE_LIB_BASE_EXPORT, localRedo)
103 void localIndexChanged(
int v) E_SIGNAL(SCORE_LIB_BASE_EXPORT, localIndexChanged, v)
105 void canUndoChanged(
bool b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, canUndoChanged, b)
106 void canRedoChanged(
bool b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, canRedoChanged, b)
108 void undoTextChanged(QString b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, undoTextChanged, b)
109 void redoTextChanged(QString b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, redoTextChanged, b)
111 void indexChanged(
int b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, indexChanged, b)
113 void stackChanged() E_SIGNAL(SCORE_LIB_BASE_EXPORT, stackChanged)
115 void saveIndexChanged(
bool b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, saveIndexChanged, b)
119 void sig_undo() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sig_undo)
120 void sig_redo() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sig_redo)
121 void sig_push() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sig_push)
122 void sig_indexChanged() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sig_indexChanged)
125 void aboutToChange() E_SIGNAL(SCORE_LIB_BASE_EXPORT, aboutToChange)
127 void setIndex(
int index);
128 W_INVOKABLE(setIndex)
129 void setIndexQuiet(
int index);
130 W_INVOKABLE(setIndexQuiet)
134 W_INVOKABLE(undoQuiet)
136 W_INVOKABLE(redoQuiet)
145 W_INVOKABLE(redoAndPush)
161 W_INVOKABLE(redoAndPushQuiet)
163 W_INVOKABLE(pushQuiet)
167 SCORE_ASSERT(canUndo());
175 SCORE_ASSERT(canRedo());
182 template <
typename Callable>
192 bool pre_canUndo{canUndo()}, pre_canRedo{canRedo()};
198 if(pre_canUndo != canUndo())
199 canUndoChanged(canUndo());
201 if(pre_canRedo != canRedo())
202 canRedoChanged(canRedo());
205 undoTextChanged(m_undoable.top()->description());
210 redoTextChanged(m_redoable.top()->description());
214 indexChanged(m_undoable.size() - 1);
218 void setSavedIndex(
int index);
220 void validateDocument()
const;
223 QStack<score::Command*> m_undoable;
224 QStack<score::Command*> m_redoable;
227 int m_pendingEdits{};
230 DocumentValidator m_checker;
Definition DocumentContext.hpp:18