tawasuyu

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 238TOML 102Markdown 83Shell 24178 Definiciones

⎇ main widgets/table/README.md Markdown · 22 líneas · 999 B Historia crudo

chore: refresco desde el monorepo — 27 crates nuevos (anim, lottie, svg, mesh, image, layer, test, wire-view, widgets rag-sidebar/router/lazy-list/rive-button) y sync de los 95 existentes 93253cc22 · Sergio ·

1# llimphi-widget-table
2
3Editable table and list for Llimphi.
4
5A grid of text cells: optional per-column headers, one row per record with a
6**remove** button, and an **add** button at the foot. The `list_view` variant is
7the single-column, header-less case.
8
9**Stateless by design.** Like `text_input_view`, the widget owns neither the
10focus nor the editing buffers: the caller says which cell is focused (`focused`)
11and lends it its `TextInputState` (`focused_state`); the remaining cells are
12painted from their text. Typing is routed by the caller into its `TextInputState`
13and the value is rebuilt — exactly as with a standalone text input.
14
15It is agnostic: it knows nothing about config. It emits the caller's `Msg`
16through three callbacks (`on_focus_cell`, `on_remove_row`, `on_add_row`). The
17"what changed" protocol (replace a cell, add/remove a row) is decided by the
18caller; the widget only fires the event with the coordinate.
19
20---
21
22Part of **llimphi** — see [llimphi](../../README.md).

README.md

llimphi-widget-table

Editable table and list for Llimphi.

A grid of text cells: optional per-column headers, one row per record with a remove button, and an add button at the foot. The list_view variant is the single-column, header-less case.

Stateless by design. Like text_input_view, the widget owns neither the focus nor the editing buffers: the caller says which cell is focused (focused) and lends it its TextInputState (focused_state); the remaining cells are painted from their text. Typing is routed by the caller into its TextInputState and the value is rebuilt — exactly as with a standalone text input.

It is agnostic: it knows nothing about config. It emits the caller's Msg through three callbacks (on_focus_cell, on_remove_row, on_add_row). The "what changed" protocol (replace a cell, add/remove a row) is decided by the caller; the widget only fires the event with the coordinate.


Part of llimphi — see llimphi.