RefEntry class
A single addressable entry stored in RefRegistry.
Each entry pairs an [ref=eN] token (minted by RefRegistry.register)
with the live tree references the V3 action tools (Steps 7–14) need to
resolve the ref back to a hit point or focus target.
Two field groups:
Hot-path fields (every action tool reads these):
- rect — bounding rect in logical pixels (global coordinates), captured
at registration. Pointer-event extensions hit at
rect.center. - element — the Element backing the registered tree node. The text-
input extension walks descendants for
EditableText.of(...); the scroll extension passes the element toScrollable.maybeOf(...). - isTextField —
truewhen the registered node has theSemanticsFlag.isTextFieldflag. The tap extension uses this signal to callrequestKeyboard()after the pointer events (Step 1 spike verified the chain produceshasPrimaryFocus == true). - groupId — identifies the snapshot (or
find_by_*call) that minted the token. Disposing the group via RefRegistry.disposeGroup removes every entry under it atomically.
Inspection fields (snapshot enrichment / debugging):
- node — the SemanticsNode the entry was minted from, when the entry
came from a Semantics-tree walk.
nullfor synthetic entries (e.g.find_by_text, which walks the Element tree directly). - renderObject — the RenderObject backing the node, captured at registration. Useful for tools that want to recompute the rect under a different transform without re-walking the tree.
Constructors
- RefEntry({required Rect rect, required Element element, required String groupId, required bool isTextField, SemanticsNode? node, RenderObject? renderObject})
-
Creates a RefEntry from its component parts. All non-nullable fields
must be provided; the registry never mutates an entry after registration.
const
Properties
- element → Element
-
The Element backing the registered tree node.
final
- groupId → String
-
Snapshot group that owns this entry. Disposing the group removes the
entry.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isTextField → bool
-
Whether this ref points to a text-input widget.
final
- node → SemanticsNode?
-
The SemanticsNode the entry was minted from, when the entry came from
a Semantics-tree walk.
nullfor synthetic entries (e.g.find_by_text).final - rect → Rect
-
Bounding rect in logical pixels (global coordinates).
final
- renderObject → RenderObject?
-
The RenderObject backing the registered tree node.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited