c1e88af5c7
Panel con header (run_id + counts) + tabla 6-col (status icon / id / kind / expected / evidence preview / actions). Soporta 4 kinds de evidence: screenshot (stub textual), log (5-line preview + popup), url (xdg-open/ShellExecuteA) y cmd (diff expected vs actual). Botones Validate/Reject invocan callbacks on_validate/on_reject. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
32 lines
1.2 KiB
C++
32 lines
1.2 KiB
C++
#pragma once
|
|
|
|
// dod_evidence_panel — ImGui panel reutilizable para validar DoD evidence.
|
|
//
|
|
// Renderiza una tabla con items DoD (Definition of Done) + evidencias
|
|
// adjuntas. Cada fila: icono de status, id, kind, expected, preview de
|
|
// evidence (screenshot path / log preview / url clickable / cmd output con
|
|
// diff vs expected), y botones Validate/Reject que invocan callbacks.
|
|
//
|
|
// La logica pura (contar status, buscar evidence, mapear icon/color) vive en
|
|
// dod_evidence_panel_helpers.{h,cpp} y se testea sin ImGui.
|
|
//
|
|
// Uso:
|
|
// #include "viz/dod_evidence_panel.h"
|
|
// fn_viz::DodPanelState state;
|
|
// state.run_id = "run_abc123";
|
|
// state.items = load_dod_items(...);
|
|
// state.evidences = load_dod_evidences(...);
|
|
// state.on_validate = [](const std::string& id) { db.mark_validated(id); };
|
|
// state.on_reject = [](const std::string& id) { db.mark_failed(id); };
|
|
// fn_viz::render_dod_evidence_panel(state);
|
|
|
|
#include "dod_evidence_panel_helpers.h"
|
|
|
|
namespace fn_viz {
|
|
|
|
// Renderiza el panel inline en el current ImGui window.
|
|
// Debe llamarse dentro de un frame ImGui activo (entre NewFrame/Render).
|
|
void render_dod_evidence_panel(DodPanelState& state);
|
|
|
|
} // namespace fn_viz
|