Ian Hickson
0400107cdf
Apply @required according to the rules, for all of widgets/* ( #7730 )
2017-01-30 20:10:44 -08:00
Adam Barth
9119969ad2
Add SliverGrid and ScrollGrid ( #7745 )
...
This patch adds grid supports to slivers and introduces a ScrollGrid
convenience class for making the common types of scrollable grids.
This patch also deploys ScrollGrid in an example in the Flutter Gallery.
2017-01-30 17:27:51 -08:00
Adam Barth
edcab3c340
Add TabBar.unselectedLabelColor ( #7747 )
...
Our previous behavior of hard-coding the unselected label color to 70% of the
selected color was too restrictive.
Fixes #7738
2017-01-30 16:46:09 -08:00
Adam Barth
a0dee550c0
Use ScrollView in more places ( #7746 )
...
Now that ScrollView supports itemExtent, we can use it in a few more places.
2017-01-30 16:45:51 -08:00
Ian Hickson
64d3647084
Tab crash in complex_layout ( #7744 )
2017-01-30 16:11:01 -08:00
Adam Barth
098af18393
Add SliverList ( #7727 )
...
Add SliverList
A SliverList is a linear layout of box children in a viewport that all
have a common, fixed extent along the scroll axis. The layout is similar
to a SliverBlock but more efficient.
2017-01-30 00:40:50 -08:00
Ian Hickson
6e30cae8fa
Warn about the size setter. ( #7729 )
2017-01-29 23:58:42 -08:00
Ian Hickson
a8ed018386
Documentation fixes ( #7731 )
...
Fixes https://github.com/flutter/flutter/issues/4620
2017-01-29 23:43:01 -08:00
Ian Hickson
e8c9797d1a
Various documentation fixes. ( #7726 )
...
Fixes for: https://github.com/flutter/flutter/issues/7570 https://github.com/flutter/flutter/issues/7231 https://github.com/flutter/flutter/issues/2841 and others
2017-01-29 22:39:15 -08:00
Ian Hickson
ab28e2c46a
Key improvements ( #7719 )
...
ValueKey and ObjectKey shouldn't be == with subclasses.
Fixes https://github.com/flutter/flutter/issues/3107
Clean up toString for the keys a bit.
Add a test for keys.
2017-01-28 16:29:23 -08:00
Ian Hickson
512a9af6a0
deprecate needsLayout ( #7718 )
...
The needsLayout getter is prone to misuse. See discussion on #3083 .
2017-01-28 14:26:08 -08:00
Ian Hickson
571834ea3c
Indicate required fields in flutter_gallery demo. ( #7717 )
2017-01-28 01:48:18 -08:00
Hans Muller
17389244bf
Fix BorderSide rendering ( #7705 )
2017-01-27 15:03:20 -08:00
Adam Barth
743be6746e
Split ScrollableViewport2 from Scrolllable2 ( #7707 )
...
This structure makes it easier to customize the viewport used in a Scrollable.
Now Scrollable2 doesn't commit to using slivers.
2017-01-27 13:14:41 -08:00
Adam Barth
5ecf8786b4
Add ScrollView.padding ( #7690 )
...
Uses SliverPadding to implementing paddding in ScrollView. Also, deploy
ScrollView in more places now that it implements padding.
Finally, remove loader_app.dart because it is not referenced.
2017-01-26 23:14:37 -08:00
Adam Barth
9c288040ce
Improve SliverBlockDelegate.estimateScrollOffsetExtent ( #7689 )
...
We now report an accurate estimate when the lastIndex is the final index
in the list.
Also, we now project forward from the lastIndex using the extent of the
reified children instead of trying to project forward from index 0.
This new algorithm leads to estimation error as you reach the end of a
list, avoiding some ballistic overscrolls.
2017-01-26 22:59:10 -08:00
Ian Hickson
ed2be89569
Try moving from closures to direct calls. ( #7679 )
...
Rumours have it that this is faster now.
Fixes https://github.com/flutter/flutter/issues/5154
2017-01-26 18:54:48 -08:00
Adam Barth
a90e25502a
Don't overshoot ballisitic scroll activities ( #7670 )
...
When we start a ballisitic scroll activity to correct an out-of-range scroll
offset, make sure we start with a velocity that is headed in the right
direction.
2017-01-26 17:26:24 -08:00
Todd Volkert
71242888f1
Revert method generics in packages/flutter/lib/src/http ( #7662 )
...
We converted all code to use method generics in #7235 , but
we shouldn't have touched the `http` folder since this code
is pulled from upstream.
2017-01-26 12:46:00 -08:00
Ian Hickson
7c40446a69
proxy_box tests ( #7658 )
2017-01-26 08:00:24 -08:00
Ian Hickson
46792dc2c4
Speed up hot reload in the framework. ( #7647 )
2017-01-25 17:54:56 -08:00
Ian Hickson
25223c75bd
New scrollbars for the scrollable refactor ( #7646 )
2017-01-25 17:51:25 -08:00
Adam Barth
600c75cb11
Viewport2 should clip visual overflow ( #7641 )
...
When you put a box in a Viewport2, it might paint outside its allocated bounds.
This patch teaches Viewport2 to clip when that happens.
2017-01-25 15:54:46 -08:00
Ian Hickson
9ff2e978cd
Sliver Padding ( #7628 )
2017-01-25 15:00:57 -08:00
Hans Muller
9cfcd3fdec
Corrected the "Routes can return a value" example ( #7638 )
2017-01-25 15:00:18 -08:00
Ian Hickson
1426ef9944
Appbar slivers. ( #7631 )
2017-01-25 13:18:57 -08:00
Adam Barth
eba5fb1a18
Add a sliver-based ScrollView ( #7627 )
...
This patch introduces ScrollView, which is a convenience widget for using a
SliverBlock. This patch also switches a number of tests from Block to
ScrollView. Once we support more features of block (e.g., padding and
shrinkwrapping), we'll be able to move over more clients.
2017-01-25 12:51:22 -08:00
Hans Muller
e5aa1b1e4e
Added PageRouteBuilder ( #7632 )
2017-01-25 08:50:30 -08:00
Ian Hickson
94fab77bea
More docs updates for services. ( #7633 )
2017-01-24 23:34:16 -08:00
Ian Hickson
6bd578ff52
Reword the SystemChrome docs to be in the Flutter voice and style. ( #7599 )
2017-01-24 23:29:33 -08:00
Ian Hickson
58348612a3
Factor out debugPaintPadding and test it ( #7598 )
...
I plan to use this to implement similar logic in SliverPadding.
To make this easier to test I extended the paints matcher to accept a
function that takes a canvas. While I was at it I also made it accept
a Finder, it'll go and find the render object for you.
Also added support for paints..path and fixed some grammar in the
error messages.
Also improved the docs for debugPaint*.
2017-01-24 16:08:27 -08:00
Adam Barth
559621ca5a
Add SingleChildScrollView ( #7620 )
...
This widget is a replacement for ScrollableViewport that uses the new
Scrollable2 machinery. The widget is not based on Slivers but does use the new
scroll behavior classes.
2017-01-24 15:16:01 -08:00
Ian Hickson
f683abd757
Sliver Block ( #7618 )
2017-01-24 15:06:53 -08:00
Hans Muller
8c5bee9405
Add Navigator.pushReplacement() and Navigator.pushReplacementNamed() ( #7611 )
2017-01-24 11:36:48 -08:00
Ian Hickson
1bdf351818
Merge pubspec.yaml and flutter.yaml. ( #7605 )
2017-01-24 11:19:31 -08:00
Adam Barth
134096022c
Test PaginatedDataTable ( #7594 )
...
This patch contains some basic tests for PaginatedDataTable.
2017-01-23 21:36:42 -08:00
Hans Muller
44f957d606
Prevent overlapping hero transitions from starting ( #7568 )
2017-01-23 14:52:32 -08:00
Ian Hickson
a34ae0f99d
Talk about how to resize IconButtons more. ( #7595 )
...
Answers http://stackoverflow.com/questions/41729278/why-is-this-icon-being-clipped
2017-01-23 14:42:30 -08:00
Adam Barth
bf296f715e
Test DataTable ( #7591 )
...
This patch adds a basic test for the DataTable widget.
2017-01-23 12:40:51 -08:00
Ian Hickson
63aa1397a3
Increase the strictness of our requiring explicit types ( #7585 )
...
...now that we have generic methods, their types need to be specified too.
2017-01-23 01:04:31 -08:00
Adam Barth
99822088a7
Add operator== and hashCode to TextTheme ( #7586 )
...
Teach `paints` matches about `drawRect` and how to `paintChild`.
Also, improve test coverage.
2017-01-23 00:06:58 -08:00
Ian Hickson
cbda208b4b
Reduce the amount of spam from analyze watch. ( #7582 )
...
See https://github.com/dart-lang/sdk/issues/28463 , which I think is a
regression.
This also fixes the regression introduced by
https://codereview.chromium.org/2559773002 whereby we were no longer
checking any of the lints.
2017-01-22 16:43:24 -08:00
Ian Hickson
9573bc14e0
Avoid double negatives in text editing APIs ( #7577 )
...
hideText -> obscureText
hideDivider -> !showDivider
2017-01-21 23:34:54 -08:00
Ian Hickson
15a7eb3b6c
Move to real generic method syntax ( #7235 )
2017-01-21 20:58:44 -08:00
Ian Hickson
36464ca659
About box should default to the executable name. ( #7572 )
...
Removes some TODOs now that https://github.com/flutter/flutter/issues/3648 is fixed.
2017-01-20 16:44:19 -08:00
Ian Hickson
63160b3dab
Scrolling Refactor ( #7420 )
2017-01-20 16:18:56 -08:00
Adam Barth
e52bda2cd0
Document the value that Navigator.push completes to ( #7569 )
...
Also, synchronize the docs between Navigator.push and NavigatorState.push (and
friends).
2017-01-20 15:39:06 -08:00
Adam Barth
0f1d97756d
Strengthen animation listener iteration patterns ( #7566 )
...
This patch aligns the iteration patterns used by animations and
ChangeNotifier. They now both respect re-entrant removal of listeners
and coalesce duplication registrations. (Also, ChangeNotifier
notification is no longer N^2).
This patch introduces ObserverList to avoid the performance regression that the
previous version of this patch caused.
Fixes #7533
2017-01-20 15:38:53 -08:00
Adam Barth
3b104a813f
Improve test coverage ( #7564 )
...
Also, fix some minor bugs with SynchronousFuture.
2017-01-20 15:15:27 -08:00
Ian Hickson
86f5c78f2c
Document that the default text color is white. ( #7565 )
...
Answers http://stackoverflow.com/questions/41371449/how-do-you-use-a-textpainter-to-draw-text
2017-01-20 14:57:52 -08:00