pub struct UndoAction {
pub description: String,
action: Box<dyn FnOnce() + Send>,
}
impl UndoAction {
pub fn new(description: String, action: Box<dyn FnOnce() + Send>) -> Self {
Self {
description,
action,
}
}
pub fn execute(self) {
(self.action)();
}
}