Package limn.components.table
Table is the widget; Column
names a title, how a row becomes a cell value, how that value becomes text, how rows compare
on it and how wide it is. The application keeps its rows in a List the table holds by
reference and re-reads on Table.refresh(); nothing is copied and
nothing is read until it is on screen, so a table over a million rows costs what one over
twenty does.
A cell is a value drawn as text until its column asks for a widget
(Column.widget); those cells are real children, mounted and
recycled with their row, and they are the whole of in-row interaction: the table does not edit
cells in place, by decision, and a record is edited whole, in a dialog or a panel. Sorting keeps
a permutation over the application's list and never reorders it, so the selection — a set
of model rows — survives a sort.
-
ClassDescriptionColumn<T>One column of a
Table: a title, how a row becomes a cell, how rows compare on it, and how wide it is.Where a cell's text sits across its column.How aTableis ordered on one of its columns.Table<T>A table:Columns over a list the application owns, virtualized on both axes.