FPopoverMenu class
A popover menu displays a menu in a portal aligned to a child.
See:
- https://forui.dev/docs/overlay/popover-menu for working examples.
- FPopoverController for controlling a popover menu.
- FPopoverMenuStyle for customizing a popover menu's appearance.
- FTileGroup for customizing the items in the menu.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- FPopoverMenu
Constructors
-
FPopoverMenu.new({required FPopoverController popoverController, required Widget child, ScrollController? scrollController, FPopoverMenuStyle? style, double? cacheExtent, double maxHeight = double.infinity, DragStartBehavior dragStartBehavior = DragStartBehavior.start, FTileDivider divider = FTileDivider.full, 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 Widget child, FPopoverMenuStyle? style, FPopoverController? popoverController, ScrollController? scrollController, double? cacheExtent, double maxHeight = double.infinity, DragStartBehavior dragStartBehavior = DragStartBehavior.start, FTileDivider divider = FTileDivider.full, 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