chore: snapshot WIP previo + flow 0008 + 7 sub-issues (0112-0119)
Snapshot de WIP acumulado de sesiones previas antes de merge wave 1 del flow 0008 (kanban_cpp + agent_runner_api + DoD schema). Incluye: - dev/flows/0008-kanban-cpp-and-agent-workflows.md - dev/issues/0112-0119*.md (7 sub-issues) - WIP previo en cmd/fn/doctor.go, registry/*, modules/, cpp/, etc. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
#pragma once
|
||||
// data_table_viz_panels — paneles de visualizacion lateral de la tabla TQL.
|
||||
// Sub-funcion extraida de modules/data_table/data_table.cpp (issue 0107c).
|
||||
//
|
||||
// Responsabilidad:
|
||||
// - draw_table_toggle: boton de toggle entre modo tabla y ultimo modo viz.
|
||||
// - draw_extra_panel: render de un panel de viz adicional (VizPanel) con su
|
||||
// toolbar mini (titulo, pin/close, selector de chart).
|
||||
// - draw_viz_config_popup: popup de configuracion de visualizacion (columnas
|
||||
// x/y, modo, config del grafico activo).
|
||||
// - draw_viz_selector: selector de modo de viz (iconos/grid de ViewMode).
|
||||
// - maybe_recompute_stats: recalcula las estadisticas de columna si cambiaron
|
||||
// los datos visibles (para el stats overlay en headers y config popup).
|
||||
//
|
||||
// Rangos del fuente original:
|
||||
// - draw_table_toggle : lineas 1527-1552
|
||||
// - draw_extra_panel : lineas 1553-1638
|
||||
// - draw_viz_config_popup : lineas 1640-1815
|
||||
// - draw_viz_selector : lineas 1816-1892
|
||||
// - maybe_recompute_stats : lineas 2474-2502
|
||||
//
|
||||
// Dependencias: data_table_types.h, viz_render.h (viz::render), imgui.h.
|
||||
|
||||
#include "core/data_table_types.h"
|
||||
#include "imgui.h"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
namespace data_table {
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// draw_table_toggle
|
||||
// Boton que cambia display entre ViewMode::Table y el ultimo modo viz no-tabla.
|
||||
// `id_suffix` diferencia multiples toggles en la misma ventana.
|
||||
// `st_ptr` si no null se usa para actualizar `st.display` directamente;
|
||||
// si null usa display/last_non_table pasados por ref.
|
||||
// ---------------------------------------------------------------------------
|
||||
void draw_table_toggle(ViewMode& display, ViewMode& last_non_table,
|
||||
const char* id_suffix,
|
||||
State* st_ptr = nullptr);
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// draw_extra_panel
|
||||
// Dibuja un VizPanel adicional (child window con toolbar mini + chart).
|
||||
// Retorna true si el usuario cerro el panel (el caller debe borrar el entry).
|
||||
// ---------------------------------------------------------------------------
|
||||
bool draw_extra_panel(State& st, VizPanel& p, int idx,
|
||||
const StageOutput& so,
|
||||
const std::vector<ColumnSpec>* col_specs);
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// draw_viz_config_popup
|
||||
// Popup de configuracion de visualizacion: columnas x/y, modo de chart,
|
||||
// colores, histogramas bins, pie radius, etc. Mutates st.viz_config y
|
||||
// st.extra_panels.
|
||||
// ---------------------------------------------------------------------------
|
||||
void draw_viz_config_popup(State& st);
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// draw_viz_selector
|
||||
// Selector de modo de visualizacion: grid de iconos con ViewMode disponibles.
|
||||
// Se abre via boton "Ask AI" o desde draw_viz_config_popup.
|
||||
// ---------------------------------------------------------------------------
|
||||
void draw_viz_selector(State& st);
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// maybe_recompute_stats
|
||||
// Recalcula st.stats_cache si el snapshot de datos ha cambiado
|
||||
// (se detecta por hash de visible_rows + filtros). Solo recalcula si
|
||||
// st.stats_mode == true.
|
||||
// ---------------------------------------------------------------------------
|
||||
void maybe_recompute_stats(State& st,
|
||||
const char* const* cells,
|
||||
int row_count, int orig_cols, int eff_cols,
|
||||
const std::vector<Filter>& active_filters,
|
||||
const std::vector<int>& visible_rows,
|
||||
const std::vector<int>& src_for_eff);
|
||||
|
||||
} // namespace data_table
|
||||
Reference in New Issue
Block a user