1861 Commits

Author SHA1 Message Date
Hixie
85689f1231 Make the Semantics code be a service.
Port the tests to use the new interface.
2016-02-01 12:57:47 -08:00
Hixie
e8a21f5d91 Turn MojoShell into an actual binding 2016-02-01 11:30:05 -08:00
Adam Barth
fade43ee55 Update the Align docs
They were out-of-date.

Fixes #1391
2016-01-31 23:06:34 -08:00
Adam Barth
3609938327 Adds the ability to move the caret by tapping
Now the text input control knows how to move the caret when you tap
inside the string. There's still some rough edges to polish up, but this
patch is the first step.

Fixes #108
2016-01-30 21:57:19 -08:00
Adam Barth
f8342c7a84 Fix analyzer warnings related to SemanticsListener
These were introduced by the recent engine roll.
2016-01-30 21:55:59 -08:00
Adam Barth
4bec05ad8b Update engine 2016-01-30 20:59:19 -08:00
Adam Barth
90e0003115 Merge pull request #1471 from abarth/paint_selection
Input should paint selections
2016-01-29 19:43:06 -08:00
Adam Barth
a5cfbad876 Input should paint selections
This patch teaches the editing system to paint reasonable selections for
single-line text fields, including for bidirectional text.

Requires https://github.com/flutter/engine/pull/2318
2016-01-29 16:07:54 -08:00
Hixie
f2564a41a1 Fix copypasta in RenderSizedOverflowBox. 2016-01-29 15:17:54 -08:00
Adam Barth
1703d065f6 Update engine 2016-01-29 14:51:51 -08:00
Adam Barth
fa03df2d82 Add an alignment property to OverflowBox
This patch changes the default alignment of OverflowBox to center rather than
having a bias towards the upper-left corner.

Fixes #1236
2016-01-29 14:35:57 -08:00
Devon Carew
e1a7d7d865 fix two strong mode issues 2016-01-29 12:01:53 -08:00
Kris Giesing
9572b4969f Add support for asset variants and resolution-aware images 2016-01-28 18:11:32 -08:00
Collin Jackson
b70a53807a Update engine 2016-01-28 13:10:57 -08:00
Hixie
57b68a523d Clean up shell.dart 2016-01-28 12:34:36 -08:00
Hixie
8ef862fba6 The old style of import is deprecated. 2016-01-27 16:23:28 -08:00
Ian Hickson
064805235d Merge pull request #1309 from Hixie/semantics-3
Semantics
2016-01-27 15:54:59 -08:00
Hixie
a309cea1d4 Resurrect spinning_mixed.
It had bit-rotted. Also improve our error reporting for missing Material.
2016-01-27 10:07:11 -08:00
Hixie
28a1788371 Semantics 2016-01-27 10:04:49 -08:00
Seth Ladd
b5470df8d7 Merge pull request #1401 from sethladd/doc
add explicit doc to override default from parent
2016-01-27 08:48:43 -08:00
Seth Ladd
139e98a12e add explicit doc to override default from parent
tweak from review
2016-01-26 20:14:57 -08:00
Adam Barth
27a73a589c Merge pull request #1400 from abarth/reorder_update_children
updateChildren() needs to walk the list forward
2016-01-26 20:08:36 -08:00
Adam Barth
05839e51ca updateChildren() needs to walk the list forward
This patch changes the framework to walk the child list forwards so that build
functions with global side effects do sensible things. Specifically, if you
have a number of autofocusable children, the first one the list will acquire
the focus because it gets built first now.

Fixes #182
2016-01-26 20:02:46 -08:00
Adam Barth
a535164357 Keyboard doesn't dismiss when the drawer comes up
When introducing Focus widgets for the Drawer (and ModalRoutes), we weren't
actually giving them the focus. Now we move the focus scope when pushing modal
routes.

Fixes #184
2016-01-26 19:57:37 -08:00
Adam Barth
2ba9687766 Input asserts while keyboard is dismissed
Now we recreate the stub every time we try to connect to the keyboard. The
underlying message pipe in the stub cannot be re-used, which is why we
previously asserted.

Fixes #776
2016-01-26 12:03:33 -08:00
Adam Barth
58c7fdef36 Add RawKeyboardListener
RawKeyboardListener makes it easier to listen for raw keyboard events.

Fixes #787
2016-01-25 20:37:22 -08:00
Adam Barth
f0ea0eafbb Hide EditableString implementation details
Previously, EditableString had many public members because it needed to
implement the KeyboardClient interface. However, that's confusing
because these methods cannot be called directly.

