yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::ProjectManagementPanel Class Reference

Panel for managing project settings, ROM versions, and snapshots. More...

#include <project_management_panel.h>

Collaboration diagram for yaze::editor::ProjectManagementPanel:

Public Types

using SwapRomCallback = std::function<void()>
 
using ReloadRomCallback = std::function<void()>
 
using SaveProjectCallback = std::function<void()>
 
using BrowseFolderCallback = std::function<void(const std::string& type)>
 

Public Member Functions

 ProjectManagementPanel ()=default
 
void SetProject (project::YazeProject *project)
 
void SetVersionManager (core::VersionManager *manager)
 
void SetRom (Rom *rom)
 
void SetToastManager (ToastManager *manager)
 
void SetSwapRomCallback (SwapRomCallback cb)
 
void SetReloadRomCallback (ReloadRomCallback cb)
 
void SetSaveProjectCallback (SaveProjectCallback cb)
 
void SetBrowseFolderCallback (BrowseFolderCallback cb)
 
void Draw ()
 

Private Member Functions

void DrawProjectOverview ()
 
void DrawRomManagement ()
 
void DrawVersionControl ()
 
void DrawSnapshotHistory ()
 
void DrawQuickActions ()
 

Private Attributes

project::YazeProjectproject_ = nullptr
 
core::VersionManagerversion_manager_ = nullptr
 
Romrom_ = nullptr
 
ToastManagertoast_manager_ = nullptr
 
SwapRomCallback swap_rom_callback_
 
ReloadRomCallback reload_rom_callback_
 
SaveProjectCallback save_project_callback_
 
BrowseFolderCallback browse_folder_callback_
 
char snapshot_message_ [256] = {}
 
bool show_snapshot_dialog_ = false
 
std::vector< std::string > history_cache_
 
bool history_dirty_ = true
 
bool project_dirty_ = false
 

Detailed Description

Panel for managing project settings, ROM versions, and snapshots.

Displayed in the right sidebar when a project is loaded. Features:

  • Project overview (name, ROM file, paths)
  • ROM version management (swap ROMs, reload)
  • Git/snapshot integration for versioning
  • Quick access to project configuration

Definition at line 29 of file project_management_panel.h.

Member Typedef Documentation

◆ SwapRomCallback

Definition at line 42 of file project_management_panel.h.

◆ ReloadRomCallback

Definition at line 43 of file project_management_panel.h.

◆ SaveProjectCallback

Definition at line 44 of file project_management_panel.h.

◆ BrowseFolderCallback

using yaze::editor::ProjectManagementPanel::BrowseFolderCallback = std::function<void(const std::string& type)>

Definition at line 45 of file project_management_panel.h.

Constructor & Destructor Documentation

◆ ProjectManagementPanel()

yaze::editor::ProjectManagementPanel::ProjectManagementPanel ( )
default

Member Function Documentation

◆ SetProject()

void yaze::editor::ProjectManagementPanel::SetProject ( project::YazeProject * project)
inline

Definition at line 34 of file project_management_panel.h.

References project_.

◆ SetVersionManager()

void yaze::editor::ProjectManagementPanel::SetVersionManager ( core::VersionManager * manager)
inline

Definition at line 35 of file project_management_panel.h.

References version_manager_.

◆ SetRom()

void yaze::editor::ProjectManagementPanel::SetRom ( Rom * rom)
inline

Definition at line 38 of file project_management_panel.h.

References rom_.

◆ SetToastManager()

void yaze::editor::ProjectManagementPanel::SetToastManager ( ToastManager * manager)
inline

Definition at line 39 of file project_management_panel.h.

References toast_manager_.

◆ SetSwapRomCallback()

void yaze::editor::ProjectManagementPanel::SetSwapRomCallback ( SwapRomCallback cb)
inline

Definition at line 47 of file project_management_panel.h.

References swap_rom_callback_.

◆ SetReloadRomCallback()

