TMenuOverlayController class
Centralized controller for the shared overlay-menu engine.
Tracks one active OverlayPortalController per nesting level, so opening a submenu at level N automatically closes anything deeper, and closes the whole stack once the pointer leaves every open panel.
This is the single implementation that replaces the two near-identical
controllers that used to live in the dropdown (TDropdownOverlayController,
level tracking via a Map<int, OverlayPortalController>) and the sidebar
(TSidebarOverlayController, a hand-rolled stack of raw OverlayEntrys
with its own smooth-close animation). The smooth/staggered close the
sidebar had is dropped deliberately — OverlayPortal.hide() unmounts
synchronously, so replicating an exit animation on top of it would mean
re-introducing a bespoke OverlayEntry layer, which defeats the point
of sharing this engine. If you want it back, it'd need to live as a
wrapping "closing" state inside TMenuOverlayPanel itself.
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
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
-
hideAll(
) → void -
hideDeeperThan(
int level) → void -
scheduleHide(
{Duration delay = const Duration(milliseconds: 125)}) → void -
setMouseInArea(
bool inArea) → void -
show(
int level, OverlayPortalController controller) → void