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
"
7
#include "
app/gui/modules/text_editor.h
"
8
#include "
app/gui/editor_layout.h
"
9
#include "
app/gui/editor_card_manager.h
"
10
#include "
app/gui/style.h
"
11
#include "
app/rom.h
"
12
13
namespace
yaze
{
14
namespace
editor {
15
16
struct
FolderItem
{
17
std::string
name
;
18
std::vector<FolderItem>
subfolders
;
19
std::vector<std::string>
files
;
20
};
21
26
class
AssemblyEditor
:
public
Editor
{
27
public
:
28
explicit
AssemblyEditor
(
Rom
*
rom
=
nullptr
) :
rom_
(
rom
) {
29
text_editor_
.
SetPalette
(
TextEditor::GetDarkPalette
());
30
text_editor_
.
SetShowWhitespaces
(
false
);
31
type_
=
EditorType::kAssembly
;
32
}
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
();
63
void
DrawFileTabView
();
64
void
DrawToolset
();
65
66
bool
file_is_loaded_
=
false
;
67
int
current_file_id_
= 0;
68
int
active_file_id_
= -1;
69
70
std::vector<std::string>
files_
;
71
std::vector<TextEditor>
open_files_
;
72
ImVector<int>
active_files_
;
73
74
std::string
current_file_
;
75
FolderItem
current_folder_
;
76
TextEditor
text_editor_
;
77
78
Rom
*
rom_
;
79
};
80
81
}
// namespace editor
82
}
// namespace yaze
83
84
#endif
TextEditor
Definition
text_editor.h:17
TextEditor::GetDarkPalette
static const Palette & GetDarkPalette()
Definition
text_editor.cc:1807
TextEditor::SetShowWhitespaces
void SetShowWhitespaces(bool aValue)
Definition
text_editor.h:227
TextEditor::SetPalette
void SetPalette(const Palette &aValue)
Definition
text_editor.cc:68
yaze::Rom
The Rom class is used to load, save, and modify Rom data.
Definition
rom.h:71
yaze::editor::AssemblyEditor
Text editor for modifying assembly code.
Definition
assembly_editor.h:26
yaze::editor::AssemblyEditor::current_file_
std::string current_file_
Definition
assembly_editor.h:74
yaze::editor::AssemblyEditor::Find
absl::Status Find() override
Definition
assembly_editor.h:48
yaze::editor::AssemblyEditor::InlineUpdate
void InlineUpdate()
Definition
assembly_editor.cc:211
yaze::editor::AssemblyEditor::current_file_id_
int current_file_id_
Definition
assembly_editor.h:67
yaze::editor::AssemblyEditor::UpdateCodeView
void UpdateCodeView()
Definition
assembly_editor.cc:223
yaze::editor::AssemblyEditor::Save
absl::Status Save() override
Definition
assembly_editor.cc:274
yaze::editor::AssemblyEditor::open_files_
std::vector< TextEditor > open_files_
Definition
assembly_editor.h:71
yaze::editor::AssemblyEditor::Load
absl::Status Load() override
Definition
assembly_editor.cc:179
yaze::editor::AssemblyEditor::Initialize
void Initialize() override
Definition
assembly_editor.cc:175
yaze::editor::AssemblyEditor::rom_
Rom * rom_
Definition
assembly_editor.h:78
yaze::editor::AssemblyEditor::file_is_loaded_
bool file_is_loaded_
Definition
assembly_editor.h:66
yaze::editor::AssemblyEditor::DrawCurrentFolder
void DrawCurrentFolder()
Definition
assembly_editor.cc:297
yaze::editor::AssemblyEditor::DrawToolset
void DrawToolset()
Definition
assembly_editor.cc:283
yaze::editor::AssemblyEditor::ChangeActiveFile
void ChangeActiveFile(const std::string_view &filename)
Definition
assembly_editor.cc:387
yaze::editor::AssemblyEditor::DrawEditMenu
void DrawEditMenu()
Definition
assembly_editor.cc:361
yaze::editor::AssemblyEditor::rom
Rom * rom() const
Definition
assembly_editor.h:57
yaze::editor::AssemblyEditor::Copy
absl::Status Copy() override
Definition
assembly_editor.cc:424
yaze::editor::AssemblyEditor::DrawFileMenu
void DrawFileMenu()
Definition
assembly_editor.cc:348
yaze::editor::AssemblyEditor::text_editor_
TextEditor text_editor_
Definition
assembly_editor.h:76
yaze::editor::AssemblyEditor::OpenFolder
void OpenFolder(const std::string &folder_path)
Definition
assembly_editor.cc:187
yaze::editor::AssemblyEditor::Paste
absl::Status Paste() override
Definition
assembly_editor.cc:429
yaze::editor::AssemblyEditor::current_folder_
FolderItem current_folder_
Definition
assembly_editor.h:75
yaze::editor::AssemblyEditor::Update
absl::Status Update() override
Definition
assembly_editor.cc:444
yaze::editor::AssemblyEditor::set_rom
void set_rom(Rom *rom)
Definition
assembly_editor.h:56
yaze::editor::AssemblyEditor::files_
std::vector< std::string > files_
Definition
assembly_editor.h:70
yaze::editor::AssemblyEditor::active_file_id_
int active_file_id_
Definition
assembly_editor.h:68
yaze::editor::AssemblyEditor::AssemblyEditor
AssemblyEditor(Rom *rom=nullptr)
Definition
assembly_editor.h:28
yaze::editor::AssemblyEditor::Redo
absl::Status Redo() override
Definition
assembly_editor.cc:439
yaze::editor::AssemblyEditor::active_files_
ImVector< int > active_files_
Definition
assembly_editor.h:72
yaze::editor::AssemblyEditor::Undo
absl::Status Undo() override
Definition
assembly_editor.cc:434
yaze::editor::AssemblyEditor::Cut
absl::Status Cut() override
Definition
assembly_editor.cc:419
yaze::editor::AssemblyEditor::DrawFileTabView
void DrawFileTabView()
yaze::editor::Editor
Interface for editor classes.
Definition
editor.h:82
yaze::editor::Editor::type_
EditorType type_
Definition
editor.h:123
editor.h
editor_card_manager.h
editor_layout.h
yaze::editor::EditorType::kAssembly
@ kAssembly
yaze
Main namespace for the application.
Definition
asar_wrapper.cc:14
rom.h
yaze::editor::FolderItem
Definition
assembly_editor.h:16
yaze::editor::FolderItem::subfolders
std::vector< FolderItem > subfolders
Definition
assembly_editor.h:18
yaze::editor::FolderItem::files
std::vector< std::string > files
Definition
assembly_editor.h:19
yaze::editor::FolderItem::name
std::string name
Definition
assembly_editor.h:17
style.h
text_editor.h
src
app
editor
code
assembly_editor.h
Generated by
1.9.8