Skip to content

Data widgets: List / Table / Tree (virtualized) — none exist #8

Description

@nicolas-maman

Need

There's no way to display a data collection efficiently. The only container primitives are vstack/hstack/zstack/scrollview/form/navstack/grid; a list of N rows means N real widgets built by hand. Fyne ships List, Table, Tree, GridWrap — the backbone of file browsers, settings panes, log/data viewers, pickers.

Proposal

A virtualized list with the Fyne shape — length + factory + binder callbacks — recycling row views on scroll:

list(count_fn, make_row_fn, bind_row_fn) callback |idx| { ... }   // OnSelected

Backed by NSTableView/GtkListView (list), a columned table, and an expandable tree. Include a selection model + OnSelected.

Impact

Foundational. Found building aether-lang-org/aefyles: the file grid is faked with one btn per entry placed via grid_place into a fixed-column grid — it can't recycle, virtualize, or scroll well, so large directories don't scale.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions