1#ifndef YAZE_APP_EDITOR_SHELL_WINDOWS_SETTINGS_PANEL_H_
2#define YAZE_APP_EDITOR_SHELL_WINDOWS_SETTINGS_PANEL_H_
10#include "absl/status/status.h"
24class WorkspaceWindowManager;
26class SettingsPanelTestPeer;
64 absl::Status
Load()
override {
return absl::OkStatus(); }
65 absl::Status
Save()
override {
return absl::OkStatus(); }
68 return absl::OkStatus();
71 absl::Status
Undo()
override {
return absl::OkStatus(); }
72 absl::Status
Redo()
override {
return absl::OkStatus(); }
73 absl::Status
Cut()
override {
return absl::OkStatus(); }
74 absl::Status
Copy()
override {
return absl::OkStatus(); }
75 absl::Status
Paste()
override {
return absl::OkStatus(); }
76 absl::Status
Find()
override {
return absl::OkStatus(); }
78 bool CanUndo()
const override {
return false; }
79 bool CanRedo()
const override {
return false; }
80 bool CanCut()
const override {
return false; }
81 bool CanCopy()
const override {
return false; }
82 bool CanPaste()
const override {
return false; }
101 std::function<std::string()> hash_provider) {
110 Scope scope,
const std::string& query);
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Represents a ZScream-compatible ASM patch file.
Manages a collection of ZScream-compatible ASM patches.
Interface for editor classes.
project::YazeProject * project() const
Manages the settings UI displayed in the right sidebar.
void DrawPerformanceSettings()
std::string editing_card_id_
void SetOpenMinecartTracksCallback(OpenMinecartTracksCallback callback)
void SetStatusBar(StatusBar *bar)
std::function< project::YazeProject *()> project_provider_
void DrawProjectSettings()
void DrawPatchList(const std::string &folder)
bool CanCut() const override
void DrawFilesystemSettings()
void SetWindowManager(WorkspaceWindowManager *registry)
std::array< char, 128 > settings_search_
void Initialize() override
void DrawAppearanceSettings()
std::string active_category_
absl::Status Paste() override
void DrawCategoryNavigation(const std::vector< CategoryDescriptor > &categories, bool compact)
bool CanPaste() const override
char shortcut_edit_buffer_[64]
ShortcutManager * shortcut_manager_
void EnsureActiveCategory(const std::vector< CategoryDescriptor > &categories)
std::function< std::string()> rom_hash_provider_
void SetDependencies(const EditorDependencies &deps) override
bool CanUndo() const override
void DrawEditorShortcuts()
absl::Status Copy() override
void DrawGlobalShortcuts()
void ApplyNamedLayoutToDockspace(const std::string &name)
bool MatchesShortcutFilter(const std::string &text) const
void DrawParameterWidget(core::PatchParameter *param)
void DrawEditorBehavior()
absl::Status Redo() override
static DungeonOverlaySummary BuildDungeonOverlaySummary(const project::DungeonOverlaySettings &overlay)
absl::Status Undo() override
core::AsmPatch * selected_patch_
void DrawGeneralSettings()
void DrawWorkspaceSettings()
core::PatchManager patch_manager_
OpenMinecartTracksCallback open_minecart_tracks_callback_
project::YazeProject * project_
void SetShortcutManager(ShortcutManager *manager)
void SetProjectContextProvider(std::function< project::YazeProject *()> project_provider, std::function< std::string()> hash_provider)
void DrawCategoryContent(const std::string &category_id)
void SetUserSettings(UserSettings *settings)
friend class SettingsPanelTestPeer
std::string selected_folder_
UserSettings * user_settings_
void DrawKeyboardShortcuts()
bool is_editing_shortcut_
std::array< std::pair< std::string, bool >, 5 > DungeonOverlaySummary
std::string workspace_status_message_
std::string shortcut_filter_
static std::vector< CategoryDescriptor > FilterCategories(Scope scope, const std::string &query)
absl::Status Find() override
bool CanRedo() const override
void SetProject(project::YazeProject *project)
bool CanCopy() const override
void ApplyDisplayDensity(gui::DensityPreset preset)
absl::Status RequestOpenMinecartTracks()
absl::Status Save() override
absl::Status Update() override
absl::Status Load() override
WorkspaceWindowManager * window_manager_
bool workspace_status_is_error_
absl::Status Cut() override
void DrawPanelShortcuts()
std::function< absl::Status()> OpenMinecartTracksCallback
void DrawAIAgentSettings()
std::string project_status_message_
A session-aware status bar displayed at the bottom of the application.
Manages user preferences and settings persistence.
Central registry for all editor cards with session awareness and dependency injection.
DensityPreset
Typography and spacing density presets.
Represents a configurable parameter within an ASM patch.
Unified dependency container for all editor types.
Dungeon overlay configuration (per-project).
Modern project structure with comprehensive settings consolidation.