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
7
#include "
app/editor/registry/content_registry.h
"
8
#include "
app/editor/system/workspace/editor_panel.h
"
9
#include "
app/gui/core/icons.h
"
10
#include "
core/oracle_menu_registry.h
"
11
#include "imgui/imgui.h"
12
#include "imgui/misc/cpp/imgui_stdlib.h"
13
14
namespace
yaze::editor
{
15
16
class
OracleMenuInspectorPanel
:
public
WindowContent
{
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
}
26
WindowLifecycle
GetWindowLifecycle
()
const override
{
27
return
WindowLifecycle::CrossEditor
;
28
}
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
();
39
void
DrawDrawRoutinesTab
();
40
void
DrawComponentsTab
();
41
bool
MatchesFilter
(
const
std::string& value,
const
std::string& filter)
const
;
42
43
std::string
project_path_
;
44
bool
attempted_initial_load_
=
false
;
45
bool
has_registry_
=
false
;
46
core::OracleMenuRegistry
registry_
;
47
std::string
last_error_
;
48
std::string
status_message_
;
49
50
bool
bins_missing_only_
=
false
;
51
std::string
draw_filter_
;
52
std::string
component_table_filter_
;
53
54
std::vector<const core::OracleMenuComponent*>
filtered_components_
;
55
int
selected_component_list_index_
= -1;
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_
yaze::editor::OracleMenuInspectorPanel
Definition
menu_inspector_panel.h:16
yaze::editor::OracleMenuInspectorPanel::edit_col_
int edit_col_
Definition
menu_inspector_panel.h:57
yaze::editor::OracleMenuInspectorPanel::Draw
void Draw(bool *p_open) override
Draw the panel content.
Definition
menu_inspector_panel.cc:299
yaze::editor::OracleMenuInspectorPanel::GetIcon
std::string GetIcon() const override
Material Design icon for this panel.
Definition
menu_inspector_panel.h:20
yaze::editor::OracleMenuInspectorPanel::GetDisplayName
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
Definition
menu_inspector_panel.h:19
yaze::editor::OracleMenuInspectorPanel::filtered_components_
std::vector< const core::OracleMenuComponent * > filtered_components_
Definition
menu_inspector_panel.h:54
yaze::editor::OracleMenuInspectorPanel::draw_filter_
std::string draw_filter_
Definition
menu_inspector_panel.h:51
yaze::editor::OracleMenuInspectorPanel::DrawComponentsTab
void DrawComponentsTab()
Definition
menu_inspector_panel.cc:176
yaze::editor::OracleMenuInspectorPanel::attempted_initial_load_
bool attempted_initial_load_
Definition
menu_inspector_panel.h:44
yaze::editor::OracleMenuInspectorPanel::registry_
core::OracleMenuRegistry registry_
Definition
menu_inspector_panel.h:46
yaze::editor::OracleMenuInspectorPanel::GetPreferredWidth
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
Definition
menu_inspector_panel.h:29
yaze::editor::OracleMenuInspectorPanel::DrawToolbar
void DrawToolbar()
Definition
menu_inspector_panel.cc:74
yaze::editor::OracleMenuInspectorPanel::GetWorkflowDescription
std::string GetWorkflowDescription() const override
Optional workflow description for menus/command palette.
Definition
menu_inspector_panel.h:23
yaze::editor::OracleMenuInspectorPanel::status_message_
std::string status_message_
Definition
menu_inspector_panel.h:48
yaze::editor::OracleMenuInspectorPanel::DrawDrawRoutinesTab
void DrawDrawRoutinesTab()
Definition
menu_inspector_panel.cc:140
yaze::editor::OracleMenuInspectorPanel::GetWorkflowGroup
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
Definition
menu_inspector_panel.h:22
yaze::editor::OracleMenuInspectorPanel::bins_missing_only_
bool bins_missing_only_
Definition
menu_inspector_panel.h:50
yaze::editor::OracleMenuInspectorPanel::project_path_
std::string project_path_
Definition
menu_inspector_panel.h:43
yaze::editor::OracleMenuInspectorPanel::DrawBinsTab
void DrawBinsTab()
Definition
menu_inspector_panel.cc:97
yaze::editor::OracleMenuInspectorPanel::has_registry_
bool has_registry_
Definition
menu_inspector_panel.h:45
yaze::editor::OracleMenuInspectorPanel::MatchesFilter
bool MatchesFilter(const std::string &value, const std::string &filter) const
Definition
menu_inspector_panel.cc:64
yaze::editor::OracleMenuInspectorPanel::selected_component_list_index_
int selected_component_list_index_
Definition
menu_inspector_panel.h:55
yaze::editor::OracleMenuInspectorPanel::GetEditorCategory
std::string GetEditorCategory() const override
Editor category this panel belongs to.
Definition
menu_inspector_panel.h:21
yaze::editor::OracleMenuInspectorPanel::DrawSummary
void DrawSummary() const
Definition
menu_inspector_panel.cc:86
yaze::editor::OracleMenuInspectorPanel::EnsureProjectPath
void EnsureProjectPath()
Definition
menu_inspector_panel.cc:30
yaze::editor::OracleMenuInspectorPanel::GetWindowLifecycle
WindowLifecycle GetWindowLifecycle() const override
Get the lifecycle category for this window.
Definition
menu_inspector_panel.h:26
yaze::editor::OracleMenuInspectorPanel::edit_row_
int edit_row_
Definition
menu_inspector_panel.h:56
yaze::editor::OracleMenuInspectorPanel::GetId
std::string GetId() const override
Unique identifier for this panel.
Definition
menu_inspector_panel.h:18
yaze::editor::OracleMenuInspectorPanel::last_error_
std::string last_error_
Definition
menu_inspector_panel.h:47
yaze::editor::OracleMenuInspectorPanel::RefreshRegistry
void RefreshRegistry()
Definition
menu_inspector_panel.cc:41
yaze::editor::OracleMenuInspectorPanel::component_table_filter_
std::string component_table_filter_
Definition
menu_inspector_panel.h:52
yaze::editor::WindowContent
Base interface for all logical window content components.
Definition
editor_panel.h:89
icons.h
ICON_MD_MENU_BOOK
#define ICON_MD_MENU_BOOK
Definition
icons.h:1197
yaze::editor
Editors are the view controllers for the application.
Definition
patch_export_usage.cc:9
yaze::editor::WindowLifecycle
WindowLifecycle
Defines lifecycle behavior for editor windows.
Definition
editor_panel.h:24
yaze::editor::WindowLifecycle::CrossEditor
@ CrossEditor
User can pin to persist across editors.
oracle_menu_registry.h
content_registry.h
yaze::core::OracleMenuRegistry
Definition
oracle_menu_registry.h:40
editor_panel.h
src
app
editor
hack
oracle
ui
menu_inspector_panel.h
Generated by
1.10.0