yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
menu_inspector_panel.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_HACK_ORACLE_UI_MENU_INSPECTOR_PANEL_H_
2#define YAZE_APP_EDITOR_HACK_ORACLE_UI_MENU_INSPECTOR_PANEL_H_
3
4#include <string>
5#include <vector>
6
11#include "imgui/imgui.h"
12#include "imgui/misc/cpp/imgui_stdlib.h"
13
14namespace yaze::editor {
15
17 public:
18 std::string GetId() const override { return "oracle.menu_inspector"; }
19 std::string GetDisplayName() const override { return "Menu Inspector"; }
20 std::string GetIcon() const override { return ICON_MD_MENU_BOOK; }
21 std::string GetEditorCategory() const override { return "Agent"; }
22 std::string GetWorkflowGroup() const override { return "Assets"; }
23 std::string GetWorkflowDescription() const override {
24 return "Inspect menu registries and generated menu assets for the project";
25 }
29 float GetPreferredWidth() const override { return 520.0f; }
30
31 void Draw(bool* p_open) override;
32
33 private:
34 void EnsureProjectPath();
35 void RefreshRegistry();
36 void DrawToolbar();
37 void DrawSummary() const;
38 void DrawBinsTab();
40 void DrawComponentsTab();
41 bool MatchesFilter(const std::string& value, const std::string& filter) const;
42
43 std::string project_path_;
45 bool has_registry_ = false;
47 std::string last_error_;
48 std::string status_message_;
49
50 bool bins_missing_only_ = false;
51 std::string draw_filter_;
53
54 std::vector<const core::OracleMenuComponent*> filtered_components_;
56 int edit_row_ = 0;
57 int edit_col_ = 0;
58};
59
60} // namespace yaze::editor
61
62#endif // YAZE_APP_EDITOR_HACK_ORACLE_UI_MENU_INSPECTOR_PANEL_H_
void Draw(bool *p_open) override
Draw the panel content.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::vector< const core::OracleMenuComponent * > filtered_components_
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
std::string GetWorkflowDescription() const override
Optional workflow description for menus/command palette.
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
bool MatchesFilter(const std::string &value, const std::string &filter) const
std::string GetEditorCategory() const override
Editor category this panel belongs to.
WindowLifecycle GetWindowLifecycle() const override
Get the lifecycle category for this window.
std::string GetId() const override
Unique identifier for this panel.
Base interface for all logical window content components.
#define ICON_MD_MENU_BOOK
Definition icons.h:1197
Editors are the view controllers for the application.
WindowLifecycle
Defines lifecycle behavior for editor windows.
@ CrossEditor
User can pin to persist across editors.