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_ORACLE_PANELS_MENU_INSPECTOR_PANEL_H_
2#define YAZE_APP_EDITOR_ORACLE_PANELS_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 "Oracle"; }
24 }
25 float GetPreferredWidth() const override { return 520.0f; }
26
27 void Draw(bool* p_open) override;
28
29 private:
30 void EnsureProjectPath();
31 void RefreshRegistry();
32 void DrawToolbar();
33 void DrawSummary() const;
34 void DrawBinsTab();
36 void DrawComponentsTab();
37 bool MatchesFilter(const std::string& value, const std::string& filter) const;
38
39 std::string project_path_;
41 bool has_registry_ = false;
43 std::string last_error_;
44 std::string status_message_;
45
46 bool bins_missing_only_ = false;
47 std::string draw_filter_;
49
50 std::vector<const core::OracleMenuComponent*> filtered_components_;
52 int edit_row_ = 0;
53 int edit_col_ = 0;
54};
55
56} // namespace yaze::editor
57
58#endif // YAZE_APP_EDITOR_ORACLE_PANELS_MENU_INSPECTOR_PANEL_H_
Base interface for all logical panel components.
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.
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
std::vector< const core::OracleMenuComponent * > filtered_components_
bool MatchesFilter(const std::string &value, const std::string &filter) const
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetId() const override
Unique identifier for this panel.
PanelCategory GetPanelCategory() const override
Get the lifecycle category for this panel.
#define ICON_MD_MENU_BOOK
Definition icons.h:1197
Editors are the view controllers for the application.
PanelCategory
Defines lifecycle behavior for editor panels.
@ CrossEditor
User can pin to persist across editors.