- 16 Dec, 2015 1 commit
-
-
Hixie authored
Scaffold calls this to see if it should show a back arrow when there's no drawer. With this change, everything continues to work. Fixes styled_text and probably others.
-
- 08 Dec, 2015 1 commit
-
-
Collin Jackson authored
-
- 07 Dec, 2015 3 commits
-
-
Hixie authored
Replace didPushNext() and didReplaceNext() with didChangeNext(), and call it in more cases, so that a route can easily track the next route. Use this to make TransitionRoute properly track its next route so that you can do next-route-driven animations that work even with removes, replaces, and other crazy manipulations of the navigator stack.
-
Hixie authored
This was already supported in the underlying classes but somehow not exposed by Navigator itself.
-
Adam Barth authored
Instead, it should enter the world fully formed.
-
- 03 Dec, 2015 2 commits
- 30 Nov, 2015 3 commits
-
-
Hixie authored
To make it easier to avoid pushing twice in one frame, provide a transaction mechanism for the navigator.
-
Hixie authored
* NavigatorState.replaceRouteBefore() * NavigatorState.removeRouteBefore() * NavigatorState.popUntil()
-
Hixie authored
This lets you dynamically replace one route with another.
-
- 26 Nov, 2015 1 commit
-
-
Hixie authored
* Split didPush() into didPush() and install(), so that we can install the overlays without triggering the push logic. This will be used in a subsequent patch to implement route replacement. * Split didPop() into didPop() and dispose(), so that we can remove overlays without triggering the pop logic. Also for a subsequent patch that implements replacement. * Clean up _navigator on the routes when the Navigator itself is disposed. * Drop the forwarding logic on willPushNext() -- now didPushNext() -- and didPopNext(), since we no longer have StateRoutes to get in the way. * Implement isCurrent more broadly and without having to keep track of state. * Provide some toString()s on NamedRouteSettings and ModalRoutes. * Make OverlayState.initState() use the insertAl functionality. * Make OverlayRoute.builders abstract since that way you'll catch when you forget to do it. If you don't want overlays, don't inherit from this class. * Made handleStatusChanged() on TransitionRoute public so that it can be overridden by subclasses.
-
- 25 Nov, 2015 1 commit
-
-
Adam Barth authored
Now you can supply a route argument to flutter start: $ flutter start --route /foo which will start the app at /foo instead of /.
-
- 24 Nov, 2015 2 commits
- 22 Nov, 2015 1 commit
-
-
Hixie authored
Now we only use it for things related to ModalRoute and ModalBarrier. (This is easy now that ephemeral routes are gone, so there's no other kind of route to distinguish against.)
-
- 20 Nov, 2015 3 commits
-
-
Hixie authored
- Removed the concept of ephemeral routes. - Renamed the two _MenuRoutes to _PopupMenuRoute and _DropDownRoute. - Added type arguments in various places: - DropDownMenu - _DropDownRoute - _ModalBottomSheetRoute - PopupMenuItem - _PopupMenu - _PopupMenuRoute - Made _ModalBottomSheetRoute, the two ex _MenuRoutes, and _DialogRoute all inherit from ModalRoute, via PopupRoute. - Change "Dropdown" and "DropDown" to "DropDown" consistently. - Made MaterialPageRoute inherit from PageRoute. - Made ModalBarrier not create a box if it's always transparent. - Exposed the Futures on TransitionRoutes. - Fixed that menus were no longer dismissable by tapping the modal barrier.
-
Hixie authored
These end up not actually being used, currently, because we don't have generic methods, which you'd need for showDialog() and friends, and we don't have any way to parameterise a class type at runtime, which you'd need for MaterialApp routes, but it's a step in the right direction.
-
Hixie authored
- `Scaffold.of(context).showBottomSheet(widget);` - Returns an object with .closed Future and .close() method. - Uses a StateRoute to handle back button. - Take the Navigator logic out of the BottomSheet widget. - Support showing a sheet while an old one is going away. - Add Navigator.remove().
-
- 19 Nov, 2015 1 commit
-
-
Hixie authored
"showSnackBar()" is now a feature of a Scaffold. To get to a Scaffold you either use a global key (`scaffoldKey.currentState.showSnackBar(...)`), or you use `Scaffold.of(context)`. Snack bars no longer have a route. They are entirely managed by the Scaffold. Fixes #432. Snack bars now queue up when you have several of them. Fixes #374. Snack bars now auto-size themselves around their contents. This is step one towards implementing multiline snack bars. Snack bars now self-dismiss after some per-snackbar configurable period. The self-dismissing pauses while a dialog is up above the snackbar (or anything that uses ModalRoute). To enable this, there's now a `ModalRoute.of(context)` API that returns the current ModalRoute, and you will be rebuilt if you asked for this and the route's "current" status changes. To implement this, the Navigator now rebuilds unconditionally any time it pushes or pops a route. Snack bars now use the curves that Android uses for snack bars. Snack bar contents now fade in.
-
- 18 Nov, 2015 1 commit
-
-
Hixie authored
I'm planning on adding more .of() functions and so to avoid further copypasta I'm providing some general utility functions here.
-
- 17 Nov, 2015 1 commit
-
-
Hixie authored
This makes HeroController ignore StateRoutes when deciding where to animate heroes to and from.
-
- 16 Nov, 2015 1 commit
-
-
Hixie authored
PageRoute is now MaterialPageRoute. This also changes the following: - Now the HeroController is a Navigator observer, rather than a feature of HeroPageRoutes, which are gone. This means heroes can work between any kind of ModalRoute now. - ModalPageRoute is moved from modal_barrier.dart to routes.dart. - It allows routes to opt-out of their modal barrier being a shortcut to popping the route. - Features of PageRoute that aren't Material-specific get promoted to ModalRoute features: storage, the subtree key, offstageness... The AnimatedModalBarrier is still a ModalRoute feature.
-
- 06 Nov, 2015 2 commits
-
-
Adam Barth authored
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
-
Adam Barth authored
These types belong at the MaterialApp level. Fixes #1969
-
- 05 Nov, 2015 1 commit
-
-
Hixie authored
- 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.
-
- 30 Oct, 2015 1 commit
-
-
Adam Barth authored
-
- 27 Oct, 2015 1 commit
-
-
Ian Hickson authored
- Change RouteArguments to pass the route's BuildContext rather than the Navigator. This caused the bulk of the examples/ and .../test/ changes (those are mostly mechanical changes). It also meant I could simplify Navigator.of(). - Make initState() actually get called when the State's Element is in the tree, so you can use Foo.of() functions there. Added a test for this also. - Provide a RouteWidget so that routes have a position in the Widget tree. The bulk of the route logic is still in a longer-lived Route object for now. - Make Route.setState() only rebuild the actual route, not the whole navigator. - Provided a Route.of(). - Provided a Route.writeState / Route.readState API that tries to identify the clients by their runtimeType, their key, and their ancestors keys, up to the nearest ancestor with a GlobalKey. - Made scrollables hook into this API to track state. Added a test to make sure this works. - Fix the debug output of GestureDetector and the hashCode of MixedViewport. - Fixed ScrollableWidgetListState<T> to handle infinite lists.
-
- 22 Oct, 2015 1 commit
-
-
Adam Barth authored
Now you don't need to pass the navigator around everywhere.
-
- 21 Oct, 2015 3 commits
-
-
Hixie authored
-
Hixie authored
This grid makes it significantly easier to track down errors when you're looking at coordinates in a render tree dump and want to see if they're what you expect or if they're wildly away from the right location.
-
Hixie authored
Assert at build time that PageRoute route builders do not return null widget trees. Also very minor new code comments and code reorg to help make the heroes patch easier to review. (These are changes that are unrelated to Heroes but that were part of the Heroes patch.)
-
- 20 Oct, 2015 2 commits
-
-
Adam Barth authored
-
Adam Barth authored
The style we use for callbacks in widgets is "onFoo". These classes were using an order naming convention and just called their callbacks "callback".
-
- 10 Oct, 2015 1 commit
-
-
Adam Barth authored
-
- 09 Oct, 2015 2 commits
-
-
Hixie authored
...once the animation is done.
-
Adam Barth authored
These are now part of material.dart.
-
- 08 Oct, 2015 2 commits
-
-
Hixie authored
-
Adam Barth authored
It was trying to grab the route's performance before it was created. Now we create the performance eagerly again.
-
- 07 Oct, 2015 2 commits
-
-
Hixie authored
Previously, RenderObjectElements didn't support being marked dirty. This is fine, except for MixedViewport and HomogeneousViewport, which have builder functions to which they hand themselves as a BuildContext. If those builder functions call, e.g., Theme.of(), then when the theme changes, the Inherited logic tries to tell the RenderObjectElement object that its dependencies changed and that doesn't go down well. This patch fixes this by making RenderObjectElement a BuildableElement, and making MixedViewport and HomogeneousViewport hook into that to rebuild themselves appropriately. Also, this was only found at all because ThemeData didn't implement operator==, so we were aggressively marking the entire tree dirty all the time. That's fixed here too. Also, I changed card_collection.dart to have more features to make this easier to test. This found bugs #1524, #1522, #1528, #1529, #1530, #1531.
-
Adam Barth authored
This patch prepares us to create routes that control their performances more closely.
-