performLayout method
Hook for subclasses to perform layout within the given constraints.
Implementation
@override
Size performLayout(BoxConstraints constraints) {
final table = widget as LazyTable;
final width = constraints.hasBoundedWidth ? constraints.maxWidth : 80;
final height = constraints.hasBoundedHeight
? constraints.maxHeight
: (table.itemCount + (table.headers.isNotEmpty ? 2 : 0));
final hasHeaders = table.headers.isNotEmpty;
final headerRowsCount = hasHeaders ? 2 : 0;
final usableHeight = height - headerRowsCount;
if (usableHeight > 0) {
table.adjustScroll(usableHeight);
}
resolvedColumnWidths = List<int>.generate(table.headers.length, (c) {
return c < table.columnWidths.length ? table.columnWidths[c] : 10;
});
return constraints.constrain(Size(width, height));
}