void yaze::editor::ProjectManagementPanel::SetReloadRomCallback ( ReloadRomCallback cb)
inline

Definition at line 48 of file project_management_panel.h.

References reload_rom_callback_.

◆ SetSaveProjectCallback()

void yaze::editor::ProjectManagementPanel::SetSaveProjectCallback ( SaveProjectCallback cb)
inline

Definition at line 49 of file project_management_panel.h.

References save_project_callback_.

◆ SetBrowseFolderCallback()

void yaze::editor::ProjectManagementPanel::SetBrowseFolderCallback ( BrowseFolderCallback cb)
inline

Definition at line 52 of file project_management_panel.h.

References browse_folder_callback_.

◆ Draw()

void yaze::editor::ProjectManagementPanel::Draw ( )

Definition at line 13 of file project_management_panel.cc.

References DrawProjectOverview(), DrawQuickActions(), DrawRomManagement(), DrawVersionControl(), and project_.

Referenced by yaze::editor::RightPanelManager::DrawProjectPanel().

Here is the call graph for this function:

◆ DrawProjectOverview()

◆ DrawRomManagement()

◆ DrawVersionControl()

◆ DrawSnapshotHistory()

void yaze::editor::ProjectManagementPanel::DrawSnapshotHistory ( )
private

◆ DrawQuickActions()

Member Data Documentation

◆ project_

project::YazeProject* yaze::editor::ProjectManagementPanel::project_ = nullptr
private

◆ version_manager_

core::VersionManager* yaze::editor::ProjectManagementPanel::version_manager_ = nullptr
private

◆ rom_

Rom* yaze::editor::ProjectManagementPanel::rom_ = nullptr
private

Definition at line 68 of file project_management_panel.h.

Referenced by DrawRomManagement(), and SetRom().

◆ toast_manager_

ToastManager* yaze::editor::ProjectManagementPanel::toast_manager_ = nullptr
private

◆ swap_rom_callback_

SwapRomCallback yaze::editor::ProjectManagementPanel::swap_rom_callback_
private

Definition at line 72 of file project_management_panel.h.

Referenced by DrawRomManagement(), and SetSwapRomCallback().

◆ reload_rom_callback_

ReloadRomCallback yaze::editor::ProjectManagementPanel::reload_rom_callback_
private

Definition at line 73 of file project_management_panel.h.

Referenced by DrawRomManagement(), and SetReloadRomCallback().

◆ save_project_callback_

SaveProjectCallback yaze::editor::ProjectManagementPanel::save_project_callback_
private

Definition at line 74 of file project_management_panel.h.

Referenced by DrawQuickActions(), and SetSaveProjectCallback().

◆ browse_folder_callback_

BrowseFolderCallback yaze::editor::ProjectManagementPanel::browse_folder_callback_
private

Definition at line 75 of file project_management_panel.h.

Referenced by DrawQuickActions(), and SetBrowseFolderCallback().

◆ snapshot_message_

char yaze::editor::ProjectManagementPanel::snapshot_message_[256] = {}
private

Definition at line 78 of file project_management_panel.h.

Referenced by DrawVersionControl().

◆ show_snapshot_dialog_

bool yaze::editor::ProjectManagementPanel::show_snapshot_dialog_ = false
private

Definition at line 79 of file project_management_panel.h.

◆ history_cache_

std::vector<std::string> yaze::editor::ProjectManagementPanel::history_cache_
private

Definition at line 82 of file project_management_panel.h.

Referenced by DrawSnapshotHistory().

◆ history_dirty_

bool yaze::editor::ProjectManagementPanel::history_dirty_ = true
private

Definition at line 83 of file project_management_panel.h.

Referenced by DrawSnapshotHistory(), and DrawVersionControl().

◆ project_dirty_

bool yaze::editor::ProjectManagementPanel::project_dirty_ = false
private

Definition at line 86 of file project_management_panel.h.

Referenced by DrawProjectOverview(), and DrawQuickActions().


The documentation for this class was generated from the following files: