50 void disableActions();
57 QString undoText()
const;
60 QString redoText()
const;
65 int currentIndex()
const;
67 void markCurrentIndexAsSaved();
69 bool isAtSavedIndex()
const;
71 QStack<score::Command*>& undoable() {
return m_undoable; }
72 QStack<score::Command*>& redoable() {
return m_redoable; }
73 const QStack<score::Command*>& undoable()
const {
return m_undoable; }
74 const QStack<score::Command*>& redoable()
const {
return m_redoable; }
83 E_SIGNAL(SCORE_LIB_BASE_EXPORT, localCommand, cmd)
88 void localUndo() E_SIGNAL(SCORE_LIB_BASE_EXPORT, localUndo)
93 void localRedo() E_SIGNAL(SCORE_LIB_BASE_EXPORT, localRedo)
95 void localIndexChanged(
int v) E_SIGNAL(SCORE_LIB_BASE_EXPORT, localIndexChanged, v)
97 void canUndoChanged(
bool b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, canUndoChanged, b)
98 void canRedoChanged(
bool b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, canRedoChanged, b)
100 void undoTextChanged(QString b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, undoTextChanged, b)
101 void redoTextChanged(QString b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, redoTextChanged, b)
103 void indexChanged(
int b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, indexChanged, b)
105 void stackChanged() E_SIGNAL(SCORE_LIB_BASE_EXPORT, stackChanged)
107 void saveIndexChanged(
bool b) E_SIGNAL(SCORE_LIB_BASE_EXPORT, saveIndexChanged, b)
111 void sig_undo() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sig_undo)
112 void sig_redo() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sig_redo)
113 void sig_push() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sig_push)
114 void sig_indexChanged() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sig_indexChanged)
116 void setIndex(
int index);
117 W_INVOKABLE(setIndex)
118 void setIndexQuiet(
int index);
119 W_INVOKABLE(setIndexQuiet)
123 W_INVOKABLE(undoQuiet)
125 W_INVOKABLE(redoQuiet)
134 W_INVOKABLE(redoAndPush)
150 W_INVOKABLE(redoAndPushQuiet)
152 W_INVOKABLE(pushQuiet)
156 SCORE_ASSERT(canUndo());
164 SCORE_ASSERT(canRedo());
171 template <
typename Callable>
181 bool pre_canUndo{canUndo()}, pre_canRedo{canRedo()};
187 if(pre_canUndo != canUndo())
188 canUndoChanged(canUndo());
190 if(pre_canRedo != canRedo())
191 canRedoChanged(canRedo());
194 undoTextChanged(m_undoable.top()->description());
199 redoTextChanged(m_redoable.top()->description());
203 indexChanged(m_undoable.size() - 1);
207 void setSavedIndex(
int index);
209 void validateDocument()
const;
212 QStack<score::Command*> m_undoable;
213 QStack<score::Command*> m_redoable;
217 DocumentValidator m_checker;
Definition DocumentContext.hpp:18