- 08 Dec, 2015 3 commits
-
-
Seth Ladd authored
-
Collin Jackson authored
-
Jason Simmons authored
Users of MaterialApp can provide an onLocaleChanged handler that will be called to asynchronously fetch locale-specific data. MaterialApp will then instantiate a LocaleQuery that supplies the locale data to its descendants.
-
- 04 Dec, 2015 1 commit
-
-
Jason Simmons authored
-
- 03 Dec, 2015 3 commits
-
-
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.
-
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.
-
- 11 Nov, 2015 1 commit
-
-
Hans Muller authored
-
- 10 Nov, 2015 1 commit
-
-
Hans Muller authored
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.
-
- 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.
-
- 15 Oct, 2015 1 commit
-
-
Hixie authored
Teach dumpRenderTree() to draw actual trees. Make the TextStyle output terser so it doesn't overflow the output. Make debugDumpApp() say what mode we're in (checked vs release). Hide lifecycle state from release mode dumps (since it's checked-only state).
-
- 10 Oct, 2015 3 commits
-
-
Adam Barth authored
-
Adam Barth authored
-
Adam Barth authored
-
- 09 Oct, 2015 2 commits
-
-
Adam Barth authored
MaterialApp assumes that you're using material design. Also move radial reaction and fix imports for stats box.
-
Adam Barth authored
These are now part of material.dart.
-
- 06 Oct, 2015 1 commit
-
-
Adam Barth authored
Now SnackBar is an ephemeral route that uses a Placeholder to put itself into the Scaffold. Fixes #673
-
- 05 Oct, 2015 1 commit
-
-
Hixie authored
(These are changes cherry-picked from in-flight branches since they are more independent and could be helpful even without those changes.) - Change RouteBuilder's signature to take a single argument in which the other fields are placed, so that we can keep iterating on those arguments without having to break compatibility each time. Also, this makes defining route builders much simpler (only one argument to ignore rather than a variable number). - Expose the next performance to RouteBuilders, since sometimes the route itself might not be where it's used. - Allow BuildContext to be used to walk children, just like it can for ancestors - Allow BuildContext to be used to get the Widget of the current BuildContext - Allow StatefulComponentElement to be referenced with a type specialisation so that you don't have to cast when you know what the type you're dealing with actually is.
-
- 01 Oct, 2015 1 commit
-
-
Adam Barth authored
-
- 30 Sep, 2015 3 commits
-
-
Adam Barth authored
This argument isn't needed anymore now that State has a getter for context.
-
Hixie authored
Make it possible for named routes to be generated on the fly. To demonstrate this, you can now long-press a stock to open it. Next steps: - transitions between (named) states that follow full material logic, e.g. in the case of the stock row to stock page transition, expanding the row into a raised sheet of material and expanding it to fit the screen, leaving the toolbar in place but cross-fading the old contents to the new contents. - more information in the stock view. While I was here I also made Material have an opinion about default text style, so if you forget to set one, it just uses body1. Also, fixed bugs introduced recently that made RouteState and MenuRoute not work properly.
-
Hixie authored
Not having them clickable was making it hard to notice InkSplash bugs. Also, this paves the way to having a stock page.
-
- 26 Sep, 2015 1 commit
-
-
Hixie authored
-
- 18 Sep, 2015 2 commits
-
-
Hixie authored
Instead of having to manage the popup menu from your app's build function, you now just call showPopupMenu() with the menu's position and it takes care of everything for you. This solves the problem that the popup menu was trying to mutate the state of the navigator from within its own initState() function. Also, remove the "route" argument to RouteBase.build() since it equals "this" by definition... Also, remove ModalOverlay, and instead put that logic in the navigator.
-
Adam Barth authored
Also, introduce Colors and Typography to hold the material colors and the typography declarations. Previously we expected clients of these libraries to import them into a namespace, but that doesn't play nice with re-exporting them from material.dart.
-
- 08 Sep, 2015 1 commit
-
-
Adam Barth authored
Move the animation libraries into src/animation and change importers to use package:sky/animation.dart. Also, move scheduler.dart into the animation library so that the animation library can be self-contained.
-
- 07 Sep, 2015 1 commit
-
-
Adam Barth authored
The editing directory just defined two widgets. We might as well fold them into the main widgets library.
-
- 21 Aug, 2015 1 commit
-
-
Adam Barth authored
Fixes #743
-
- 19 Aug, 2015 2 commits
-
-
Adam Barth authored
Similar to widgets.dart, rendering.dart exports the entire rendering layer. Also, update the examples to use rendering.dart and widgets.dart. Also clean up some exports so that the examples have more sensible imports.
-
Adam Barth authored
Sadly, box.dart has grown much longer than 1000 lines. This patch splits it up into several files based on the class hierarchy. Fortunately, many of these classes are loosely coupled to each other.
-
- 08 Aug, 2015 1 commit
-
-
Ian Fischer authored
-
- 03 Aug, 2015 1 commit
-
-
Adam Barth authored
Now you can import 'package:sky/widgets.dart' to get all the widgets.
-
- 30 Jul, 2015 1 commit
-
-
Adam Barth authored
We ended up with a bunch of different scrollable widgets and it was confusing. This CL moves them all into one library to make them easier to find.
-
- 28 Jul, 2015 2 commits
-
-
Chinmay Garde authored
-
Chinmay Garde authored
-
- 25 Jul, 2015 1 commit
-
-
Hixie authored
Scoped focus, so you can have a dialog with input controls and not lose your focus in the background. This introduces a GlobalKey registry so that you can tell when a key has gone away (so you can unfocus dead dialogs). Also I added an assert that you're not calling setState() during a build. It turns out that doing so means you have a bug, because since you're dirty already (you're building), you won't get rebuilt. The focus code itself is gnarly. It uses a Component and an internal Inherited TagNode to manage the focus state, and does crazy things like updating its state during build to pretend retroactively that it was built with some other state, once someone asks for focus the first time (i.e. the first time it's examined, so you can't tell that it was in a different state before). It does this so that it can autofocus controls which otherwise wouldn't be focused. This moves all the focus management into Navigator and showDialog(), so the complexity is all buried deep and not visible to apps, hopefully. To do something like two tabs that each have an Input widget that needs to be focused when you switch panes, you'd need to have two Focus objects, one in each tab, and you need to set their autofocus to true (maybe that should be the default?).
-
- 24 Jul, 2015 2 commits
- 16 Jul, 2015 1 commit
-
-
Collin Jackson authored
-