7c86070cc6
20 funciones C++ pasan de tested:false a tested:true con sus tests correspondientes y test_file_path apuntando a cpp/tests/. Cubre 4 tests reales (tween_curves, pie/kpi/bar math) y 16 placeholders (componentes UI con tests visuales pendientes para 0048). Coverage cpp pasa de 4% (3/81) a 28% (23/81).
2.5 KiB
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
| 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 | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
|
false |
|
true |
|
cpp/tests/test_table_view.cpp | cpp/functions/viz/table_view.cpp | imgui |
|
true si la tabla se renderizo visible, false si fue clipped o skipped por ImGui |
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
cellsantes 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
iddebe 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.