yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
assembly_editor.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_ASSEMBLY_EDITOR_H
2#define YAZE_APP_EDITOR_ASSEMBLY_EDITOR_H
3
4#include <string>
5
6#include "app/editor/editor.h"
10#include "app/gui/style.h"
11#include "app/rom.h"
12
13namespace yaze {
14namespace editor {
15
16struct FolderItem {
17 std::string name;
18 std::vector<FolderItem> subfolders;
19 std::vector<std::string> files;
20};
21
26class AssemblyEditor : public Editor {
27 public:
33 void ChangeActiveFile(const std::string_view &filename);
34
35 void Initialize() override;
36 absl::Status Load() override;
37 void Update(bool &is_loaded);
38 void InlineUpdate();
39
40 void UpdateCodeView();
41
42 absl::Status Cut() override;
43 absl::Status Copy() override;
44 absl::Status Paste() override;
45
46 absl::Status Undo() override;
47 absl::Status Redo() override;
48 absl::Status Find() override { return absl::UnimplementedError("Find"); }
49
50 absl::Status Update() override;
51
52 absl::Status Save() override;
53
54 void OpenFolder(const std::string &folder_path);
55
56 void set_rom(Rom* rom) { rom_ = rom; }
57 Rom* rom() const { return rom_; }
58
59 private:
60 void DrawFileMenu();
61 void DrawEditMenu();
62 void DrawCurrentFolder();
64 void DrawToolset();
65
66 bool file_is_loaded_ = false;
69
70 std::vector<std::string> files_;
71 std::vector<TextEditor> open_files_;
72 ImVector<int> active_files_;
73
74 std::string current_file_;
77
79};
80
81} // namespace editor
82} // namespace yaze
83
84#endif
static const Palette & GetDarkPalette()
void SetShowWhitespaces(bool aValue)
void SetPalette(const Palette &aValue)
The Rom class is used to load, save, and modify Rom data.
Definition rom.h:71
Text editor for modifying assembly code.
absl::Status Find() override
absl::Status Save() override
std::vector< TextEditor > open_files_
absl::Status Load() override
void ChangeActiveFile(const std::string_view &filename)
absl::Status Copy() override
void OpenFolder(const std::string &folder_path)
absl::Status Paste() override
absl::Status Update() override
std::vector< std::string > files_
AssemblyEditor(Rom *rom=nullptr)
absl::Status Redo() override
absl::Status Undo() override
absl::Status Cut() override
Interface for editor classes.
Definition editor.h:82
EditorType type_
Definition editor.h:123
Main namespace for the application.
std::vector< FolderItem > subfolders
std::vector< std::string > files