1062 Commits

Author SHA1 Message Date
Adam Barth
b1435e2973 Merge pull request #305 from abarth/input_layout
Give loose contraints to text inside input widget
2015-11-11 09:56:29 -08:00
Adam Barth
64a645352c Give loose contraints to text inside input widget
The input widget scrolls, so it should give its text loose constraints.  That
way the text ends up being its intrinsic size even if put in a context with
tight constraints.

Fixes #298
2015-11-11 09:37:01 -08:00
Hans Muller
7791acd81d Merge pull request #303 from HansMuller/bottom_sheet_test
Add a unit test for persistent bottom sheets

ShowBottomSheet now clears its placeholder after the bottom sheet has been dismissed.

Added support for generating fling gestures to WidgetTester.
2015-11-11 09:10:05 -08:00
Hans Muller
b4c3970319 Add a unit test for persistent bottom sheets 2015-11-11 08:49:50 -08:00
Jason Simmons
480c5ae4eb Receive pointer events through PointerPackets 2015-11-10 16:06:24 -08:00
Adam Barth
b1a17cb0f8 Fix remaining analyzer warnings
Constructor tear-offs aren't supported by the analyzer yet.
2015-11-10 14:12:15 -08:00
Adam Barth
c685cb804d Fix analyzer warnings in mojo_client.dart 2015-11-10 14:06:22 -08:00
Adam Barth
f0ebc2b0b1 Merge pull request #279 from abarth/faster_layout
Make layout_bench.dart 19% faster
2015-11-10 12:24:33 -08:00
Adam Barth
1d7cd6b7c0 Make layout_bench.dart 19% faster
Previously we would walk from every node in layout to the root to mark the root
as needing paint. Now we leave dirty bits throughout the tree so that we can
cut off the walk as soon as we find a dirty node.
2015-11-10 12:11:16 -08:00
Hans Muller
5e08b98e0d Refactor bottom sheet support, add a bottom sheet to the stocks demo
Factored OverlayRoute out of the modal and persistent bottom sheet clases, since the bottom sheet classes need to drive the performance.

Added a bottom sheet to the stocks demo: long-press on a stock shows a modal bottom sheet.

Made AnimatedModalBarrier public.
2015-11-10 11:27:17 -08:00
Florian Loitsch
c5427fb9a8 Minor doc fixes. 2015-11-09 18:57:10 -08:00
Collin Jackson
c3f55dcec2 Fix #104 by adding support for HTTP post using DataPipeFiller 2015-11-09 16:40:24 -08:00
Hans Muller
da4fbdd4ae Updated {} and fling dismiss Future value 2015-11-09 09:39:19 -08:00
Hans Muller
9cb8188a0c Support drag-to-dismiss in persistent bottom sheets 2015-11-09 08:36:19 -08:00
Devon Carew
3b9862a52c support older android devices (>= 16) 2015-11-07 21:55:21 -08:00
Adam Barth
eed20996ba Merge pull request #1999 from abarth/null_width_factor
Don't crash if no widthFactor is set in an unbounded context
2015-11-06 14:52:12 -08:00
Adam Barth
5ee721fe68 Merge pull request #1995 from abarth/startup_assert
We throw an exception if you tap the screen during load
2015-11-06 14:52:03 -08:00
Adam Barth
e4a14e5675 Don't crash if no widthFactor is set in an unbounded context 2015-11-06 13:16:45 -08:00
Adam Barth
060b34f700 We throw an exception if you tap the screen during load
Inside runApp, we were building the render tree for the app, but we weren't
calling layout, which meant we were running a hit test on a dirty tree. Now
hitTest specifically asserts that the tree is clean and we synchronously call
layout for your app during runApp.

Fixes #1960
2015-11-06 11:46:24 -08:00
Adam Barth
5cf258c49e Merge pull request #1989 from abarth/fix_heroes
Heroes don't reverse any more
2015-11-06 10:59:39 -08:00
Adam Barth
70b14e8a31 Heroes don't reverse any more
We need to use the performance for the "from" route when going backwards. Also,
fix a bug in the HeroParty where it would call the quest finished callback
multiple times.

Fixes #1958
2015-11-06 10:53:46 -08:00
Hans Muller
10a4753f43 Merge pull request #1990 from HansMuller/bottom_sheet_placeholder
Adds showBottomSheet(), AlignTransition
2015-11-06 10:10:21 -08:00
Hans Muller
b39c1f895d Adds showBottomSheet(), AlignTransition 2015-11-06 09:52:01 -08:00
Adam Barth
fa50aaec50 Merge pull request #1986 from abarth/remove_scaffolding
Remove scaffolding for Navigator1 to Navigator2 transition
2015-11-06 08:13:16 -08:00
Ian Hickson
1a684291f6 Merge pull request #1971 from Hixie/better-messages-for-MaterialApp
Better asserts for MaterialApp and Navigator
2015-11-05 21:35:33 -08:00
Adam Barth
f9abef3e03 Remove scaffolding for Navigator1 to Navigator2 transition
These types belong at the MaterialApp level.

