SSpreadsheet constructor

const SSpreadsheet({
  1. Key? key,
  2. required int rowCount,
  3. required int columnCount,
  4. required SSpreadsheetCellBuilder cellBuilder,
  5. SSpreadsheetRowHeaderBuilder? rowHeaderBuilder,
  6. SSpreadsheetColumnHeaderBuilder? columnHeaderBuilder,
  7. WidgetBuilder? cornerBuilder,
  8. double rowHeaderWidth = 100,
  9. double headerHeight = 48,
  10. SSpreadsheetRowHeightBuilder? rowHeightBuilder,
  11. SSpreadsheetColumnWidthBuilder? columnWidthBuilder,
  12. EdgeInsetsGeometry padding = EdgeInsets.zero,
  13. EdgeInsetsGeometry rowPadding = EdgeInsets.zero,
  14. ScrollController? verticalController,
  15. ScrollPhysics? verticalPhysics,
  16. ScrollPhysics? horizontalPhysics,
  17. Color? backgroundColor,
  18. bool showColumnHeader = true,
  19. SSpreadsheetHorizontalMetricsChanged? onHorizontalMetricsChanged,
  20. SSpreadsheetHorizontalSyncController? horizontalSyncController,
  21. bool repaintBoundaryPerRow = false,
  22. Duration rowExtentAnimationDuration = Duration.zero,
  23. bool addAutomaticKeepAlives = false,
})

Implementation

const SSpreadsheet({
  super.key,
  required this.rowCount,
  required this.columnCount,
  required this.cellBuilder,
  this.rowHeaderBuilder,
  this.columnHeaderBuilder,
  this.cornerBuilder,
  this.rowHeaderWidth = 100,
  this.headerHeight = 48,
  this.rowHeightBuilder,
  this.columnWidthBuilder,
  this.padding = EdgeInsets.zero,
  this.rowPadding = EdgeInsets.zero,
  this.verticalController,
  this.verticalPhysics,
  this.horizontalPhysics,
  this.backgroundColor,
  this.showColumnHeader = true,
  this.onHorizontalMetricsChanged,
  this.horizontalSyncController,
  this.repaintBoundaryPerRow = false,
  this.rowExtentAnimationDuration = Duration.zero,
  this.addAutomaticKeepAlives = false,
})  : assert(rowCount >= 0, 'rowCount must be >= 0'),
      assert(columnCount >= 0, 'columnCount must be >= 0'),
      assert(rowHeaderWidth >= 0, 'rowHeaderWidth must be >= 0'),
      assert(headerHeight >= 0, 'headerHeight must be >= 0');