FContextMenu class
A context menu displays a menu at the user's pointer.
Note
BrowserContextMenu.disableContextMenu needs to be called manually on web platforms to prevent the browser's native context menu from appearing.
See:
- https://forui.dev/docs/widgets/overlay/context-menu for working examples.
- FPopoverMenu for a menu that is toggled by a child widget.
- FPopoverMenuStyle for customizing the menu's appearance.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- FContextMenu
Constructors
-
FContextMenu({FPopoverControl control = const .managed(), FPopoverMenuStyleDelta style = const .context(), ScrollController? scrollController, ScrollCacheExtent? scrollCacheExtent, double maxHeight = .infinity, bool intrinsicWidth = true, DragStartBehavior dragStartBehavior = .start, FItemDivider divider = .full, double spacing = 0, FPortalOverflow overflow = .flip, bool useViewPadding = true, bool useViewInsets = true, Offset offset = .zero, Object? groupId, FPopoverHideRegion hideRegion = .excludeChild, VoidCallback? onTapHide, String? barrierSemanticsLabel, bool barrierSemanticsDismissible = true, bool cutout = false, void cutoutBuilder(Path path, Rect bounds) = FModalBarrier.defaultCutoutBuilder, String? semanticsLabel, bool? autofocus, FocusScopeNode? focusNode, ValueChanged<
bool> ? onFocusChange, TraversalEdgeBehavior? traversalEdgeBehavior, bool? faded, bool? longPress, bool? secondaryPress, ValueWidgetBuilder<FPopoverController> builder = FPopover.defaultBuilder, Widget? child, Key? key}) - Creates a context menu of FItems.
-
FContextMenu.tiles({FPopoverControl control = const .managed(), FPopoverMenuStyleDelta style = const .context(), ScrollController? scrollController, ScrollCacheExtent? scrollCacheExtent, double maxHeight = .infinity, bool intrinsicWidth = true, DragStartBehavior dragStartBehavior = .start, FItemDivider divider = .full, double spacing = 0, FPortalOverflow overflow = .flip, bool useViewPadding = true, bool useViewInsets = true, Offset offset = .zero, Object? groupId, FPopoverHideRegion hideRegion = .excludeChild, VoidCallback? onTapHide, String? barrierSemanticsLabel, bool barrierSemanticsDismissible = true, bool cutout = false, void cutoutBuilder(Path path, Rect bounds) = FModalBarrier.defaultCutoutBuilder, String? semanticsLabel, bool? autofocus, FocusScopeNode? focusNode, ValueChanged<
bool> ? onFocusChange, TraversalEdgeBehavior? traversalEdgeBehavior, bool? faded, bool? longPress, bool? secondaryPress, ValueWidgetBuilder<FPopoverController> builder = FPopover.defaultBuilder, Widget? child, Key? key}) - Creates a context menu of FTiles.
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
- barrierSemanticsDismissible → bool
-
Whether the barrier semantics are included in the semantics tree. Defaults to true.
final
- barrierSemanticsLabel → String?
-
The popover's barrier label used by accessibility frameworks.
final
-
builder
→ ValueWidgetBuilder<
FPopoverController> -
An optional builder which returns the child widget that the popover is aligned to.
final
- child → Widget?
-
The child that acts as the trigger region.
final
- control → FPopoverControl
-
Defines how the context menu's shown state is controlled.
final
- cutout → bool
-
Whether the barrier should exclude the
builder/child's area using a non-interactive cutout.final - cutoutBuilder → void Function(Path path, Rect bounds)
-
An optional callback that customizes the cutout shape.
final
- divider → FItemDivider
-
The divider between tiles.
final
- dragStartBehavior → DragStartBehavior
-
Determines the way that drag start behavior is handled. Defaults to DragStartBehavior.start.
final
- faded → bool?
-
Whether the parent menu fades when a submenu is active.
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
- hideRegion → FPopoverHideRegion
-
The region that can be tapped to hide the popover.
final
- intrinsicWidth → bool
-
Whether the menu should intrinsically size to the widest child. Defaults to true.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- longPress → bool?
-
Whether a long press triggers the context menu.
final
- maxHeight → double
-
The max height, in logical pixels. Defaults to infinity.
final
-
The anchor point on the menu used for positioning relative to the gesture point.
final
- offset → Offset
-
Additional translation to apply to the popover's position.
final
-
onFocusChange
→ ValueChanged<
bool> ? -
Handler called when the focus changes.
final
- onTapHide → VoidCallback?
-
A callback that is called when the popover is hidden by tapping outside of it.
final
- overflow → FPortalOverflow
-
The callback used to shift a popover when it overflows out of the viewport.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrollCacheExtent → ScrollCacheExtent?
-
The scrollable area's cache extent.
final
- scrollController → ScrollController?
-
The scroll controller used to control the position to which this group is scrolled.
final
- secondaryPress → bool?
-
Whether a secondary press (e.g. right-click) triggers the context menu.
final
- semanticsLabel → String?
-
The menu's semantic label used by accessibility frameworks.
final
- spacing → double
-
The gap between the gesture point and the menu's menuAnchor. Defaults to 0.
final
- style → FPopoverMenuStyleDelta
-
The context 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
- useViewInsets → bool
-
Whether to avoid the platform view's insets (the soft keyboard).
final
- useViewPadding → bool
-
Whether to avoid the platform view's padding (static safe areas like the notch and status bar).
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< FContextMenu> -
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