1204 Commits

Author SHA1 Message Date
Ian Hickson
8fd20b5deb
Text Painting Fuzzer (#12813)
Various improvements (in particular a new painting fuzzer) to the text manual test.

Some additional documentation.

A fix to Stack to remove an LTR bias: make unpositioned children apply "alignment".

Some more debugging information on RichText and Text.

A fix to the flutter tool to not crash when an RPC call throws an exception.
2017-11-01 15:04:43 -07:00
Yegor
f4b0ccd9fd
Use alwaysUse24HourFormat when formatting time of day (#12517)
* alwaysUse24HourFormat in MediaQuery and time picker

* docs; dead code

* address some comments

* MaterialLocalizations.timeOfDayFormat is the single source of 24-hour-formattedness

* Make TimePickerDialog private again

* wire up MediaQueryData.fromWindow to Window
2017-11-01 14:52:28 -07:00
Roberto Scaramuzzi
80e159d469
Add acceptNotification parameter to RefreshIndicator and OverscrollIn… (#12716)
* Add acceptNotification parameter to RefreshIndicator and OverscrollIndicator

* Various fixes suggested by reviewer

* Fixed lint errors
2017-11-01 10:29:37 -07:00
amirh
6161d54eb6
Move AbstractNode to lib/foundation. (#12789)
(in preparation for moving the semantics stuff out of rendering)
2017-11-01 09:24:30 -07:00
Michael Goderbauer
9184dfba14
Support value announcement for increase/decrease (#12741)
* Support value announcment for increase/decrease

* ++

* review comments about docs
2017-10-31 14:22:33 -07:00
Ian Hickson
e1174eb0f2
TextPainter RTL (#12791) 2017-10-31 10:39:34 -07:00
Michael Goderbauer
e3327af22a Add option for custom actions to Semantics widget (#12695)
* Add option for custom actions to Semantics widget

* review comments

* review comment
2017-10-25 22:14:12 -07:00
amirh
aff731c0a6 Add an AlignTransition widget (#12724) 2017-10-25 15:32:46 -07:00
amirh
3365b01f9a Add button semantics to CupertinoButton (#12715)
fixes #11992
2017-10-25 14:28:32 -07:00
Alexandre Ardhuin
c9b94e1412 enable lint prefer_const_constructors_in_immutables (#12693)
* enable lint prefer_const_constructors_in_immutables

* remove LabeledGlobalKey._
2017-10-25 11:20:36 +02:00
Alexandre Ardhuin
28366002d9 enable lint prefer_foreach (#12674)
* enable lint prefer_foreach

* fix tests
2017-10-25 08:25:44 +02:00
Jeff McGlynn
021a268852 Add a pageSnapping parameter to PageView (#12596)
* Add a pageSnapping parameter to PageView

Setting the pageSnapping property allows extending the PageView scroll
behavior, such as custom scroll animations or custom scroll bars.

* Apply pageSnapping CR feedback

- Remove _kNonSnappingPhysics, use null instead.
- Minor code style fixes.
- It turns out that the forth state is Arkansas, not California.
2017-10-24 17:09:33 -07:00
Greg Spencer
ea679171e5 Add Material character counter to TextField. (#12648)
This adds an optional character counter and maxLength parameter to the TextField, as described in the Material Design Spec.

The counter text and style in the input decorator may be specified, but will default to the "right thing" if not specified, where the "right thing" is a counter that looks like "3 / 10" (if there are three characters entered into a field where maxLength is set to 10).

To limit the number of characters entered, I created a LengthLimitingTextFormatter that will limit the number of characters (Unicode runes) in the input, which can be used independently. The formatter is applied after the other formatters supplied (if any). Even if there is no decorator, the text field will limit the number of characters input if maxLength is set.

If maxLengthEnforced is set to false (it defaults to true), then the max length will not be enforced. In that case, if the text exceeds the length, then the counter will turn red, and it will make the divider turn red.
2017-10-24 14:49:39 -07:00
Michael Goderbauer
c3e049613d Support for accessibilityHint and accessibilityValue (#12677)
* Support accessibility labels and hints

* more tests

* ++

* review comments

* fix merge

* test fix
2017-10-24 11:17:51 -07:00
Greg Spencer
80b820a26d Revert "Revert "Fixes InputDecorator to work with textScaleFactor, fixes Material Design differences. (#12595)" (#12678)" (#12689)
This reverts commit 72dc7d9146e3b35d3253e86bd4ee295e0718c610.

Re-landing my InputDecorator changes so that I can land the character counter PR.
2017-10-24 11:07:14 -07:00
Michael Goderbauer
141a6355ce Performance improvements for semantics tree compilation (#12682)
* Without checking compatibility

* ++

* ++

* ++

* more docs
2017-10-23 17:33:46 -07:00
Greg Spencer
72dc7d9146 Revert "Fixes InputDecorator to work with textScaleFactor, fixes Material Design differences. (#12595)" (#12678)
This reverts commit 67cf7918cfc9201cfc05f508278a3ab6571bbb8e.

Reverting because this causes scuba regressions that I'd like to
address in another PR that is pending, but we'd like to roll Flutter.
2017-10-23 14:56:50 -07:00
amirh
ce4a45779d Add an isButton flag to the Semantic widget,use it for MaterialButton (#12657)
https://github.com/flutter/flutter/issues/11992
2017-10-23 14:52:41 -07:00
xster
52815b2224 Revive "Add a way to get the furthest Navigator" (#12647)
* Revert "Construct the accessibility channel's events by SemanticsEvent. (#12638)"

This reverts commit 4c1150dd01c0efb55278d35a9ce1467a65c45e40.

* Revert "Revert "Add a way to get the furthest Navigator" (#12608)"

This reverts commit 79f13c36258380408eb1a1738178b964be3bf7f3.
2017-10-23 12:24:19 -07:00
Ian Hickson
05a22fe0ab FittedBox RTL (#12662) 2017-10-23 11:05:23 -07:00
Alexandre Ardhuin
1fce14a31c enable lint prefer_single_quotes (#12665) 2017-10-22 18:11:36 +02:00
Yegor
67d16cd517 Theme.of provides all TextStyle properties (#12552)
* Theme provides all TextStyle properties

* match field declaration order in the test

* Theme.of returns text style with inherit == false

* change TextStyle.inherit logic; docs

* add TextStyle.debugLabel

* address comments

* add debug labels to Typography text styles
2017-10-20 20:17:07 -07:00
Ian Hickson
faf44b592a Factor out painting logic for DecorationImage (#12646)
This avoids some code duplication that existed before and will make
further modifications easier.
2017-10-20 16:58:16 -07:00
Jason Simmons
5e8634a625 libtxt: make a paragraph selection test handle equivalent libtxt and blink output (#12606) 2017-10-20 12:54:36 -07:00
Hans Muller
796c5439f6 Language-specific LocalizationDelegates (#12645) 2017-10-20 10:45:28 -07:00
xster
b96fa4de11 Let CupertinoNavBar automatically have a back or close button (#12575)
* create auto back button behaviour

* cosmetic fidelity

* tests

* review

* document new icon
2017-10-19 19:19:49 -07:00
amirh
4c1150dd01 Construct the accessibility channel's events by SemanticsEvent. (#12638)
This refactoring allows us to have SemanticsEvent object for events that are not
associated with an accessibility node id.
And allow https://github.com/flutter/flutter/pull/12594 to be a bit
cleaner with a single place for accessibility channel documentation (the
SemanticsEvent classes documentation).
2017-10-19 18:31:58 -07:00
xster
79f13c3625 Revert "Add a way to get the furthest Navigator" (#12608)
* Revert "BoxDecoration.borderRadius and RoundedRectangleBorder.borderRadius RTL (#12603)"

This reverts commit 07908916003fdc9078275b75eee40090f36b1cef.

* Revert "Copy snapshot file into assets (#12523)"

This reverts commit f6135107bcba92f02df6572d1a8be5e93863e6f6.

* Revert "Add a rootNavigator option to Navigator.of (#12580)"

This reverts commit 822084b235eab2f899a89706c622c08512295a4b.
2017-10-19 17:34:39 -07:00
Ian Hickson
982f511c90 Make Border more general (#12619) 2017-10-19 17:06:01 -07:00
Greg Spencer
67cf7918cf Fixes InputDecorator to work with textScaleFactor, fixes Material Design differences. (#12595)
Fixes InputDecorator to work with textScaleFactor, fixes Material Design differences.

There were a number of differences with the Material Design spec, including
several different padding values and underline thickness.  This corrects
that so that the decorator is in line with the Material Design spec now.

Also, the decorator properly handles changes to the textScaleFactor, where
before it would not re-layout when needed, painting the cursor and
underline incorrectly.

The decorator also now properly animates helper, error, and hint text when
the textScaleFactor or input decoration properties change.

Helper text is now properly displayed in dense mode, as the spec shows.
Before this change, it was never displayed in dense mode.

Fixes #12485
2017-10-19 10:11:07 -07:00
Greg Spencer
7e09649c41 Override just the textScaleFactor (#12530)
Hixie pointed out that what I had before was resetting all of the MediaQuery values, not just textScaleFactor. This should fix that.
2017-10-19 09:24:05 -07:00
Sarah Zakarias
f74cd91761 Update TextStyle doc and remove package field (#12577) 2017-10-19 10:14:38 +02:00
Alexandre Ardhuin
700dc9f752 enable lint avoid_function_literals_in_foreach_calls (#12607) 2017-10-19 08:16:16 +02:00
Todd Volkert
79fbf8bb03 Split common matcher into its own file. (#12622)
This aids in running the tests internally in Google
since the libraries upon which tests depend and the
test files themselves are defined separately.
2017-10-18 20:55:00 -07:00
Michael Goderbauer
a5a75e3d84 Fix tabs Semantics test (#12620)
Merge confliuct between #12605 and #12613
2017-10-18 17:11:50 -07:00
Michael Goderbauer
f8a2bd20e9 Redesign Semantic Tree Compilation Algorithm (#12605)
* Oct 12 10:12am

* implicit_semantics_test.dart passes

* refactoring

* works in nice

* minor rename

* more doc comments

* to be explicit check better

* fix test

* ++

* ++

* semantics_9_test (BlockSemantics) and implicit_semantics_test are passing

* doc updates

* tiny refactor

* fix static errors in tests

* fix gesture detector

* ++

* ++

* geometry

* ++

* remove noGeometry

* revert test

* +

* all tests but scrolling/clipping pass

* clipping works

* scrolling halfway

* sliver tests pass

* ALL TESTS PASS

* SemanticsNode changed

* docs and tiny fixes

* card test

* more doc comments

* remove missed print

* more tests

* make test pass on Linux

* remove changes to intellij proj file

* review comments
2017-10-18 16:28:24 -07:00
Michael Goderbauer
9baca00119 Make Tab take a widget as child (#12613)
* Make Tab take a widget as child

This way you can override the semantics information of a Tab (see test).

Fixes https://github.com/flutter/flutter/issues/12432

* more tests

* review comments

* review comment

* doc nits

* style fix
2017-10-18 16:19:54 -07:00
Jason Simmons
264cbf6145 libtxt: adapt a selection rectangle test (#12612)
libtxt's implementation of Paragraph.getBoxesForRange returns the full line
height for all characters in a line.  Blink had been returning a tighter
enclosing rectangle for each individual character.
2017-10-18 14:48:20 -07:00
Ian Hickson
0790891600 BoxDecoration.borderRadius and RoundedRectangleBorder.borderRadius RTL (#12603) 2017-10-18 11:24:54 -07:00
xster
822084b235 Add a rootNavigator option to Navigator.of (#12580) 2017-10-18 01:31:29 -07:00
Ian Hickson
d920fdd11a RoundedRectangleBorder (#12591) 2017-10-17 17:58:04 -07:00
Jason Simmons
d8380201bd libtxt: update a test for differences in rounding when calculating line heights (#12572) 2017-10-17 17:45:20 -07:00
Jason Simmons
1f531595cf Use non-whitespace contents in a button padding test (#12568)
libtxt has different policies than Blink for trimming whitespace.  This change
will make the test results consistent in both text renderers.
2017-10-17 17:45:11 -07:00
Ian Hickson
0e34c7f28c CircleBorder (#12570) 2017-10-17 13:38:06 -07:00
Ian Hickson
1f82733a3b Make BoxDecoration lerp gradients (#12451)
This still is very limited in what it can lerp, but it sets the stage for arbitrary lerps later.
2017-10-17 13:10:10 -07:00
Adam Barth
a13320253c Don't attempt to draw invisible overflow indicator (#12534)
If the flex is empty, there's no space in which to draw the overflow indicator,
so we shouldn't bother trying to draw it.

Fixes #12532
2017-10-17 11:17:08 -07:00
amirh
3d7a4eed44 Short circuit _checkUp if tap callbacks were triggered by resolve. (#12521) 2017-10-17 10:29:29 -07:00
Hans Muller
bd3e91ed98 AssetImage.obtainKey handles devicePixelRatio == null (#12564) 2017-10-17 09:27:04 -07:00
Greg Spencer
25ac924e01 Modify the MaterialButton to expand when text is scaled. (#12431)
This modifies the MaterialButton to expand vertically to fit the size of the contained child, no matter what the child widget is. It tries to be as close as possible to the minHeight constraint.

Also updated some doc comments to have headers (extra blank line after first sentence), and to wrap at 80 cols.

Addresses #12311
2017-10-13 16:07:05 -07:00
gspencergoog
e316956888 Make tooltips scale with textScaleFactor (#12498)
Fixes #12480
2017-10-12 16:44:21 -07:00