SelectableText constructor

const SelectableText(
  1. String data, {
  2. Key? key,
  3. FocusNode? focusNode,
  4. TextStyle? style,
  5. StrutStyle? strutStyle,
  6. TextAlign? textAlign,
  7. TextDirection? textDirection,
  8. @Deprecated('Use textScaler instead. ' 'Use of textScaleFactor was deprecated in preparation for the upcoming nonlinear text scaling support. ' 'This feature was deprecated after v3.12.0-2.0.pre.') double? textScaleFactor,
  9. TextScaler? textScaler,
  10. bool showCursor = false,
  11. bool autofocus = false,
  12. @Deprecated('Use `contextMenuBuilder` instead. ' 'This feature was deprecated after v3.3.0-0.5.pre.') ToolbarOptions? toolbarOptions,
  13. int? minLines,
  14. int? maxLines,
  15. double cursorWidth = 2.0,
  16. double? cursorHeight,
  17. Radius? cursorRadius,
  18. Color? cursorColor,
  19. BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight,
  20. BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight,
  21. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  22. bool enableInteractiveSelection = true,
  23. TextSelectionControls? selectionControls,
  24. GestureTapCallback? onTap,
  25. ScrollPhysics? scrollPhysics,
  26. String? semanticsLabel,
  27. TextHeightBehavior? textHeightBehavior,
  28. TextWidthBasis? textWidthBasis,
  29. SelectionChangedCallback? onSelectionChanged,
  30. EditableTextContextMenuBuilder? contextMenuBuilder = _defaultContextMenuBuilder,
  31. TextMagnifierConfiguration? magnifierConfiguration,
})

Creates a selectable text widget.

If the style argument is null, the text will use the style from the closest enclosing DefaultTextStyle.

If the showCursor, autofocus, dragStartBehavior, selectionHeightStyle, selectionWidthStyle and data arguments are specified, the maxLines argument must be greater than zero.

Implementation

/// If the [showCursor], [autofocus], [dragStartBehavior],
/// [selectionHeightStyle], [selectionWidthStyle] and [data] arguments are
/// specified, the [maxLines] argument must be greater than zero.
const SelectableText(
  String this.data, {
  super.key,
  this.focusNode,
  this.style,
  this.strutStyle,
  this.textAlign,
  this.textDirection,
  @Deprecated(
    'Use textScaler instead. '
    'Use of textScaleFactor was deprecated in preparation for the upcoming nonlinear text scaling support. '
    'This feature was deprecated after v3.12.0-2.0.pre.',
  )
  this.textScaleFactor,
  this.textScaler,
  this.showCursor = false,
  this.autofocus = false,
  @Deprecated(
    'Use `contextMenuBuilder` instead. '
    'This feature was deprecated after v3.3.0-0.5.pre.',
  )
  this.toolbarOptions,
  this.minLines,
  this.maxLines,
  this.cursorWidth = 2.0,
  this.cursorHeight,
  this.cursorRadius,
  this.cursorColor,
  this.selectionHeightStyle = ui.BoxHeightStyle.tight,
  this.selectionWidthStyle = ui.BoxWidthStyle.tight,
  this.dragStartBehavior = DragStartBehavior.start,
  this.enableInteractiveSelection = true,
  this.selectionControls,
  this.onTap,
  this.scrollPhysics,
  this.semanticsLabel,
  this.textHeightBehavior,
  this.textWidthBasis,
  this.onSelectionChanged,
  this.contextMenuBuilder = _defaultContextMenuBuilder,
  this.magnifierConfiguration,
}) :  assert(maxLines == null || maxLines > 0),
      assert(minLines == null || minLines > 0),
      assert(
        (maxLines == null) || (minLines == null) || (maxLines >= minLines),
        "minLines can't be greater than maxLines",
      ),
      assert(
        textScaler == null || textScaleFactor == null,
        'textScaleFactor is deprecated and cannot be specified when textScaler is specified.',
      ),
      textSpan = null;