28 lines
397 B
C++
28 lines
397 B
C++
#ifndef KTE_UNDONODE_H
|
|
#define KTE_UNDONODE_H
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
|
|
enum class UndoType : uint8_t {
|
|
Insert,
|
|
Delete,
|
|
Paste,
|
|
Newline,
|
|
DeleteRow,
|
|
};
|
|
|
|
struct UndoNode {
|
|
UndoType type{};
|
|
int row{};
|
|
int col{};
|
|
std::string text;
|
|
UndoNode *child = nullptr; // next in current timeline
|
|
UndoNode *next = nullptr; // redo branch
|
|
};
|
|
|
|
|
|
#endif // KTE_UNDONODE_H
|