ExtendedWidgetSpan class

create by zmtzawqlp on 2019/7/10

support selection for widget Span

Inheritance
Mixed in types
Implementers

Constructors

ExtendedWidgetSpan({required Widget child, String? actualText = '\uFFFC', int start = 0, bool deleteAll = true, PlaceholderAlignment alignment = ui.PlaceholderAlignment.bottom, TextBaseline? baseline, TextStyle? style, bool hide = false})

Properties

actualText String
actual text
final
alignment PlaceholderAlignment
How the placeholder aligns vertically with the text.
finalinherited
baseHashCode int
no setterinherited
baseline TextBaseline?
The TextBaseline to align against when using ui.PlaceholderAlignment.baseline, ui.PlaceholderAlignment.aboveBaseline, and ui.PlaceholderAlignment.belowBaseline.
finalinherited
child Widget
The widget to embed inline within text.
finalinherited
deleteAll bool
if it's true delete all actual text when it try to delete a SpecialTextSpan(like a image span) caret can't move into special text of SpecialTextSpan(like a image span or @xxxx) extended_text and extended_text_field
final
end int
the end index in all text
no setterinherited
hashCode int
The hash code for this object.
no setteroverride
hide bool
for overflow
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
size Size?
no setter
start int
the start index in all text
no setterinherited
style TextStyle?
The TextStyle to apply to this span.
finalinherited
textRange TextRange
final
widgetSpanSize WidgetSpanSize
store size to calculate selection
final

Methods

baseCompareTo(SpecialInlineSpanBase other) RenderComparison
inherited
build(ParagraphBuilder builder, {TextScaler textScaler = TextScaler.noScaling, List<PlaceholderDimensions>? dimensions}) → void
Adds a placeholder box to the paragraph builder if a size has been calculated for the widget.
override
codeUnitAt(int index) int?
Returns the UTF-16 code unit at the given index in the flattened string.
inherited
codeUnitAtVisitor(int index, Accumulator offset) int?
Performs the check at each InlineSpan for if the index falls within the range of the span and returns the corresponding code unit. Returns null otherwise.
inherited
compareTo(InlineSpan other) RenderComparison
Describe the difference between this span and another, in terms of how much damage it will make to the rendering. The comparison is deep.
override
computeSemanticsInformation(List<InlineSpanSemanticsInformation> collector) → void
Walks the InlineSpan tree and accumulates a list of InlineSpanSemanticsInformation objects.
inherited
computeToPlainText(StringBuffer buffer, {bool includeSemanticsLabels = true, bool includePlaceholders = true}) → void
PlaceholderSpans are flattened to a 0xFFFC object replacement character in the plain text representation when includePlaceholders is true.
inherited
debugAssertIsValid() bool
In debug mode, throws an exception if the object is not in a valid configuration. Otherwise, returns true.
inherited
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.
inherited
equal(SpecialInlineSpanBase other) bool
inherited
getSelectedContent(String showText) String
showText is the text on screen
inherited
getSemanticsInformation() List<InlineSpanSemanticsInformation>
Flattens the InlineSpan tree to a list of InlineSpanSemanticsInformation objects.
inherited
getSpanForPosition(TextPosition position) InlineSpan
Returns the text span that contains the given position in the text.
override
getSpanForPositionVisitor(TextPosition position, Accumulator offset) InlineSpan?
Performs the check at each InlineSpan for if the position falls within the range of the span and returns the span if it does.
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
toPlainText({bool includeSemanticsLabels = true, bool includePlaceholders = true}) String
Flattens the InlineSpan tree into a single string.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) 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 brief description of this object, usually just the runtimeType and the hashCode.
inherited
visitChildren(InlineSpanVisitor visitor) bool
Calls visitor on this WidgetSpan. There are no children spans to walk.
inherited
visitDirectChildren(InlineSpanVisitor visitor) bool
Calls visitor for each immediate child of this InlineSpan.
inherited

Operators

operator ==(dynamic other) bool
The equality operator.
override