- 25 Apr, 2019 1 commit
-
-
Greg Spencer authored
This re-lands the Focus changes in #30040. Correctness changes in routes.dart, and removes the automatic requesting of focus on reparent when there is no current focus, which caused undesirable selections. Addresses #11344, #1608, #13264, and #1678 Fixes #30084 Fixes #26704
-
- 23 Apr, 2019 1 commit
-
-
Greg Spencer authored
This reverts commit 4218c0bc.
-
- 22 Apr, 2019 1 commit
-
-
Greg Spencer authored
Implements focus traversal for desktop platforms, including re-implementing the existing focus manager and focus tree. This implements a Focus widget that can be put into a widget tree to allow input focus to be given to a particular part of a widget tree. It incorporates with the existing FocusScope and FocusNode infrastructure, and has minimal breakage to the API, although FocusScope.reparentIfNeeded is removed, replaced by a call to FocusAttachment.reparent(), so this is a breaking change: FocusScopeNodes must now be attached to the focus tree using FocusScopeNode.attach, which takes a context and an optional onKey callback, and returns a FocusAttachment that should be kept by the widget that hosts the FocusScopeNode. This is necessary because of the need to make sure that the focus tree reflects the widget hierarchy. Callers that used to call FocusScope(context).reparentIfNeeded in their build method will call reparent on a FocusAttachment instead, which they will obtain by calling FocusScopeNode.attach in their initState method. Widgets that own FocusNodes will need to call dispose on the focus node in their dispose method. Addresses #11344, #1608, #13264, and #1678 Fixes #30084 Fixes #26704
-
- 20 Mar, 2019 1 commit
-
-
Alexandre Ardhuin authored
* some space formattings * always use blocks in if-else if a block is used * format spaces in for and while * allow multiline if conditions * fix missing space
-
- 08 Mar, 2019 1 commit
-
-
Greg Spencer authored
In anticipation of changing a lot of the focus code, I'm adding some tests for the FocusScope. As a result, I was able to find and fix a bug where there was an incorrect assert. I also added some more documentation. Several of the tests enforce what I think is incorrect behavior related to passing focus off when the widget tree gets rebuilt without focus nodes that were previously there, but I'm not going to change that behavior in this PR. I also renamed focus_test.dart to focus_scope_test.dart to be more in line with our naming conventions.
-
- 05 Feb, 2019 1 commit
-
-
Hans Muller authored
Updated focus handling in FocusManager et al and EditableText so that TextFields within nested FocusScopes can gain the focus and show the keybaord.
-
- 14 Dec, 2018 2 commits
-
-
Jonah Williams authored
-
Jonah Williams authored
-
- 12 Sep, 2018 1 commit
-
-
Alexandre Ardhuin authored
* enable lint unnecessary_new * fix tests * fix tests * fix tests
-
- 20 Mar, 2018 1 commit
-
-
Alexandre Ardhuin authored
-
- 01 Feb, 2018 1 commit
-
-
Alexandre Ardhuin authored
-
- 22 Oct, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 21 Sep, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 11 Sep, 2017 1 commit
-
-
Jacob Richman authored
* Refactor SemanticsData and SemanticsNode to use Diagnosticable. * Switch toStringDeep to take named parameters.
-
- 03 Aug, 2017 1 commit
-
-
Jacob Richman authored
Add Diagnosticable base class and documentation
-
- 25 Jul, 2017 1 commit
-
-
Jacob Richman authored
Refactor RenderObject.toStringDeep and Widget.toStringDeep code to use DiagnosticsNode.
-
- 23 Jun, 2017 1 commit
-
-
Ian Hickson authored
-
- 21 Jun, 2017 3 commits
-
-
Jacob Richman authored
* Revert "Revert "Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)" (#10880)" This reverts commit ceb814aa.
-
Jacob Richman authored
Revert "Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)" (#10880) This reverts commit d46e208b.
-
Jacob Richman authored
* Change all instances of '$runtimeType#$hashCode' to use the describeIdentity method. The describeIdentity method generates a shorter description with a consistent length consisting of the runtime type and the a 5 hex character long truncated version of the hash code.
-
- 05 May, 2017 1 commit
-
-
Ian Hickson authored
-
- 24 Apr, 2017 1 commit
-
-
Adam Barth authored
This patch introduces the notion of a keyboard token, which generalizes the logic in EditableText for distinguishing between gaining focus by default and gaining focus because of an explicit use action. Fixes #7985
-
- 07 Apr, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 05 Apr, 2017 1 commit
-
-
Adam Barth authored
Mostly related to semantics and scrolling.
-
- 31 Mar, 2017 1 commit
-
-
Adam Barth authored
We now have an explicit focus tree that we manage. Instead of using GlobalKeys to manage focus, we use FocusNode and FocusScopeNode objects. The FocusNode is Listenable and notifies when its focus state changes. Focus notifications trigger by tree mutations are now delayed by one frame, which is necessary to handle certain complex tree mutations. In the common case of focus changes being triggered by user input, the focus notificiation still arives in the same frame.
-