10 if (action && action->is_undoable())
23 auto type = action->get_meta_type();
24 auto last_type = last_action->get_meta_type();
28 (
type == last_type) &&
29 action->merge_key != 0 &&
30 action->merge_key == last_action->merge_key &&
31 action->is_mergeable(*last_action);
36 action->merge_with(*last_action);
43 actions.emplace_back(std::move(action));
60 std::shared_ptr<editing_action_t> action =
nullptr;
64 if (current_index < actions.size() && actions[current_index])
66 action = actions[current_index];
68 if(action->is_valid())
70 action->execution_count++;
71 action->undo_action();
72 last_action_name = action->get_name();
73 last_action_elapsed_time = delta_t::zero();
87 std::shared_ptr<editing_action_t> action =
nullptr;
90 if (current_index < actions.size() && actions[current_index])
92 action = actions[current_index];
93 if(action->is_valid())
95 action->execution_count++;
97 last_action_name = action->get_name();
98 last_action_elapsed_time = delta_t::zero();