yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
oracle_validation_panel.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_ORACLE_PANELS_ORACLE_VALIDATION_PANEL_H_
2#define YAZE_APP_EDITOR_ORACLE_PANELS_ORACLE_VALIDATION_PANEL_H_
3
4#include <future>
5#include <optional>
6#include <string>
7
10
11namespace yaze {
12class Rom;
13}
14
15namespace yaze::editor {
16
18 public:
19 ~OracleValidationPanel() override;
20
21 std::string GetId() const override;
22 std::string GetDisplayName() const override;
23 std::string GetIcon() const override;
24 std::string GetEditorCategory() const override;
25 PanelCategory GetPanelCategory() const override;
26 float GetPreferredWidth() const override;
27
28 void Draw(bool* p_open) override;
29
30 private:
31 static std::string DefaultRomPath();
32 void PollPendingResult();
33 Rom* GetRom() const;
35
36 void DrawOptions();
37 void DrawActionButtons();
38 void DrawResults();
42
43 std::string rom_path_ = DefaultRomPath();
45 bool write_report_ = false;
46 std::string report_path_;
47 std::string required_collision_rooms_ = "0x25,0x27";
48
49 bool running_ = false;
50 std::future<oracle_validation::OracleRunResult> pending_;
51 std::optional<oracle_validation::OracleRunResult> last_result_;
52 std::string status_message_;
53};
54
55} // namespace yaze::editor
56
57#endif // YAZE_APP_EDITOR_ORACLE_PANELS_ORACLE_VALIDATION_PANEL_H_
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Definition rom.h:28
Base interface for all logical panel components.
void DrawSmokeCards(const oracle_validation::SmokeResult &smoke)
void DrawRawOutput(const oracle_validation::OracleRunResult &result)
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
std::future< oracle_validation::OracleRunResult > pending_
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetId() const override
Unique identifier for this panel.
void Draw(bool *p_open) override
Draw the panel content.
PanelCategory GetPanelCategory() const override
Get the lifecycle category for this panel.
std::optional< oracle_validation::OracleRunResult > last_result_
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
void LaunchRun(oracle_validation::RunMode mode)
std::string GetEditorCategory() const override
Editor category this panel belongs to.
void DrawPreflightCards(const oracle_validation::PreflightResult &preflight)
Editors are the view controllers for the application.
PanelCategory
Defines lifecycle behavior for editor panels.