TableColumnLayout
The layout of a Table's columns: which of the model's columns each view position shows, and how wide each of those positions wants to be.
modelIndices holds the model index of every view column, left to right, so it describes the order the columns are in - reordering columns permutes it while the model behind them stays as it is. preferredWidths holds the matching width of each view column, in the same order, so the two lists have one entry each per view column. The width is the preferred width because that is the one a resize leaves behind: a table spreads the space it has across its columns in proportion to their preferred widths at every layout pass, so an exact width lasts only until the next one.
See also
Throws
if the two lists are of different sizes