ShellSlotsController class

Stato dei slot, su DUE canali indipendenti che lo shell unisce:

  • canale nav (back + breadcrumbs): pubblicato in modo centrale (un bridge che legge lo stato di navigazione), non dalle singole pagine.
  • canale page (pageActions + contextControls): pubblicato dalla pagina corrente in initState/post-frame, ripulito in dispose. Due canali separati = nessun overwrite tra publisher diversi. ChangeNotifier puro: zero dipendenza dall'app.
Inheritance

Constructors

ShellSlotsController()

Properties

hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
slots ShellSlots
no setter

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
bindShellActions({VoidCallback? openMenu, VoidCallback? openAi}) → void
Chiamato dallo shell in build per collegare le azioni allo Scaffold interno.
clearPage() → void
Azzera l'intero canale page (azioni + controlli). Da chiamare al cambio rotta / dispose pagina.
dispose() → void
Discards any resources used by the object.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
openAi() → void
Apre l'endDrawer AI (no-op se non disponibile).
openMenu() → void
Apre il drawer menu (no-op se nessuno Scaffold con drawer è montato).
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
setContextControls(List<ShellContextControl> controls, {ShellRevealControl? overflow}) → void
Canale page — controlli contestuali (pubblicati da chi li possiede, es. la tabella). Separato da setPageActions così i due publisher non si sovrascrivono a vicenda.
setNav({ShellBack? back, List<ShellCrumb> breadcrumbs = const []}) → void
Canale navigazione (centrale). Aggiorna back + breadcrumbs.
setPageActions(List<ShellAction> pageActions) → void
Canale page — azioni primarie della pagina (pubblicate dalla pagina).
setSelectionBar(Widget? bar) → void
Canale page — barra azioni bulk (selezione tabella). null = nessuna selezione attiva. Quando settata, il bottom mostra solo questa (priorità).
toString() String
A string representation of this object.
inherited

Operators

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