<itemvalue="The offset at which the selection terminates. When the user uses the arrow keys to adjust the selection, this is the value that changes. Similarly, if the current theme paints a caret on one side of the selection, this is the location at which to paint the caret. Might be larger than, smaller than, or equal to base."/>
<itemvalue="The offset at which the selection originates. Might be larger than, smaller than, or equal to extent."/>
<itemvalue="!newValue.composing.isValid || newValue.isComposingRangeValid, 'New TextEditingValue newValue has an invalid non-empty composing range ' '{newValue.composing}. It is recommended to use a valid composing range, ' 'even for readonly text fields.',"/>
<itemvalue="Updates the current [text] to the given `newText`, and removes existing selection and composing range held by the controller. This setter is typically only used in tests, as it resets the cursor position and the composing state. For production code, consider using the [value] setter to update the [text] value instead, and specify a reasonable selection range within the new [text]. Setting this notifies all the listeners of this [TextEditingController] that they need to update (it calls [notifyListeners]). For this reason, this value should only be set between frames, e.g. in response to user actions, not during the build, layout, or paint phases. This property can be set from a listener added to this [TextEditingController]."/>
<itemvalue="Creates a new independent [Stream] for the contents of this file. If [start] is present, the file will be read from byte-offset [start]. Otherwise from the beginning (index 0). If [end] is present, only bytes up to byte-index [end] will be read. Otherwise, until end of file. In order to make sure that system resources are freed, the stream must be read to completion or the subscription on the stream must be cancelled. If [File] is a [named pipe](https:en.wikipedia.orgwikiNamed_pipe) then the returned [Stream] will wait until the write side of the pipe is closed before signaling "done". If there are no writers attached to the pipe when it is opened, then [Stream.listen] will wait until a writer opens the pipe. An error opening or reading the file will appear as a [FileSystemException] error event on the returned [Stream], after which the [Stream] is closed. For example: ```dart This example will print the "Error reading file" message and the `await for` loop will complete normally, without seeing any data events. final stream = File('does-not-exist') .openRead() .handleError((e) => print('Error reading file: e')); await for (final data in stream) { print(data); } ```"/>
<itemvalue="The ping received callback"/>
<itemvalue="pong callback"/>
@ -64,10 +68,6 @@
<itemvalue="allow move the stick only in horizontal and vertical directions, not diagonal."/>