UiMenuStack class
Bounded menu stack. Submenus morph from their selected row, covering a retained parent at parentScale. The caller owns root overlay placement/dismissal; Back and Escape pop one nested level.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- UiMenuStack
Constructors
-
UiMenuStack({Key? key, required String title, required List<
UiMenuNode> items, double? parentScale, @Deprecated('Use scrimOpacity instead. Scheduled removal: 1.0.0.') double blurSigma = 0, double? scrimOpacity, double? backdropBlurSigma, double? surfaceOpacity, String backLabel = 'Back', ValueChanged<UiMenuItem> ? onSelected, VoidCallback? onDismiss, bool closeOnSelect = true, bool dismissOnTapOutside = true, bool dismissOnAncestorScroll = true, Duration? closeDuration, ValueChanged<int> ? onDepthChanged, bool handleSystemBack = true, UiMenuGestureController? gestureController, UiFluidController? rootController, UiFluidGeometry? rootSourceGeometry, Color? rootSourceColor, UiFluidGeometry? rootInitialSourceGeometry, Color? rootInitialSourceColor, BorderSide? rootInitialSourceBorder, BorderSide? rootSourceBorder, List<BoxShadow> ? rootSourceShadows, BoxFit rootSourceFit = BoxFit.contain, Rect? rootMenuBounds, bool rootAlignBottom = false, Widget? rootTrigger}) -
const
Properties
- backdropBlurSigma → double
-
no setter
- backLabel → String
-
final
- blurSigma → double
-
final
- closeDuration → Duration
-
no setter
- closeOnSelect → bool
-
final
- dismissOnAncestorScroll → bool
-
final
- dismissOnTapOutside → bool
-
final
- gestureController → UiMenuGestureController?
-
final
- handleSystemBack → bool
-
Optional More-to-menu presentation. Supply all three root properties.
The caller owns the controller; outside dismissal closes this presentation
as a whole, retaining nested pages until the compact endpoint is reached.
An anchored host can handle route Back through its gesture controller.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
items
→ List<
UiMenuNode> -
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
onDepthChanged
→ ValueChanged<
int> ? -
final
- onDismiss → VoidCallback?
-
Requests dismissal of the caller-owned root overlay. Without a callback,
the bounded stack returns to its root page.
final
-
onSelected
→ ValueChanged<
UiMenuItem> ? -
final
- parentScale → double
-
no setter
- rootAlignBottom → bool
-
Places content-sized root menus against the bottom of their viewport.
final
- rootController → UiFluidController?
-
final
- rootInitialSourceBorder → BorderSide?
-
final
- rootInitialSourceColor → Color?
-
final
- rootInitialSourceGeometry → UiFluidGeometry?
-
Optional current pressed frame; closing still targets the resting source.
final
- rootMenuBounds → Rect?
-
Optional bounds for expanded menus within the animation viewport.
Allows the root trigger to sit outside the expanded menu's layout area.
final
- rootSourceBorder → BorderSide?
-
final
- rootSourceColor → Color?
-
Actual compact trigger paint, interpolated into the expanded menu style.
Omission preserves the shared menu surface at both endpoints.
final
- rootSourceFit → BoxFit
-
final
- rootSourceGeometry → UiFluidGeometry?
-
final
-
rootSourceShadows
→ List<
BoxShadow> ? -
final
- rootTrigger → Widget?
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrimOpacity → double
-
no setter
-
no setter
- surfaceOpacity → double
-
no setter
- title → String
-
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< UiMenuStack> -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited