yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
oracle_ram_panel.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_AGENT_ORACLE_RAM_PANEL_H_
2#define YAZE_APP_EDITOR_AGENT_ORACLE_RAM_PANEL_H_
3
4#include <cstdint>
5#include <memory>
6#include <string>
7#include <vector>
8
10
11namespace yaze {
12namespace editor {
13
18 public:
20 ~OracleRamPanel() override = default;
21
22 // WindowContent implementation
23 std::string GetId() const override { return "agent.oracle_ram"; }
24 std::string GetDisplayName() const override { return "Oracle RAM"; }
25 std::string GetIcon() const override; // Returns ICON_MD_MEMORY
26 std::string GetEditorCategory() const override { return "Agent"; }
30
31 void Draw(bool* p_open) override;
32 void OnOpen() override;
33
34 private:
35 struct RamVariable {
36 uint32_t address;
37 std::string label;
38 std::string description;
39 uint8_t size; // 1 or 2 bytes
40 uint16_t last_value = 0;
41 };
42
44 void RefreshVariables();
45 void DrawVariableTable();
46
47 std::vector<RamVariable> variables_;
48 double last_refresh_time_ = 0.0;
49 bool auto_refresh_ = true;
50};
51
52} // namespace editor
53} // namespace yaze
54
55#endif // YAZE_APP_EDITOR_AGENT_ORACLE_RAM_PANEL_H_
Panel for live monitoring of Oracle of Secrets RAM variables.
void Draw(bool *p_open) override
Draw the panel content.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::vector< RamVariable > variables_
std::string GetId() const override
Unique identifier for this panel.
void OnOpen() override
Called when panel becomes visible.
~OracleRamPanel() override=default
std::string GetIcon() const override
Material Design icon for this panel.
WindowLifecycle GetWindowLifecycle() const override
Get the lifecycle category for this window.
Base interface for all logical window content components.
WindowLifecycle
Defines lifecycle behavior for editor windows.
@ CrossEditor
User can pin to persist across editors.