yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
editor.h
Go to the documentation of this file.
1#ifndef YAZE_APP_CORE_EDITOR_H
2#define YAZE_APP_CORE_EDITOR_H
3
4#include <array>
5
6#include "absl/status/status.h"
10
11namespace yaze {
12
17namespace editor {
18
24
37
38constexpr std::array<const char *, 10> kEditorNames = {
39 "Assembly", "Dungeon", "Graphics", "Music", "Overworld",
40 "Palette", "Screen", "Sprite", "Message", "Settings",
41};
42
49class Editor {
50 public:
51 Editor() = default;
52 virtual ~Editor() = default;
53
54 virtual absl::Status Cut() = 0;
55 virtual absl::Status Copy() = 0;
56 virtual absl::Status Paste() = 0;
57
58 virtual absl::Status Undo() = 0;
59 virtual absl::Status Redo() = 0;
60
61 virtual absl::Status Update() = 0;
62
63 virtual absl::Status Find() = 0;
64
65 EditorType type() const { return type_; }
66
67 protected:
70};
71
72} // namespace editor
73} // namespace yaze
74
75#endif // YAZE_APP_CORE_EDITOR_H
virtual absl::Status Cut()=0
virtual absl::Status Copy()=0
virtual absl::Status Redo()=0
EditorType type() const
Definition editor.h:65
EditorContext context_
Definition editor.h:69
virtual ~Editor()=default
EditorType type_
Definition editor.h:68
virtual absl::Status Find()=0
virtual absl::Status Paste()=0
virtual absl::Status Update()=0
virtual absl::Status Undo()=0
Editors are the view controllers for the application.
constexpr std::array< const char *, 10 > kEditorNames
Definition editor.h:38
Main namespace for the application.
Definition controller.cc:18
CommandManager command_manager
Definition editor.h:20
ExtensionManager extension_manager
Definition editor.h:21
HistoryManager history_manager
Definition editor.h:22