FPopoverMenu class

A popover menu displays a menu in a portal aligned to a child.

See:

Inheritance

Constructors

FPopoverMenu.new({required FPopoverController popoverController, required List<FTileGroupMixin<FTileMixin>> menu, required Widget child, ScrollController? scrollController, FPopoverMenuStyle? style, double? cacheExtent, double maxHeight = double.infinity, DragStartBehavior dragStartBehavior = DragStartBehavior.start, FTileDivider divider = FTileDivider.full, AlignmentGeometry menuAnchor = Alignment.topCenter, AlignmentGeometry childAnchor = Alignment.bottomCenter, FPortalSpacing spacing = const FPortalSpacing(4), Offset shift(Size, FPortalChildBox, FPortalBox) = FPortalShift.flip, Offset offset = Offset.zero, Object? groupId, FHidePopoverRegion hideOnTapOutside = FHidePopoverRegion.anywhere, String? semanticsLabel, bool autofocus = false, FocusScopeNode? focusNode, ValueChanged<bool>? onFocusChange, TraversalEdgeBehavior traversalEdgeBehavior = TraversalEdgeBehavior.closedLoop, Key? key})
Creates a menu that only shows the menu when the controller is manually toggled.
const
FPopoverMenu.automatic({required List<FTileGroupMixin<FTileMixin>> menu, required Widget child, FPopoverMenuStyle? style, FPopoverController? popoverController, ScrollController? scrollController, double? cacheExtent, double maxHeight = double.infinity, DragStartBehavior dragStartBehavior = DragStartBehavior.start, FTileDivider divider = FTileDivider.full, AlignmentGeometry menuAnchor = Alignment.topCenter, AlignmentGeometry childAnchor = Alignment.bottomCenter, FPortalSpacing spacing = const FPortalSpacing(4), Offset shift(Size, FPortalChildBox, FPortalBox) = FPortalShift.flip, Offset offset = Offset.zero, Object? groupId, FHidePopoverRegion hideOnTapOutside = FHidePopoverRegion.excludeTarget, String? semanticsLabel, bool autofocus = false, FocusScopeNode? focusNode, ValueChanged<bool>? onFocusChange, TraversalEdgeBehavior traversalEdgeBehavior = TraversalEdgeBehavior.closedLoop, Key? key})
Creates a menu that is automatically shown when the child is tapped.
const

Properties

autofocus bool
True if this widget will be selected as the initial focus when no other node in its scope is currently focused.
final
cacheExtent double?
The scrollable area's cache extent in logical pixels.
final
child Widget
The child.
final
childAnchor AlignmentGeometry
The point on the child that connects with the menu at the menu's anchor.
final
divider FTileDivider
The divider between tiles.
final
dragStartBehavior DragStartBehavior
Determines the way that drag start behavior is handled. Defaults to DragStartBehavior.start.
final
focusNode FocusScopeNode?
An optional focus node to use as the focus node for this widget.
final
groupId Object?
An optional group ID that groups TapRegions together so that they operate as one region. If a tap occurs outside of all group members, then group members that are shown will be hidden.
final
hashCode int
The hash code for this object.
no setterinherited
hideOnTapOutside FHidePopoverRegion
The region that can be tapped to hide the popover.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
maxHeight double
The max height, in logical pixels. Defaults to infinity.
final
The menu.
final
The point on the menu (floating content) that connects with the child at the child's anchor.
final
offset Offset
The offset to adjust the popover by. Defaults to Offset.zero.
final
onFocusChange ValueChanged<bool>?
Handler called when the focus changes.
final
popoverController FPopoverController?
The controller that shows and hides the menu. It initially hides the menu.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollController ScrollController?
The scroll controller used to control the position to which this group is scrolled.
final
semanticsLabel String?
The menu's semantic label used by accessibility frameworks.
final
shift Offset Function(Size, FPortalChildBox, FPortalBox)
The shifting strategy used to shift a popover when it overflows out of the viewport. Defaults to FPortalShift.flip.
final
spacing FPortalSpacing
The spacing between the child's anchor and popover's anchor. Defaults to FPortalSpacing(4).
final
style FPopoverMenuStyle?
The popover menu's style.
final
traversalEdgeBehavior TraversalEdgeBehavior
Controls the transfer of focus beyond the first and the last items in a popover. Defaults to TraversalEdgeBehavior.closedLoop.
final

Methods

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