HintTour class

A hint tour — a declarative sequence of HintSteps.

Pure data, serializable 1-to-1 to JSON (server-driven tours later): {id, steps: [{targetId, title, ...}], stepTimeout}.

Annotations

Constructors

HintTour({required String id, required List<HintStep> steps, Duration stepTimeout = const Duration(seconds: 3), bool disableBackButton = false})
const

Properties

disableBackButton bool
Block the system back button (Android back / route pop) while the tour is active, instead of letting it dismiss the app/screen mid-tour. Implemented by intercepting the route pop in the overlay host, so it works for any Flutter version (no PopScope dependency — which would also be ineffective inside an OverlayEntry anyway).
final
duplicateTargetIds Set<String>
Target ids referenced by more than one step — a tour-authoring error (one tour at a time, a duplicated target is ambiguous). Counts HintStep.targetIds (extras included); repeating an id WITHIN one step is not a duplicate (the same hole twice is harmless). The check is cheap and lazy; used by the controller's start-validation.
no setter
hashCode int
The hash code for this object.
no setterinherited
id String
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
steps List<HintStep>
final
stepTimeout Duration
Default wait-for-target timeout for all steps of the tour.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

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

Static Methods

fromEnum<T extends Enum>({required String id, required List<T> values, required HintStep stepFor(T value), Duration stepTimeout = const Duration(seconds: 3), bool disableBackButton = false}) HintTour
A tour whose steps come from an enum: the enum values (in declaration order) ARE the steps — stepFor maps each value to its HintStep.