TourController class Tours

Runs a guided tour: which tour is active, which step it is on, and how it ends.

The controller holds no widgets and no BuildContext. It knows a step count, supplied by the TourScope the targets register with, which is what lets a tour span several routes: a step whose target is not mounted yet simply has nothing to point at until it registers.

final TourController tour = TourController(storage: myStorage);

TourScope(
  controller: tour,
  child: const MyApp(),
);

// Anywhere below the scope:
Tour.of(context).start('onboarding');
Inheritance

Constructors

TourController({TourStorage? storage, TourStepCallback? onStepChanged, TourEndCallback? onEnd})
Creates a tour controller.

Properties

activeTour String?
The running tour's name, or null when no tour is running.
no setter
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
index int
The zero-based index of the current step.
no setter
isFirst bool
Whether the current step is the first one.
no setter
isLast bool
Whether the current step is the last one.
no setter
isRunning bool
Whether a tour is running.
no setter
length int
How many steps the active tour has.
no setter
onEnd TourEndCallback?
Called once when a tour ends, with the reason.
final
onStepChanged TourStepCallback?
Called whenever the active step changes, including the first one.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
step int
The human-facing step number, one-based. 0 when nothing is running.
no setter
storage TourStorage
Where completed tours are recorded.
no setter

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
cancel() → void
Ends the tour without recording it, so it runs again next time.
dispose() → void
Discards any resources used by the object.
inherited
finish() → void
Ends the tour normally and records it as completed.
goTo(int index) → void
Jumps straight to index of the running tour.
hasProgress(String tour) Future<bool>
Whether tour has a recorded position to resume from.
next() → void
Moves to the next step, or finishes the tour when on the last one.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
previous() → void
Moves back one step. A no-op on the first step.
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
skip() → void
Ends the tour early and records it as completed.
start(String tour, {bool force = false, bool resume = false}) Future<void>
Starts tour at its first step.
toString() String
A string representation of this object.
override

Operators

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