SelectableText class

A text widget that supports click-drag selection and Ctrl+C copy.

This is a drop-in replacement for Text with the same parameters plus selection support. When selection is active, highlighted text is rendered with the current theme's highlight colors and Ctrl+C copies to clipboard.

Can be used standalone or inside a SelectionArea for cross-widget selection.

Inheritance

Constructors

SelectableText(String data, {Key? key, Style? style, TextStyle? textStyle, Style? selectionHighlightStyle, TextAlign textAlign = TextAlign.left, bool softWrap = true, TextOverflow overflow = TextOverflow.clip, int? maxWidth, SelectionController? controller})

Properties

accessibilityLabel → String?
Optional accessibility label.
no setterinherited
accessibilityRole → String
Optional accessibility role.
no setterinherited
children → List<Widget>
Child widgets that receive forwarded messages.
no setterinherited
controller → SelectionController?
final
data → String
final
debugRenderObjectPassthrough → bool
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
degradationSignal → WidgetDegradationSignal
Signal that controls this widget's render budget behavior.
no setterinherited
focusable → bool
Whether this widget can receive keyboard focus.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
id → String
Unique identifier for this widget.
no setterinherited
key → Key?
Key for preserving widget identity.
finalinherited
maxWidth → int?
final
overflow → TextOverflow
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selectionHighlightStyle → Style?
final
softWrap → bool
final
style → Style?
Complete Artisanal style applied to the selectable text.
final
textAlign → TextAlign
final
textStyle → TextStyle?
Immutable text-only declarations applied after style.
final
theme → Theme
Access the current theme.
no setterinherited

Methods

build(BuildContext context) → Widget
Describes the part of the UI represented by this widget.
override
buildCachedView<T>(T builder(), Object? cacheKey) → T
Returns a cached view if the cache key matches.
inherited
handleInit() → Cmd?
Override this instead of init for widget-specific initialization.
inherited
handleIntercept(Msg msg) → (Widget, Cmd?)
Override this to handle messages before they reach children.
inherited
handleUpdate(Msg msg) → (Widget, Cmd?)
Override this to handle messages specific to this widget.
inherited
init() → Cmd?
Called once when the widget is first mounted.
inherited
invalidateCachedView() → void
Clears any cached view for this widget.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
shouldRenderAt(DegradationLevel degradationLevel, {required bool subtreeHasFocusedWidget}) → bool
Whether this widget should participate in the current render when degradationLevel is active.
inherited
toString() → String
A string representation of this object.
inherited
update(Msg msg) → (Model, Cmd?)
Handles messages by forwarding to children then calling handleUpdate.
inherited
view() → Object
Renders the widget to a string or View.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited