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:
61 void DrawRomManagement();
62 void DrawVersionControl();
64 void DrawQuickActions();
65
68 Rom* rom_ = nullptr;
70
71 // Callbacks
76
77 // Snapshot creation UI state
78 char snapshot_message_[256] = {};
80
81 // History cache
82 std::vector<std::string> history_cache_;
83 bool history_dirty_ = true;
84
85 // Project edit state
86 bool project_dirty_ = false;
87};
88
89} // namespace editor
90} // namespace yaze
91
92#endif // YAZE_APP_EDITOR_UI_PROJECT_MANAGEMENT_PANEL_H_
93
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
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:84