1#ifndef YAZE_APP_EDITOR_ASSEMBLY_EDITOR_H
2#define YAZE_APP_EDITOR_ASSEMBLY_EDITOR_H
8#include "absl/container/flat_hash_map.h"
9#include "absl/container/flat_hash_set.h"
61 absl::Status
Load()
override;
66 absl::Status
Cut()
override;
67 absl::Status
Copy()
override;
68 absl::Status
Paste()
override;
70 absl::Status
Undo()
override;
71 absl::Status
Redo()
override;
72 absl::Status
Find()
override {
return absl::UnimplementedError(
"Find"); }
74 absl::Status
Update()
override;
76 absl::Status
Save()
override;
78 void OpenFolder(
const std::string& folder_path);
91 const std::map<std::string, core::AsarSymbol>&
symbols()
const {
101 active_file_id_ < static_cast<int>(
open_files_.size());
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. This is a generic SNES ROM container and do...
Modern C++ wrapper for Asar 65816 assembler integration.
Text editor for modifying assembly code.
std::string current_file_
TextEditor::Coordinates active_cursor_position() const
absl::Status Find() override
absl::Status ValidateCurrentFile()
core::AsarWrapper * asar_wrapper()
std::vector< std::string > last_warnings_
std::map< std::string, core::AsarSymbol > symbols_
absl::Status Save() override
std::vector< TextEditor > open_files_
bool HasActiveFile() const
absl::Status Load() override
void Initialize() override
void ClearSymbolJumpCache()
void ChangeActiveFile(const std::string_view &filename)
absl::Status JumpToReference(const std::string &reference)
TextEditor * GetActiveEditor()
absl::Status Copy() override
absl::flat_hash_map< std::string, AsmSymbolLocation > symbol_jump_cache_
void UpdateErrorMarkers(const core::AsarPatchResult &result)
void OpenFolder(const std::string &folder_path)
absl::flat_hash_set< std::string > symbol_jump_negative_cache_
std::string active_file_path() const
absl::Status Paste() override
FolderItem current_folder_
absl::Status Update() override
std::vector< std::string > files_
const std::map< std::string, core::AsarSymbol > & symbols() const
void DrawToolbarContent()
AssemblyEditor(Rom *rom=nullptr)
absl::Status Redo() override
ImVector< int > active_files_
absl::Status Undo() override
void DrawSymbolsContent()
absl::Status ApplyPatchToRom()
absl::Status Cut() override
std::vector< std::string > last_errors_
std::string symbol_jump_root_
absl::Status JumpToSymbolDefinition(const std::string &symbol)
bool is_asar_initialized() const
Interface for editor classes.
Asar patch result information.
std::vector< FolderItem > subfolders
std::vector< std::string > files