Files
fn_registry/cpp/functions/viz/table_view.md
T
egutierrez 958189227d chore(registry): notes en huerfanas usadas por framework/apps
Auditoria del issue 0044: anota en notes: el contexto de consumo de
huerfanos que no pueden registrarse en uses_functions porque sus
consumidores no son funciones del registry:
- consumido por cpp/framework/app_base.cpp (framework no indexado)
- consumido por cpp/apps/{shaders_lab,chart_demo,text_editor_smoke}/main.cpp
- scaffolding/demo en primitives_gallery

31 huerfanas anotadas. Las que quedan en uses_functions=[] tras esto
son hojas legitimas (no llaman a nada) o realmente sin uso (lista
DEAD reportada en el issue 0044).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 23:40:51 +02:00

2.5 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, framework, params, output, notes
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path framework params output notes
table_view component cpp viz 1.0.0 pure bool table_view(const char* id, const char* const* headers, int col_count, const char* const* cells, int row_count) Renderiza una tabla interactiva con sorting y scroll usando ImGui Tables API
imgui
table
visualization
dashboard
data
false
imgui
false
cpp/functions/viz/table_view.cpp imgui
name desc
id Identificador unico de la tabla para ImGui (debe ser unico en el frame)
name desc
headers Array de strings con los nombres de las columnas
name desc
col_count Numero de columnas
name desc
cells Array flat row-major de strings; acceso a celda (row, col) via cells[row * col_count + col]
name desc
row_count Numero de filas de datos, sin contar el header
true si la tabla se renderizo visible, false si fue clipped o skipped por ImGui scaffolding/demo en primitives_gallery

table_view

Wrapper atomico sobre ImGui::BeginTable / ImGui::EndTable. Renderiza una tabla con las siguientes capacidades:

  • Borders: bordes entre celdas y columnas
  • Sortable: muestra indicadores de orden en los headers (el caller es responsable de ordenar cells antes de llamar)
  • RowBg: filas alternadas con color de fondo
  • Resizable: el usuario puede arrastrar los separadores de columna
  • ScrollY: scroll vertical con altura fija de 300px
  • Reorderable: el usuario puede reordenar columnas arrastrando los headers

El caller controla el orden de los datos — table_view solo habilita el flag Sortable para que ImGui muestre los indicadores visuales, pero no reordena cells internamente.

Debe llamarse dentro del render callback de fn::run_app (o cualquier contexto con un frame ImGui activo).

Ejemplo

const char* headers[] = {"Nombre", "Valor", "Estado"};
const char* cells[] = {
    "Alpha", "1.23", "OK",
    "Beta",  "4.56", "WARN",
    "Gamma", "7.89", "ERROR",
};
table_view("##mi_tabla", headers, 3, cells, 3);

Notas

  • id debe comenzar con ## si no se quiere mostrar como titulo de ventana en el contexto ImGui.
  • El outer size fijo de ImVec2(0, 300) puede parametrizarse en una version futura.
  • El sorting real de datos queda fuera del scope de esta funcion para mantenerla pura y componible.