MenuController class

Manages the lifecycle, selection, filtering, and overlay visibility of a Menu.

Extends ValueNotifier so the Menu widget rebuilds whenever the state changes. You can create a controller externally and pass it to Menu for programmatic control, or let the widget create one internally.

Key methods

Inheritance

Constructors

Properties

hashCode → int
The hash code for this object.
no setterinherited
hasListeners → bool
Whether any listeners are currently registered.
no setterinherited
isOverlayVisible → bool
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
value ↔ MenuState
The current value stored in this notifier.
getter/setter pairinherited

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
attachFocusNode(FocusNode node) → void
dispose() → void
Discards any resources used by the object.
override
filterItems(List<MenuItem> allItems, String query, {MenuFilterCallback? filterCallback}) → void
hideOverlay() → void
highlightNext() → void
highlightPrevious() → void
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
searchHighlight(String query, {MenuSearchCallback? searchCallback}) → void
selectHighlighted() → void
selectItem(MenuItem item) → void
showOverlay(BuildContext context, OverlayEntry builder()) → void
toggleOverlay(BuildContext context, OverlayEntry builder()) → void
toString() → String
A string representation of this object.
inherited
updateFilteredItems(List<MenuItem> items) → void

Operators

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