FluentGanttChartDelegate class

Renders Gantt spans into the shared cartesian shell.

Ports GanttChart.tsx (620 lines). useGanttChartStyles is inert upstream — every class name resolves to the empty string — so no visual property is inherited from it.

points arrive with their colours already assigned: upstream's _points memo (GanttChart.tsx:72-100) walks the data once, mints one palette colour per legend, and rewrites every point's color before the chart ever draws. The widget owns that pass, so this delegate only falls back to the palette for a point that still has no colour.

Inheritance

Constructors

FluentGanttChartDelegate({required List<FluentGanttChartDataPoint> points, required FluentGanttChartStyle style, required FluentChartColors colors, required FluentChartTextMeasurer measurer, required List<String> selectedLegends, String? hoveredLegend, double? barHeightProp, double maxBarHeight = kGanttDefaultBarHeight, double yAxisPadding = 0.5, bool enableGradient = false, bool roundCorners = false, bool useUtc = true, String? culture, FluentAxisCategoryOrder? yAxisCategoryOrder})
Creates a delegate.
const

Properties

barHeightProp double?
Explicit bar height, overriding the auto solve (GanttChart.tsx:336).
final
barWidth double?
The bar width the x domain solve is given (CartesianChart.tsx:200).
no setterinherited
chartTitle String?
The narration prefix. Upstream uses props.chartTitle only for the SVG aria-label (CartesianChart.tsx:554) and never draws it; charts compose it themselves, e.g. LineChart.tsx:1843-1846.
no setterinherited
chartType FluentChartType
Which of the nine shell consumers this is (ChartTypes, utilities.ts:98-108). Selects the gridline and band-width special cases.
no setteroverride
colors FluentChartColors
Resolved chart colours.
final
culture String?
BCP-47 locale for date formatting.
final
datasetForXAxisDomain List<String>?
The band domain for a categorical x axis (CartesianChart.tsx:264).
no setterinherited
dateFormatLevels → (int, int)
The (min, max) date-format levels across every start and end.
no setter
enableGradient bool
Whether each legend paints a left-to-right gradient.
final
hashCode int
The hash code for this object.
no setterinherited
hoveredLegend String?
Legend title currently hovered.
final
isIntegralDataset bool
Whether every y value is a whole number.
no setterinherited
maxBarHeight double
Bar height ceiling — 24 (GanttChart.tsx:45).
final
maxOfYVal double?
AreaChart's precomputed y ceiling (CartesianChart.tsx:305).
no setterinherited
measurer FluentChartTextMeasurer
The chart subtree's single text measurer.
final
orderedYAxisLabels List<String>
The y-axis labels in band order — bottom of the plot first.
no setter
points List<FluentGanttChartDataPoint>
The spans, in author order, with colours already assigned.
final
roundCorners bool
Whether bars get a 3px corner radius.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedLegends List<String>
Legend titles selected by the user.
final
stringDatasetForYAxisDomain List<String>?
The band domain for a categorical y axis (CartesianChart.tsx:324).
no setteroverride
style FluentGanttChartStyle
The resolved style.
final
tickParams FluentTickParams
Explicit tick values and format handed to the x builders (CartesianChart.tsx:239-267).
no setterinherited
useUtc bool
Whether dates are formatted in UTC — default true (GanttChart.tsx:45).
final
xAxisInnerPadding double?
Inner band padding for the x axis (CartesianChart.tsx:217).
no setterinherited
xAxisOuterPadding double?
Outer band padding for the x axis (CartesianChart.tsx:218).
no setterinherited
xAxisPadding double?
Shorthand band padding for the x axis (CartesianChart.tsx:216).
no setterinherited
xAxisTickLayout FluentTickLayout
Fallback for props.xAxis?.tickLayout (CartesianChart.tsx:220, :282, :385).
no setterinherited
xAxisType FluentChartAxisType
The x-axis kind, which selects the x builder (CartesianChart.tsx:237-278).
no setteroverride
yAxisCategoryOrder FluentAxisCategoryOrder?
Ordering applied to a category y axis, or null when the caller named none.
final
yAxisPadding double
Band padding, already resolved by getScalePadding (GanttChart.tsx:116-118).
final
yAxisType FluentChartAxisType
The y-axis kind. FluentChartAxisType.category routes to createStringYAxis (CartesianChart.tsx:321).
no setteroverride

Methods

barHeightFor(double adjustedValue) double
Ports _getBarHeight (GanttChart.tsx:333-348).
barsFor(FluentCartesianChildContext context, FluentCartesianLayout layout) List<FluentGanttBar>
Resolves every bar, in draw order.
buildHitRegions(FluentCartesianChildContext context, FluentCartesianLayout layout) List<FluentChartHitRegion>
The interactive areas over the plot, in paint order.
override
createStringYAxis(FluentYAxisParams params, List<String> dataPoints, FluentAxisData axisData, {required bool isRtl}) FluentAxisSpec
createStringYAxis (CartesianChart.tsx:322-329).
override
createYAxis(FluentYAxisParams params, FluentAxisData axisData, {required bool isRtl, required bool isIntegralDataset, bool useSecondaryYScale = false}) FluentAxisSpec
createYAxis (CartesianChart.tsx:351, :363).
override
domainMargins(double containerWidth, FluentChartMargins margins) FluentChartMargins?
Adjusted margins for the x domain solve, or null to use the shell's (CartesianChart.tsx:195).
inherited
formattedSpan(FluentGanttChartDataPoint point) String
"<start> - <end>" (GanttChart.tsx:196-224).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
paintSeries(Canvas canvas, FluentCartesianChildContext context, FluentCartesianLayout layout, FluentChartColors colors) → void
Paints the marks.
override
resolveXDomainRange({required FluentChartMargins margins, required double containerWidth, required bool isRtl, required double? barWidth, required List<Object>? tickValues}) FluentChartDomainRange
getDomainNRangeValues (CartesianChart.tsx:193-202).
override
resolveYMinMax({bool useSecondaryYScale = false}) FluentChartMinMax
getMinMaxOfYAxis (CartesianChart.tsx:306, :347).
override
toString() String
A string representation of this object.
inherited
yDomainMargins(double containerHeight) FluentChartMargins?
Adjusted margins for the primary y solve, or null to use the shell's (CartesianChart.tsx:296). The secondary axis never gets these (:338); that asymmetry is upstream's and is reproduced.
override

Operators

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