Fixes #1969
2015-11-05 21:05:30 -08:00
Adam Barth
519ab4ae1a Merge pull request #1983 from Hixie/block-padding
Teach Block about padding.
2015-11-05 19:39:40 -08:00
Adam Barth
60d77d972f Factor DrawerController out of Drawer
This patch paves the path for refactoring the Drawer into the Scaffold to
support edge swipes and peeks.
2015-11-05 19:06:00 -08:00
Hixie
1f5844ea70 Teach Block about padding.
It's common to want a scrolling viewport but with padding around the
contents. Teaching Block about this makes the places that do this
substantially simpler and further buries ScrollableViewport and
BlockBody (they're now only used in scrollable.dart).
2015-11-05 17:14:27 -08:00
Hans Muller
ef866e00a3 Replace Align shrinkWrap parameter with widthFactor and heightFactor 2015-11-05 16:45:05 -08:00
Hixie
255ed0b951 Make Draggable use gestures
Draggable is now itself a gesture arena member. This means it won't
conflict with other gesture recognisers in the same path.

This also allows variants of Draggable that are triggered by other
gestures.

Also, some cleanup of DoubleTapGestureRecognizer, GestureDetector, and
PrimaryPointerGestureRecognizer.

Also, make MultiTapGestureRecognizer support a timeout for longpress.

Also, make Draggable data be typed.

Also, hide warnings about constructor warnings for now. Analyzer doesn't
support them yet. (Have to do this on a per-line basis)

Directions for future research:
 - animating the avatar (enter/exit transitions)
 - interaction with the navigator (canceling a drag on page navigation, etc)
 - double-tap draggable
2015-11-05 15:16:59 -08:00
Hixie
8831407722 Better asserts for MaterialApp and Navigator
- runApp(new MaterialApp()) was crashing long after the constructor. Now
  it asserts in a more useful location.
- remove the default name for NamedRouteSettings. It was unused anyway.
2015-11-05 15:14:21 -08:00
Adam Barth
2fc5a7597c Add the ability to have translucent gesture detectors
A translucent gesture detector still listens for gestures but also lets the
content visually behind the detector receive events.
2015-11-05 12:47:39 -08:00
Hans Muller
7bafe54a5e Added LayoutId widget, MultiChildLayoutDelegate.isChild() 2015-11-04 16:58:21 -08:00
Adam Barth
9bc64540c5 Improve hit testing
Now a RenderBox is considered hit if one of its children are hit or it itself
decides that it's hit. In particular, empty space inside a flex won't be hit
because none of the children are located there and a RenderFlex doesn't
consider itself hittable.

Fixes #53
Fixes #1221
2015-11-04 16:51:19 -08:00
Hans Muller
7a370b8aba Merge pull request #1952 from HansMuller/snack_bottom_fab
One Scaffold layout to rule them all

Expanded the existing CustomMultiChildLayout to handle all of the Scaffold's children.

This change also eliminates the FAB input dead-zone.
2015-11-04 14:00:30 -08:00
Hans Muller
875d826294 One Scaffold layout to rule them all. 2015-11-04 13:52:15 -08:00
Hixie
ba3f60f87f Gesture class hierarchy tune-up
Make all the *GestureRecognizer classes inherit from a class called
GestureRecognizer. Give the old GestureRecognizer a name that is more
precise about its purpose. Remove the members of GestureArenaMember that
aren't used by GestureArenas.
2015-11-04 13:18:11 -08:00
Hixie
6d389722a5 Get more debug info into the rendering layer
- change how we expose settings at the RenderObject layer so that it's
  easier to maintain.
- expose the Widget owner chain in the RenderObject layer debug output
- add debug info to RenderOpacity, RenderIgnorePointer, RenderListener
- make the output for text nodes prettier
2015-11-04 12:37:39 -08:00
Hans Muller
156645b473 Widen the dropdown menu item InkWells 2015-11-04 08:54:40 -08:00
Adam Barth
ff8e406167 Merge pull request #1912 from aghassemi/master
Adding RawImage component
2015-11-04 08:45:30 -08:00
Ali Ghassemi
1dce2c8591 Updating styles 2015-11-04 08:17:59 -08:00
Adam Barth
c44dd17d47 Always reset parentData when dropping children
Previously, we'd leave the old values in the parent data if the types matches,
but not all render objects would reset these values during layout. For example,
RenderProxyBox doesn't set the position field because it doesn't read the
position field. However, leaving the old data there violates the invariants of
the box protocol and can cause trouble (e.g., localToGlobal giving the wrong
result).

Fixes #1939
2015-11-04 08:02:05 -08:00
Hixie
7925e060b9 Fix double tap constants, add a doubletap test
Document the Gesture Detector constants.

Remove kEdgeSlop since it's obsolete on Android.

Add a test that verifies that when the first tap is canceled, the second
tap can become the first tap of a subsequent two-tap sequence.
2015-11-03 16:53:08 -08:00
Collin Jackson
055b642663 Merge pull request #1938 from collinjackson/http
Bare bones Mojo reimplementation of Dart’s http package
2015-11-03 16:35:50 -08:00
Collin Jackson
3536899938 Bare bones Mojo reimplementation of Dart’s http package 2015-11-03 16:27:20 -08:00
Hans Muller
218bbdc112 Merge pull request #1907 from HansMuller/toolbar_bottom
Add support for "extended height" toolbars - ToolBar bottom

Added a Widget-valued bottom ToolBar property. If set the bottom widget appears below the normal toolbar.

Removed the kToolBarHeight hardwiring from Scaffold.

Updated the "swipe away" demo to use an extended height toolbar.
2015-11-03 16:10:07 -08:00
Adam Barth
78ba7d9281 Merge pull request #1934 from abarth/stocks_list
Stocks list doesn't update when stocks are loaded
2015-11-03 14:28:23 -08:00
Adam Barth
78d35391ce Stocks list doesn't update when stocks are loaded
Previously, we passed widgets up the hierarchy to display them in the overlay,
but that breaks the change propagation logic because those widgets won't get
rebuilt.  Now we pass WidgetBuilders instead, which can be rebuilt when the
overlay rebuilds.

Fixes #1913
2015-11-03 14:27:54 -08:00
Hans Muller
56ccfc4e74 ToolBar withSizeOffsets() is now withPadding() 2015-11-03 14:27:34 -08:00