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.
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 shipsList,Table,Tree,GridWrap— the backbone of file browsers, settings panes, log/data viewers, pickers.Proposal
A virtualized
listwith the Fyne shape — length + factory + binder callbacks — recycling row views on scroll:Backed by
NSTableView/GtkListView(list), a columned table, and an expandabletree. Include a selection model + OnSelected.Impact
Foundational. Found building aether-lang-org/aefyles: the file grid is faked with one
btnper entry placed viagrid_placeinto a fixed-columngrid— it can't recycle, virtualize, or scroll well, so large directories don't scale.