- 09 Dec, 2015 2 commits
-
-
Adam Barth authored
-
Adam Barth authored
-
- 08 Dec, 2015 4 commits
-
-
Collin Jackson authored
-
Adam Barth authored
Now we just use the state from the Route. Fixes #744
-
Adam Barth authored
Now we ignore the pointer after we start popping the route. Fixes #686
-
Adam Barth authored
Now use use the route's getPosition function to position the drop-down menu. Also, fix a number of other related bugs that blocked the dropdown button from working correctly. The dropdown menu still has the following issues: 1) In the exit animation, the background of the menu disappears too quickly because of incorrect paint bounds computations in the layer tree. 2) The drop down menu isn't positioned correctly after the device rotates. We'll need to address this issue in a separate patch. Fixes #630
-
- 07 Dec, 2015 1 commit
-
-
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.
-
- 05 Dec, 2015 1 commit
-
-
Hixie authored
Also, replace places that use the term "create performance" with "create performance controller".
-
- 04 Dec, 2015 2 commits
-
-
Collin Jackson authored
-
Hixie authored
Instead of separate functions for the 0->1 and 1->2 transitions, just have one function.
-
- 03 Dec, 2015 5 commits
-
-
Hixie authored
So you don't fade out when going to a popup menu, for example.
-
Hixie authored
-
Hixie authored
Also: - minor code reindents in places. - reset the widget tree between tests. - once you generate a route, don't let its builder change (previously it would keep changing as the routes table changed). - revert the stocks app toolbar-fading-on-forward-transition thing.
-
Adam Barth authored
This patch restructures how we handle drawer. The drawer is now a child of the Scaffold, which wraps the Drawer in a DrawerController. The DrawerController manages the interaction with the navigator as well as the edge swiping. The DrawerController's state machine is driven almost entirely off its Performance, which it now owns completely. Fixes #90 Fixes #187 Fixes #192 Fixes #194 Fixes #604
-
Hixie authored
For those times when you want to do something as you move away from a route into the next one, as well as when you move into it from the previous one.
-
- 30 Nov, 2015 2 commits
- 26 Nov, 2015 2 commits
-
-
Hixie authored
-
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.
-
- 24 Nov, 2015 1 commit
-
-
Hixie authored
-
- 22 Nov, 2015 2 commits
- 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
Rather than have delayed calls to super.didPop(), which raises my eyebrow every time I see it, this provides a separate finished() function to call, and uses the convention that if you want to call it yourself, you just don't call super.didPop().
-
- 19 Nov, 2015 2 commits
-
-
Adam Barth authored
Previously, we were putting a ForcedLayer just below the overlay, but that causes trouble for routes like the popup menu that want to position themselves inside the overlay. Instead, I've moved the ForcedLayer down into ModalRoute. Also, rename ForcedLayer to RepaintBoundary, which is more descriptive of what this widget does. Fixes #485
-
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
-
-
Adam Barth authored
Now we use a ForcedLayer in the navigator overlay to cache the recording for each entry in the overlay. This mechanism just caches the display list, not the underlying pixels. Also, remove the "dispose" notification in the Layer tree because it was disposing layer too eagerly. We don't actually need this notification for anything other than eagerly freeing some C++ memory.
-
- 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.
-
- 13 Nov, 2015 1 commit
-
-
Hans Muller authored
-
- 12 Nov, 2015 1 commit
-
-
Hans Muller authored
TransitionRoute completer is now optional.
-
- 06 Nov, 2015 1 commit
-
-
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
-
- 03 Nov, 2015 1 commit
-
-
Adam Barth authored
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
-
- 30 Oct, 2015 1 commit
-
-
Adam Barth authored
-