FSubmenuTile class

A tile that opens a nested popover menu to the side on tap.

Used inside FPopoverMenu.tiles to create hierarchical menus. For desktop-oriented submenus, use FSubmenuItem.

See:

Inheritance
Mixed-in types

Constructors

FSubmenuTile({required Widget title, required List<FTileGroupMixin> menu, FPopoverControl control = const .managed(), FItemVariant variant = .primary, FItemStyleDelta style = const .context(), bool? enabled, String? semanticsLabel, bool autofocus = false, FocusNode? focusNode, ValueChanged<bool>? onFocusChange, FTappableVariantChangeCallback? onVariantChange, VoidCallback? onLongPress, VoidCallback? onDoubleTap, VoidCallback? onSecondaryPress, VoidCallback? onSecondaryLongPress, Map<ShortcutActivator, Intent>? shortcuts, Map<Type, Action<Intent>>? actions, Widget? prefix, Widget? subtitle, Widget? suffix, FPopoverMenuStyleDelta menuStyle = const .context(), AlignmentGeometry? menuAnchor, AlignmentGeometry? childAnchor, ScrollController? submenuScrollController, ScrollCacheExtent? submenuScrollCacheExtent, bool? submenuIntrinsicWidth, DragStartBehavior submenuDragStartBehavior = .start, FPortalSpacing submenuSpacing = const .spacing(2), FPortalOverflow submenuOverflow = .flip, FPortalArrowAlignment? submenuArrow, Offset submenuOffset = .zero, FPopoverHideRegion submenuHideRegion = .excludeChild, String? submenuSemanticsLabel, bool submenuUseViewPadding = true, bool submenuUseViewInsets = true, OverlayChildLocation submenuOverlayLocation = .nearestOverlay, bool? submenuAutofocus, FocusScopeNode? submenuFocusNode, ValueChanged<bool>? submenuOnFocusChange, TraversalEdgeBehavior? submenuTraversalEdgeBehavior, double submenuMaxHeight = .infinity, FItemDivider submenuDivider = .full, Key? key})
Creates a FSubmenuTile.
const

Properties

actions → Map<Type, Action<Intent>>?
The actions for the trigger tile.
final
autofocus → bool
Whether the tile should be focused on initial build.
final
childAnchor → AlignmentGeometry?
The anchor point on the trigger tile used for positioning.
final
control → FPopoverControl
The popover control.
final
enabled → bool?
Whether the trigger tile is enabled. Defaults to true.
final
focusNode → FocusNode?
The focus node used by the trigger tile.
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
The submenu items.
final
The anchor point on the submenu used for positioning.
final
The submenu's popover style.
final
onDoubleTap → VoidCallback?
Called when the trigger tile is double-tapped.
final
onFocusChange → ValueChanged<bool>?
Called when the focus state of the trigger tile changes.
final
onLongPress → VoidCallback?
Called when the trigger tile is long-pressed.
final
onSecondaryLongPress → VoidCallback?
Called when the trigger tile is secondary-long-pressed.
final
onSecondaryPress → VoidCallback?
Called when the trigger tile is secondary-pressed (right click).
final
onVariantChange → FTappableVariantChangeCallback?
Called when the variant state of the trigger tile changes.
final
prefix → Widget?
The widget displayed before the title.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
semanticsLabel → String?
The semantic label used by accessibility frameworks.
final
shortcuts → Map<ShortcutActivator, Intent>?
The keyboard shortcuts for the trigger tile.
final
style → FItemStyleDelta
The trigger tile's style.
final
How the arrow should be aligned to the anchor. Defaults to null.
final
Whether the submenu should be auto-focused.
final
The divider between submenu items.
final
The submenu's drag start behavior.
final
The submenu's focus node.
final
The region that can be tapped to hide the popover.
final
Whether the submenu should size itself to the intrinsic width of its children.
final
The submenu's max height. Defaults to infinity.
final
The submenu's additional translation offset.
final
Called when the focus state of the submenu changes.
final
The submenu's overflow strategy.
final
The Overlay that the portal is attached to.
final
The scrollable area's cache extent.
final
The submenu's scroll controller.
final
The submenu's semantic label.
final
The spacing between the submenu and the trigger tile.
final
The submenu's traversal edge behavior.
final
Whether the submenu should use the view's insets.
final
Whether the submenu should use the view's padding.
final
subtitle → Widget?
The subtitle widget displayed below the title.
final
suffix → Widget?
The widget displayed after the title. Defaults to a chevron-right icon.
final
title → Widget
The title widget.
final
variant → FItemVariant
The variant used to resolve the tile's style.
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<FSubmenuTile>
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.
override
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