1#ifndef YAZE_APP_EDITOR_MENU_ACTIVITY_BAR_H_
2#define YAZE_APP_EDITOR_MENU_ACTIVITY_BAR_H_
7#include <unordered_set>
17class WorkspaceWindowManager;
24 std::function<
bool()> is_dungeon_workbench_mode = {},
25 std::function<void(
bool)> set_dungeon_workflow_mode = {});
40 void Render(
size_t session_id,
const std::string& active_category,
41 const std::vector<std::string>& all_categories,
42 const std::unordered_set<std::string>& active_editor_categories,
43 std::function<
bool()> has_rom,
44 std::function<
bool()> is_rom_dirty = {});
54 const std::vector<std::string>& input,
55 const std::vector<std::string>& order,
56 const std::unordered_set<std::string>& pinned,
57 const std::unordered_set<std::string>& hidden);
62 size_t session_id,
const std::string& active_category,
63 const std::vector<std::string>& all_categories,
64 const std::unordered_set<std::string>& active_editor_categories,
65 std::function<
bool()> has_rom,
66 std::function<
bool()> is_rom_dirty);
67 void DrawSidePanel(
size_t session_id,
const std::string& category,
68 std::function<
bool()> has_rom);
ActivityBar(WorkspaceWindowManager &window_manager, std::function< bool()> is_dungeon_workbench_mode={}, std::function< void(bool)> set_dungeon_workflow_mode={})
void DrawSidePanel(size_t session_id, const std::string &category, std::function< bool()> has_rom)
MoreActionsRegistry & actions_registry()
void DrawWindowBrowser(size_t session_id, bool *p_open)
void DrawActivityBarStrip(size_t session_id, const std::string &active_category, const std::vector< std::string > &all_categories, const std::unordered_set< std::string > &active_editor_categories, std::function< bool()> has_rom, std::function< bool()> is_rom_dirty)
WindowBrowser window_browser_
void DrawUtilityButtons(std::function< bool()> has_rom)
UserSettings * user_settings_
std::unique_ptr< MoreActionsRegistry > actions_registry_
WindowSidebar window_sidebar_
void DrawCategoryContextMenu(const std::string &category)
WorkspaceWindowManager & window_manager_
void SetUserSettings(UserSettings *settings)
static std::vector< std::string > SortCategories(const std::vector< std::string > &input, const std::vector< std::string > &order, const std::unordered_set< std::string > &pinned, const std::unordered_set< std::string > &hidden)
void HandleReorderDragAndDrop(const std::string &category)
void Render(size_t session_id, const std::string &active_category, const std::vector< std::string > &all_categories, const std::unordered_set< std::string > &active_editor_categories, std::function< bool()> has_rom, std::function< bool()> is_rom_dirty={})
Manages user preferences and settings persistence.
Central registry for all editor cards with session awareness and dependency injection.