RichTextController class
A custom TextEditingController that supports rich text styling based on regex patterns and word matching. It allows you to highlight specific text patterns and apply custom styles to matched text. Additionally, it supports dynamic updates, IME composition, and tap callbacks for matched text.
- Inheritance
-
- Object
- ChangeNotifier
- ValueNotifier<
TextEditingValue> - TextEditingController
- RichTextController
Constructors
-
RichTextController({String? text, required List<
MatchTargetItem> targetMatches, required dynamic onMatch(List<String> match), dynamic onMatchIndex(List<Map< )?, bool regExpDotAll = false, bool regExpMultiLine = false, bool regExpUnicode = false})String, List< >int> > - Creates a new RichTextController.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
-
onMatch
→ dynamic Function(List<
String> match) -
final
-
onMatchIndex
→ dynamic Function(List<
Map< )?String, List< >int> > -
final
- regExpDotAll ↔ bool
-
Controls the dotAll property of the full combined RegExp of the match targets in the controller.
getter/setter pair
- regExpMultiLine ↔ bool
-
Controls the multiLine property of the full combined RegExp of the match targets in the controller.
getter/setter pair
- regExpUnicode ↔ bool
-
Controls the unicode property of the full combined RegExp of the match targets in the controller.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selection ↔ TextSelection
-
The currently selected range within text.
getter/setter pairinherited
-
targetMatches
→ List<
MatchTargetItem> -
final
- text ↔ String
-
The current string the user is editing.
getter/setter pairinherited
- value ↔ TextEditingValue
-
The current value stored in this notifier.
getter/setter pairinherited
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
buildTextSpan(
{required BuildContext context, TextStyle? style, required bool withComposing}) → TextSpan -
Builds TextSpan from current editing value.
override
-
clear(
) → void -
Set the value to empty.
inherited
-
clearComposing(
) → void -
Set the composing region to an empty range.
inherited
-
dispose(
) → void -
Discards any resources used by the object. After this is called, the
object is not in a usable state and should be discarded (calls to
addListener will throw after the object is disposed).
override
-
isBack(
String current, String last) → bool - Checks if the current text change is a backspace operation.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
toString(
) → String -
A string representation of this object.
override
-
updateRegExpProperties(
{bool? dotAll, bool? multiLine, bool? unicode}) → void - Updates the RegExp properties dynamically.
-
updateTargetMatches(
List< MatchTargetItem> newTargetMatches) → void - Updates the target matches dynamically.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited