Unravel Engine C++ Reference
Loading...
Searching...
No Matches
undo_redo_stack.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
editing_action.h
"
4
#include <memory>
5
#include <vector>
6
7
namespace
unravel
8
{
9
10
struct
undo_redo_stack
11
{
12
std::vector<std::shared_ptr<editing_action_t>>
actions
;
13
size_t
current_index
{0};
// Points to the last executed action (0 = no actions executed)
14
15
void
push_if_undoable
(std::shared_ptr<editing_action_t> action);
16
17
auto
can_undo
() const ->
bool
;
18
auto
can_redo
() const ->
bool
;
19
20
void
undo
();
21
void
redo
();
22
void
clear
();
23
};
24
25
}
// namespace unravel
editing_action.h
unravel
Definition
crash.cpp:21
unravel::undo_redo_stack
Definition
undo_redo_stack.h:11
unravel::undo_redo_stack::redo
void redo()
Definition
undo_redo_stack.cpp:81
unravel::undo_redo_stack::push_if_undoable
void push_if_undoable(std::shared_ptr< editing_action_t > action)
Definition
undo_redo_stack.cpp:7
unravel::undo_redo_stack::can_undo
auto can_undo() const -> bool
Definition
undo_redo_stack.cpp:48
unravel::undo_redo_stack::can_redo
auto can_redo() const -> bool
Definition
undo_redo_stack.cpp:53
unravel::undo_redo_stack::current_index
size_t current_index
Definition
undo_redo_stack.h:13
unravel::undo_redo_stack::clear
void clear()
Definition
undo_redo_stack.cpp:102
unravel::undo_redo_stack::actions
std::vector< std::shared_ptr< editing_action_t > > actions
Definition
undo_redo_stack.h:12
unravel::undo_redo_stack::undo
void undo()
Definition
undo_redo_stack.cpp:58
UnravelEngine
UnravelEngine
editor
editor
editing
actions
undo_redo_stack.h
Generated by
1.12.0