public static void Redo() { if (redoStack.Empty()) { return; } undoStack.Push(track.Clone() as Track); track = redoStack.Pop(); Dirty = true; DirtynessUpdated?.Invoke(Dirty); UndoneOrRedone?.Invoke(); UndoRedoStackUpdated?.Invoke(); }
// May throw exceptions. public static void Save() { track.SaveToFile(trackPath); Dirty = false; DirtynessUpdated?.Invoke(Dirty); }
public static void DoneWithChange() { DirtynessUpdated?.Invoke(Dirty); }