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 indispose. Due canali separati = nessun overwrite tra publisher diversi.ChangeNotifierpuro: zero dipendenza dall'app.
- Inheritance
-
- Object
- ChangeNotifier
- ShellSlotsController
Constructors
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.
- 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