Now EditableString holds a private implementation of the KeyboardClient,
which hides the implementation details.

Fixes #208
Fixes #209
2016-01-25 16:10:51 -08:00
Adam Barth
008af64cce Keyboard service doesn't commit the last edit when it's dismissed
We were getting the proper values, but we thought we were still composing, so
the text was still underlined.

Fixes #115
2016-01-25 13:29:17 -08:00
Collin Jackson
dbd39523ce Re-land update to engine
This reverts commit b240cda819627024d5fd54a886b503ed339baed7.
2016-01-25 12:36:44 -08:00
Ian Hickson
fae41c223d _getPadding was ignoring its argument 2016-01-23 20:20:44 -08:00
Ian Hickson
0903cb5fef Refactor Inherited to avoid all the tree walks during build. 2016-01-23 18:21:02 -08:00
Ian Hickson
5494323db9 Move us to HashSet to avoid the overhead of tracking the order 2016-01-23 18:13:13 -08:00
Ian Hickson
b9716b84db Reimplement Inherited.notifyDescendants to use a registration list
...instead of a deep walk.
2016-01-23 18:13:13 -08:00
Adam Barth
5f3b2d4835 Add errorColor to ThemeData
That way folks can customize it if they want (and it makes the code a
bit more self-documenting).
2016-01-23 17:47:09 -08:00
Adam Barth
7faee3e18e Add implicit animations to Input
Now the label animates from its inline position to above the text and
the focus highlight grows into place.
2016-01-23 12:22:15 -08:00
Adam Barth
61f82ee18c Improve the factoring between Input and RawEditableLine
RawEditableLine is now responsible for the scrolling behavior, which
removes the need for callbacks between RawEditableLine and Input. It
also fixes a bug whereby the whole Input widget (including its icon)
would scroll when the text got long.
2016-01-23 01:09:22 -08:00
Adam Barth
432bfb4729 Add material design features to Input
Properly support labels, hints, icons, and custom typography.
2016-01-23 00:21:18 -08:00
Collin Jackson
b240cda819 Revert "Update engine"
This reverts commit ab3006345823b1ef8f25046e0a2b054ea4123e12.
2016-01-22 19:31:14 -08:00
Collin Jackson
ab30063458 Update engine 2016-01-22 19:07:59 -08:00
Adam Barth
4e83a5ccdb Add the ability to lose focus
Fixes #1308
2016-01-22 14:01:51 -08:00
Adam Barth
d081dc677b Merge pull request #1347 from abarth/editable_line
Input widget shrinks when typing a space
2016-01-22 13:35:06 -08:00
Adam Barth
bdef1038e9 Input widget shrinks when typing a space
This patch restructures how we size the editing region of the Input widget. Now
RenderEditableLine understands that it's a single-line editing widget and sizes
itself correctly.
2016-01-22 13:18:24 -08:00
Adam Barth
4357d08714 Merge pull request #1344 from abarth/icon_color
Simplify colorizing icons
2016-01-22 12:53:41 -08:00
Adam Barth
82e30c8649 Simplify colorizing icons
Now you can colorize an Icon simply by proving a Color for the Icon.
2016-01-22 12:07:45 -08:00
Matt Perry
dcbb4960eb 'flutter apk' now supports dynamically registered services.
Third-party libraries can now provide their own mojo services. They do
so by adding a config.yaml file to their pub package which contains
- a list of service names and java classes which handles that service's
  registration.
- a list of pre-built .jar files to statically link with the app's shell
  when building the app.
2016-01-22 13:20:54 -05:00
Hans Muller
8218ff683f Change Block children to be a named parameter 2016-01-22 08:04:21 -08:00
Hans Muller
05f79b4e45 Merge pull request #1333 from HansMuller/sublist
Added TwoLevelList et al, a Material Expand/Collapse List Control

A TwoLevelList can can contain TwoLevelListItems, essentially ordinary list items, or TwoLevelSublists which have a list of items of their own. Tapping on a TwoLevelSublist causes it to expand, showing its items. Tapping again causes it to collapse.
2016-01-21 16:36:50 -08:00
Adam Barth
7c8e504eb2 Merge pull request #1337 from abarth/scroll_focus_into_view
Scroll focused input widgets into view
2016-01-21 16:27:50 -08:00
Hans Muller
5ae1b41ca4 Added TwoLevelList 2016-01-21 16:27:18 -08:00
Adam Barth
dd5df79e7b Scroll focused input widgets into view
When opening the keyboard or focusing an input widget, we should scroll the
widget into view so that the user can see what they're typing.
2016-01-21 16:20:54 -08:00