yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
project_management_panel.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_UI_PROJECT_MANAGEMENT_PANEL_H_
2#define YAZE_APP_EDITOR_UI_PROJECT_MANAGEMENT_PANEL_H_
3
4#include <functional>
5#include <string>
6#include <vector>
7
8#include "core/project.h"
10
11namespace yaze {
12
13class Rom;
14
15namespace editor {
16
17class ToastManager;
18
30 public:
32
33 // Dependencies
34 void SetProject(project::YazeProject* project) { project_ = project; }
36 version_manager_ = manager;
37 }
38 void SetRom(Rom* rom) { rom_ = rom; }
39 void SetToastManager(ToastManager* manager) { toast_manager_ = manager; }
40
41 // Callbacks for actions that need EditorManager
42 using SwapRomCallback = std::function<void()>;
43 using ReloadRomCallback = std::function<void()>;
44 using SaveProjectCallback = std::function<void()>;
45 using BrowseFolderCallback = std::function<void(const std::string& type)>;
46
55
56 // Main draw entry point
57 void Draw();
58
59 private:
62 void DrawRomManagement();
63 void DrawVersionControl();
65 void DrawQuickActions();
66
69 Rom* rom_ = nullptr;
71
72 // Callbacks
77
78 // Snapshot creation UI state
79 char snapshot_message_[256] = {};
81
82 // History cache
83 std::vector<std::string> history_cache_;
84 bool history_dirty_ = true;
85
86 // Project edit state
87 bool project_dirty_ = false;
88};
89
90} // namespace editor
91} // namespace yaze
92
93#endif // YAZE_APP_EDITOR_UI_PROJECT_MANAGEMENT_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:28
Manages project versioning (Git) and ROM artifact snapshots.
Panel for managing project settings, ROM versions, and snapshots.
void SetVersionManager(core::VersionManager *manager)
void SetBrowseFolderCallback(BrowseFolderCallback cb)
void SetSaveProjectCallback(SaveProjectCallback cb)
std::function< void(const std::string &type)> BrowseFolderCallback
void SetProject(project::YazeProject *project)
void SetReloadRomCallback(ReloadRomCallback cb)
Modern project structure with comprehensive settings consolidation.
Definition project.h:120