yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
activity_bar.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_MENU_ACTIVITY_BAR_H_
2#define YAZE_APP_EDITOR_MENU_ACTIVITY_BAR_H_
3
4#include <functional>
5#include <string>
6#include <unordered_set>
7#include <vector>
8
9namespace yaze {
10namespace editor {
11
12class PanelManager;
13
15 public:
16 explicit ActivityBar(
17 PanelManager& panel_manager,
18 std::function<bool()> is_dungeon_workbench_mode = {},
19 std::function<void(bool)> set_dungeon_workflow_mode = {});
20
21 void Render(size_t session_id, const std::string& active_category,
22 const std::vector<std::string>& all_categories,
23 const std::unordered_set<std::string>& active_editor_categories,
24 std::function<bool()> has_rom);
25
26 void DrawPanelBrowser(size_t session_id, bool* p_open);
27
28 private:
29 void DrawUtilityButtons(std::function<bool()> has_rom);
31 size_t session_id, const std::string& active_category,
32 const std::vector<std::string>& all_categories,
33 const std::unordered_set<std::string>& active_editor_categories,
34 std::function<bool()> has_rom);
35 void DrawSidePanel(size_t session_id, const std::string& category,
36 std::function<bool()> has_rom);
37
39 std::function<bool()> is_dungeon_workbench_mode_;
40 std::function<void(bool)> set_dungeon_workflow_mode_;
41};
42
43} // namespace editor
44} // namespace yaze
45
46#endif // YAZE_APP_EDITOR_MENU_ACTIVITY_BAR_H_
void DrawPanelBrowser(size_t session_id, bool *p_open)
void DrawSidePanel(size_t session_id, const std::string &category, std::function< bool()> has_rom)
void DrawUtilityButtons(std::function< bool()> has_rom)
std::function< void(bool)> set_dungeon_workflow_mode_
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)
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_dungeon_workbench_mode_
PanelManager & panel_manager_
ActivityBar(PanelManager &panel_manager, std::function< bool()> is_dungeon_workbench_mode={}, std::function< void(bool)> set_dungeon_workflow_mode={})
Central registry for all editor cards with session awareness and dependency injection.