FSelectMenuTile<T> constructor

FSelectMenuTile<T>({
  1. required Widget title,
  2. required List<FSelectTile<T>> menu,
  3. FMultiValueControl<T>? selectControl,
  4. FPopoverControl popoverControl = const .managed(),
  5. ScrollController? scrollController,
  6. FSelectMenuTileStyleDelta style = const .context(),
  7. double? cacheExtent,
  8. double maxHeight = .infinity,
  9. bool menuIntrinsicWidth = false,
  10. DragStartBehavior dragStartBehavior = .start,
  11. ScrollPhysics physics = const ClampingScrollPhysics(),
  12. FItemDivider divider = .full,
  13. AlignmentGeometry menuAnchor = .topRight,
  14. AlignmentGeometry tileAnchor = .bottomRight,
  15. FPortalSpacing menuSpacing = const .spacing(4),
  16. FPortalOverflow menuOverflow = .flip,
  17. bool menuUseViewPadding = true,
  18. bool menuUseViewInsets = true,
  19. Offset menuOffset = .zero,
  20. FPopoverHideRegion menuHideRegion = .excludeChild,
  21. VoidCallback? menuOnTapHide,
  22. Object? menuGroupId,
  23. bool menuCutout = true,
  24. void menuCutoutBuilder(
    1. Path path,
    2. Rect bounds
    ) = FModalBarrier.defaultCutoutBuilder,
  25. bool autoHide = true,
  26. Widget? label,
  27. Widget? description,
  28. bool autofocus = false,
  29. FocusScopeNode? menuFocusNode,
  30. ValueChanged<bool>? menuOnFocusChange,
  31. TraversalEdgeBehavior? menuTraversalEdgeBehavior,
  32. String? menuBarrierSemanticsLabel,
  33. bool menuBarrierSemanticsDismissible = true,
  34. String? semanticsLabel,
  35. Widget? prefix,
  36. Widget? subtitle,
  37. ValueWidgetBuilder<Set<T>> detailsBuilder = defaultSelectMenuTileBuilder,
  38. Widget? details,
  39. Widget? suffix,
  40. Map<ShortcutActivator, Intent>? shortcuts,
  41. Map<Type, Action<Intent>>? actions,
  42. Widget errorBuilder(
    1. BuildContext context,
    2. String message
    ) = FFormFieldProperties.defaultErrorBuilder,
  43. FormFieldSetter<Set<T>>? onSaved,
  44. VoidCallback? onReset,
  45. FormFieldValidator<Set<T>>? validator,
  46. String? forceErrorText,
  47. bool enabled = true,
  48. AutovalidateMode autovalidateMode = .disabled,
  49. Key? formFieldKey,
  50. Key? key,
})

Creates a FSelectMenuTile that eagerly builds the menu.

Implementation

FSelectMenuTile({
  required this.title,
  required List<FSelectTile<T>> menu,
  this.selectControl,
  this.popoverControl = const .managed(),
  this.scrollController,
  this.style = const .context(),
  this.cacheExtent,
  this.maxHeight = .infinity,
  this.menuIntrinsicWidth = false,
  this.dragStartBehavior = .start,
  this.physics = const ClampingScrollPhysics(),
  this.divider = .full,
  this.menuAnchor = .topRight,
  this.tileAnchor = .bottomRight,
  this.menuSpacing = const .spacing(4),
  this.menuOverflow = .flip,
  this.menuUseViewPadding = true,
  this.menuUseViewInsets = true,
  this.menuOffset = .zero,
  this.menuHideRegion = .excludeChild,
  this.menuOnTapHide,
  this.menuGroupId,
  this.menuCutout = true,
  this.menuCutoutBuilder = FModalBarrier.defaultCutoutBuilder,
  this.autoHide = true,
  this.label,
  this.description,
  this.autofocus = false,
  this.menuFocusNode,
  this.menuOnFocusChange,
  this.menuTraversalEdgeBehavior,
  this.menuBarrierSemanticsLabel,
  this.menuBarrierSemanticsDismissible = true,
  this.semanticsLabel,
  this.prefix,
  this.subtitle,
  this.detailsBuilder = defaultSelectMenuTileBuilder,
  this.details,
  this.suffix,
  this.shortcuts,
  this.actions,
  this.errorBuilder = FFormFieldProperties.defaultErrorBuilder,
  this.onSaved,
  this.onReset,
  this.validator,
  this.forceErrorText,
  this.enabled = true,
  this.autovalidateMode = .disabled,
  this.formFieldKey,
  super.key,
}) : _menu = menu,
     _menuBuilder = null,
     _count = null;