computeWidths method
Computes column widths based on header and row data.
Respects ColumnConfig.minWidth and ColumnConfig.maxWidth constraints.
Implementation
void computeWidths(List<List<String>> rows) {
_widths = List.generate(columns.length, (i) {
final config = columns[i];
int width = text.visibleLength(config.header);
for (final row in rows) {
if (i < row.length) {
width = max(width, text.visibleLength(row[i]));
}
}
// Apply constraints
if (config.minWidth != null) {
width = max(width, config.minWidth!);
}
if (config.maxWidth != null) {
width = min(width, config.maxWidth!);
}
return width + cellPadding;
});
}