FluentChartTable class

A Fluent 2 chart table: tabular data with the same title treatment and contrast guarantees as the painted charts.

This is the one member of the family with no painter, and the grid lines are laid out rather than drawn over the top. border-collapse: collapse (useChartTableStyles.styles.ts:29) merges the two adjacent 2px cell edges into ONE 2px line, and that line still occupies space: the capture's six-column, five-row grid is 700x172, of which 14x12 is grid line — seven verticals and six horizontals — on top of the padding and the text. So every cell owns the line along its top and left edge as a real Border, and the grid owns the right and bottom edges that no cell covers.

TableBorder cannot express that. RenderTable's border is paint-only — it appears in neither _computeColumnWidths nor performLayout — so it strokes each line centred on a boundary that reserved nothing, and every boundary falls short by one line width for each row or column before it. That was this widget's bug: a 32px row pitch against upstream's 34, and a grid 160 tall against 172.

Inheritance

Constructors

FluentChartTable({Key? key, required List<FluentChartTableCell> headers, List<List<FluentChartTableCell>>? rows, double? width, double? height, double? columnWidth, String? chartTitle, FluentChartTableStyle? style})
Creates a chart table.
const

Properties

chartTitle String?
Optional title above the grid. Reserves the style's titleHeight of 30 out of the total (ChartTable.tsx:93).
final
columnWidth double?
Fixed width of every column's own box, exclusive of the grid line it shares with its neighbour — so the pitch from one column to the next is this plus one border width, exactly as border-collapse gives in CSS. Null lets each column size to its content, which is what a table with no width does.
final
hashCode int
The hash code for this object.
no setterinherited
headers List<FluentChartTableCell>
Header cells, left to right.
final
height double?
Hard height. Null uses the style's defaultHeight of 650 (ChartTable.tsx:94).
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
rows List<List<FluentChartTableCell>>?
Body rows. A null or empty list renders the header alone (ChartTable.tsx:154).
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
style FluentChartTableStyle?
Style layered over the derived defaults and the nearest FluentChartTableTheme.
final
width double?
Hard width. Null honours the incoming BoxConstraints, which is the project rule; upstream's '100%' default (ChartTable.tsx:96) is the same intent.
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited