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 = {});
43 void Render(
size_t session_id,
const std::string& active_category,
44 const std::vector<std::string>& all_categories,
45 const std::unordered_set<std::string>& active_editor_categories,
46 std::function<
bool()> has_rom,
47 std::function<
bool()> is_rom_dirty = {},
48 std::function<int()> pending_dungeon_rooms = {});
58 const std::vector<std::string>& input,
59 const std::vector<std::string>& order,
60 const std::unordered_set<std::string>& pinned,
61 const std::unordered_set<std::string>& hidden);
66 size_t session_id,
const std::string& active_category,
67 const std::vector<std::string>& all_categories,
68 const std::unordered_set<std::string>& active_editor_categories,
69 std::function<
bool()> has_rom, std::function<
bool()> is_rom_dirty,
70 std::function<
int()> pending_dungeon_rooms);
71 void DrawSidePanel(
size_t session_id,
const std::string& category,
72 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)
WindowBrowser window_browser_
void DrawUtilityButtons(std::function< bool()> has_rom)
UserSettings * user_settings_
std::unique_ptr< MoreActionsRegistry > actions_registry_
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={}, std::function< int()> pending_dungeon_rooms={})
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 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, std::function< int()> pending_dungeon_rooms)
float GetBottomReservedHeight() const
Manages user preferences and settings persistence.
Central registry for all editor cards with session awareness and dependency injection.