2407 Commits

Author SHA1 Message Date
Devon Carew
dd81a21c93 small change to the generated dartdoc styles (#3290) 2016-04-13 10:04:35 -07:00
Ian Hickson
e1aaf39f82 Fix Block intrinsic functions (#3286)
* Fix Block intrinsic functions

* Update block_test.dart

Fix the test per travis
2016-04-13 09:35:10 -07:00
Ian Hickson
ecf1cce82c Provide details when reporting invalid constraints (#3281)
This also shrinks the width of the error messages a bit because now that
we use 'package:' URLs the stacks are a bit narrower.
2016-04-12 15:42:00 -07:00
Adam Barth
ec4a6a96f2 Add more dartdocs to material.dart (#3279) 2016-04-12 14:18:58 -07:00
Devon Carew
8d02f304cf update styles for the generated dartdocs (#3276)
* styles updates for the api docs

* update library docs

* use the new --favion and --use-categories options for dartdoc
2016-04-12 13:08:57 -07:00
Adam Barth
47715c5076 Add padding support to LazyBlock (#3272)
Also fill in some related dartdocs.
2016-04-12 13:05:44 -07:00
Adam Barth
69f994446b Add more dartdoc to material.dart (#3261)
Now past halfway though material.dart by files.
2016-04-12 12:41:59 -07:00
Jason Simmons
0f70464e1d Treat pointer cancel events similarly to pointer up events (#3242) 2016-04-12 11:17:43 -07:00
Hans Muller
ba5a04e85a ClampOverscrolls Inherited Widget (#3267)
* ClampOverscrolls Inherited Widget
2016-04-12 10:12:44 -07:00
Ian Hickson
47f5c6f2e0 Add even more careful checks around BoxConstraints (#3243)
I ran into a case where I was setting minHeight=∞ and then calling
layout() with that constraint, which is all kinds of bad. To try to
catch this earlier, this patch now provides a way to catch constraints
that are requiring infinite values.

We don't _always_ check this because there are valid uses for
BoxConstraints.biggest, e.g. as an additionalConstraint.
2016-04-11 11:10:11 -07:00
krisgiesing
504610791f Update wording on viewport test (#3228) 2016-04-08 23:52:52 -07:00
Hans Muller
d9e0c32da2 Remove ScrollableListPainter (#3226)
* Remove ScrollableListPainter
2016-04-08 17:08:35 -07:00
Hans Muller
df0a9fc179 Scrollbar cleanups (#3229) 2016-04-08 16:45:54 -07:00
Hans Muller
34f23cc456 Added OverscrollIndicator, removed OverscrollIndicatorPainter (#3220)
* Added OverscrollIndicator, removed OverscrollIndicatorPainter
2016-04-08 14:21:00 -07:00
Adam Barth
295d3749bd FlexibleSpaceBar fails to animate (#3222)
We need to listen to the Scaffold's animation so that we rebuild every time it
ticks so that we can drive our animations.
2016-04-08 13:05:47 -07:00
Adam Barth
9a40679d87 Improve the docs for Overlay (#3216)
Fixes #3197
2016-04-08 12:33:48 -07:00
Adam Barth
0b46b00751 Add more dartdoc to material.dart (#3204)
The dartdoc will continue until morale improves.
2016-04-08 12:33:35 -07:00
Hans Muller
6335872802 Added Scrollbar, removed ScrollbarPainter (#3203)
* Added Scrollbar, removed ScrollbarPainter

* removed a dead import

* updated per review feedback

* Only call dispatch if the widgets State is still mounted
2016-04-07 16:59:51 -07:00
Devon Carew
3cfa4d39c6 docs cleanup (#3196)
* some docs cleanup

* update styles

* remove unused file
2016-04-07 15:27:43 -07:00
Adam Barth
8254dce2f5 Dismissable doesn't resize from its full size (#3194)
Previously we'd snap to the size of the background widget before resizing to

zero. Now we force the background widget to match the size of the dimissable

widget at the time it was dismissed.



Fixes #3092
2016-04-07 15:08:02 -07:00
Adam Barth
99718794b3 Use the proper charset for decoding HTTP responses (#3182)
Previously we always used Latin-1.
2016-04-07 13:40:36 -07:00
Adam Barth
81e18ac11c We should lerp decorations in the correct direction (#3176)
Previously we lerped them backwards.



Fixes #2832
2016-04-07 12:46:10 -07:00
Adam Barth
907215df27 Add more dartdoc to material.dart (#3167)
Also, clean up a few interfaces that looked awkward when writing docs.
2016-04-07 10:03:59 -07:00
Adam Barth
7570495b0a SnackBarActions shouldn't be tappable twice
They should automagically disable after the first tap.
2016-04-06 21:13:53 -07:00
Adam Barth
1e207c0150 Remove RenderBlockViewport
Previously this was used by MixedViewport, but now we don't need it because

LazyBlockViewport has replaced MixedViewport.



I've also taken this opportunity to modernize RenderBlock.
2016-04-06 19:39:10 -07:00
Adam Barth
76f66605b0 TabView should keep state
Previously, we lost sync with the tab view contents when switching tabs. Now we
key the subtrees to make sure they keep their state across tab animations.

Fixes #3147
2016-04-06 17:15:53 -07:00
Hans Muller
c058cf2e81 Overscroll indicator for MaterialList
Overscroll indicator for MaterialList
2016-04-06 16:46:37 -07:00
Adam Barth
2d49e8074c Remove MixedViewport
Also, port the MixedViewport tests to LazyBlockViewport. Fix bugs found by the tests.
2016-04-06 15:24:52 -07:00
Ian Hickson
798dfa2bc9 Fix analyzer warnings
Fix some legit uses of GlobalKey to specify the type they want.



Fix some sketchy uses of GlobalKey in tests to fake it with "as

dynamic".



Remove some extraneous imports that made the build red.
2016-04-06 14:14:34 -07:00
Adam Barth
7ab122e557 PopupMenuButton should lazily build menu items
Previously, the client of PopupMenuButton needed to build all the menu times

when building the PopupMenuButton. This can get expensive if, for example, each
item in a scrollable list has a popup menu associated with it.

Now the client passes a builder function to the PopupMenuButton that gets
invoked only when its time to show the menu items.
2016-04-06 13:28:09 -07:00
krisgiesing
0213b67e76 Handle dirty bits correctly when render objects are re-attached
Fixes #2855
2016-04-06 12:39:22 -07:00
Adam Barth
6fd6859793 LazyBlock docs and physics
This patch adds dartdoc to LazyBlock. Also, this patch fixes the scrolling
physics of LazyBlock. Previously, we updated a running simulation only when the
change in scroll behavior changed the current scroll offset. Now we update
running simulations every time the behavior changes because the simulation
might depend on quantities other than the current scroll offset.
2016-04-06 12:36:54 -07:00
Ian Hickson
dea7c34718 Allow Tweens to lerp to null. 2016-04-05 22:32:54 -07:00
Adam Barth
40899eb274 Port clients of ScrollableMixedWidgetList to LazyBlock
LazyBlock is going to replace ScrollableMixedWidgetList at some point.
2016-04-05 20:18:35 -07:00
Matt Perry
bd407cea0d Merge pull request #3117 from mpcomplete/tooltip
Fix typo in Tooltip's shouldRelayout method.
2016-04-05 18:06:49 -04:00
Adam Barth
618e7e4942 Adds a first draft of LazyBlock
LazyBlock is intended as a replacement for MixedViewport. Rather than

maintaining a table of all the observed child sizes (like

MixedViewport), LazyBlock works by dead reckoning the location of the

children based on the existing viewport. This approach makes it easier

to resize children because LazyBlock doesn't cache any additional

information that would need to be invalidated.



This patch contains a first draft of LazyBlock that works in a simple

usage scenario. Subsequent patches will replace

ScrollableMixedWidgetList with LazyBlock and port the existing

ScrollableMixedWidgetList tests over to LazyBlock.



Related to #3075
2016-04-05 14:13:31 -07:00
Ian Hickson
b9f048172d Introduce a color for selected rows in data tables
- Rename unselectedColor to unselectedWidgetColor.

- Rename selectionColor to textSelectionColor.

- Add selectedRowColor.

- Remove hintOpacity since it's not tested and has no demo clients.

- Add some docs.
2016-04-05 13:07:26 -07:00
Hans Muller
d682c13b34 First drag moves selected tab indicator 2016-04-05 13:05:37 -07:00
krisgiesing
5e3d8cf2d3 Merge pull request #3106 from krisgiesing/remove_getters
Remove public accessor for paint dirty state
2016-04-05 09:52:26 -07:00
Adam Barth
3665866fba Add some sensible defaults to FixedColumnCountGrid and MaxTileWidthGrid
If we use null for these values, the implementations will later assert.



Fixes #3102
2016-04-04 20:47:05 -07:00
Ian Hickson
70053fff07 Handle tables that don't have decorations. 2016-04-04 17:10:31 -07:00
Ian Hickson
6ea7ab89ff Add a row decoration to RenderTable
This will let us draw in-row bottom borders and row-wide backgrounds,

both of which are necessary for Material data tables.
2016-04-04 16:53:38 -07:00
Adam Barth
73bee3ae29 Document progress indicators
Specifically, explain how to create both determinate and indeterminate progress

indicators.



Fixes #3055
2016-04-04 12:32:37 -07:00
Adam Barth
767ce82646 Add support for discrete material sliders
Fixes #1541
2016-04-04 11:14:12 -07:00
Ian Hickson
daa0d2dfb3 Document newton more. 2016-04-03 23:33:34 -07:00
Ian Hickson
7f2efb2cfd Further improve error reporting by wrapping messages. 2016-04-03 12:00:01 -07:00
Ian Hickson
ee703da9de Rationalise all our exception handling.
- Create a FlutterErrorDetails struct-like class that describes an

  exception along with more details that aren't in the exception, like

  where it was caught and what was going on when it was caught.



- Provide a FlutterError static API for handling these objects:



  - FlutterError.onError which is called whenever Flutter catches an

    error.



  - FlutterError.reportError() which handles an error.



  - FlutterError.dumpErrorToConsole() which is the default behavior

    for onError.



- Removes all the existing exception handler callbacks.



- Replaces all the existing places that described exceptions using

  debugPrint with calls to FlutterError.reportError().



- Extend lockState() to also catch exceptions, so that we catch

  exceptions that happen during finalizers.



- Make the test framework catch errors and treat them as failures.



- Provide a mechanism to override this behavior in the test framework.



- Make the tests that used to depend on the exception handler

  callbacks use this new mechanism.



- Make pump() also support the phase argument.



- Improve some tests using these new features.



Fixes #2356, #2988, #2985, #2220.
2016-04-02 10:24:12 -07:00
Ian Hickson
3cd58547cd Clean up and document icon button color logic 2016-04-01 21:23:01 -07:00
Adam Barth
665ac49b57 Add support for backdrop filters
For example, to implement backdrop blur effects.
2016-04-01 21:15:43 -07:00
Ian Hickson
71e689f450 Have a default default text style.
This way, widgets that try to use the DefaultTextStyle don't have to

handle the case where there isn't an explicit default.
2016-04-01 16:10:27 -07:00