yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
settings_panel.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_UI_SETTINGS_PANEL_H_
2#define YAZE_APP_EDITOR_UI_SETTINGS_PANEL_H_
3
4#include <string>
5
9#include "core/project.h"
10
11namespace yaze {
12
13class Rom;
14
15namespace editor {
16
17class PanelManager;
18class ShortcutManager;
19
34 public:
35 SettingsPanel() = default;
36
37 void SetUserSettings(UserSettings* settings) { user_settings_ = settings; }
38 void SetPanelManager(PanelManager* registry) { panel_manager_ = registry; }
39 // Legacy alias during Panel→Panel rename.
40 void SetPanelRegistry(PanelManager* registry) { SetPanelManager(registry); }
42 void SetStatusBar(StatusBar* bar) { status_bar_ = bar; }
43 void SetRom(Rom* rom) { rom_ = rom; }
44 void SetProject(project::YazeProject* project) { project_ = project; }
45
46 // Main draw entry point
47 void Draw();
48
49 private:
52 void DrawEditorBehavior();
58 void DrawPanelShortcuts();
59 void DrawPatchSettings();
60 void DrawProjectSettings(); // New method
61 void DrawPatchList(const std::string& folder);
62 void DrawPatchDetails();
64
69 Rom* rom_ = nullptr;
70 project::YazeProject* project_ = nullptr; // Project reference
71
72 // Shortcut editing state
73 char shortcut_edit_buffer_[64] = {};
74 std::string editing_card_id_;
76
77 // Patch system state
79 std::string selected_folder_;
81 bool patches_loaded_ = false;
82};
83
84} // namespace editor
85} // namespace yaze
86
87#endif // YAZE_APP_EDITOR_UI_SETTINGS_PANEL_H_
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Definition rom.h:24
Represents a ZScream-compatible ASM patch file.
Definition asm_patch.h:74
Manages a collection of ZScream-compatible ASM patches.
Central registry for all editor cards with session awareness and dependency injection.
Manages the settings UI displayed in the right sidebar.
void SetStatusBar(StatusBar *bar)
void DrawPatchList(const std::string &folder)
ShortcutManager * shortcut_manager_
void DrawParameterWidget(core::PatchParameter *param)
core::AsmPatch * selected_patch_
void SetPanelRegistry(PanelManager *registry)
void SetPanelManager(PanelManager *registry)
core::PatchManager patch_manager_
project::YazeProject * project_
void SetShortcutManager(ShortcutManager *manager)
void SetUserSettings(UserSettings *settings)
void SetProject(project::YazeProject *project)
A session-aware status bar displayed at the bottom of the application.
Definition status_bar.h:38
Manages user preferences and settings persistence.
Represents a configurable parameter within an ASM patch.
Definition asm_patch.h:33
Modern project structure with comprehensive settings consolidation.
Definition project.h:84