1. 06 Jan, 2016 1 commit
  2. 22 Dec, 2015 1 commit
  3. 16 Dec, 2015 1 commit
    • Hans Muller's avatar
      Correct the TabBarView swipe selection change animation · 65dca5b5
      Hans Muller authored
      The TabBarSelection change animation needs to start where the fling's drag gesture ended rather than from zero.  The intial vlaue of progress for the TabBarSelection's performance is now converted from the range used during an interactive drag, to the range used when animating from the previously selected tab to the new one.
      
      TabBarSelection now requires a maxIndex parameter.
      65dca5b5
  4. 10 Dec, 2015 1 commit
  5. 09 Dec, 2015 1 commit
  6. 08 Dec, 2015 1 commit
  7. 04 Dec, 2015 2 commits
  8. 03 Dec, 2015 3 commits
    • Hixie's avatar
      Let MaterialApp.onGenerateRoute return a Route · df07a69b
      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.
      df07a69b
    • Adam Barth's avatar
      Fix a large number of Drawer bugs · 1d195cb9
      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
      1d195cb9
    • Hixie's avatar
      buildForwardTransition() · bc5307f5
      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.
      bc5307f5
  9. 02 Dec, 2015 1 commit
    • Ian Hickson's avatar
      Fix crash when going back in stocks app. · d5e072c3
      Ian Hickson authored
      Heroes with the same tag have to have keys that are unique across the
      entire subtree. Since we can now show both stock lists, this means we
      have to include the tab in the heroes' keys.
      
      Fixes #668.
      d5e072c3
  10. 30 Nov, 2015 2 commits
    • Hixie's avatar
      NavigatorTransaction · f9ea1ce8
      Hixie authored
      To make it easier to avoid pushing twice in one frame, provide a
      transaction mechanism for the navigator.
      f9ea1ce8
    • Hans Muller's avatar
      TabNavigator animates selected TabView · 9de4df1e
      Hans Muller authored
      The TabBar's selection is now represented by a TabBarSelection object which encapsulates both the previous and currently selected indices and the Performance used to animate the selection indicator.
      
      Added a TabBarView class which displays a tab's contents. It uses a shared TabBarSelection to stay in sync with a TabBar. The TabBarView scrolls in sync with the TabBar when the selection changes. Eventually it will allow one to fling the selection forward or backwards.
      
      Added a tabBar property to ToolBar. Typically the corresponding TabBarView will be the body of the toolbar's Scaffold.
      
      Removed TabNavigatorView and TabNavigator.
      
      Added a widget gallery tabs demo page. Removed the old tabs demo.
      9de4df1e
  11. 24 Nov, 2015 1 commit
  12. 20 Nov, 2015 1 commit
    • Hixie's avatar
      Convert Persistent Bottom Sheets to a Scaffold API · 03e094aa
      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().
      03e094aa
  13. 19 Nov, 2015 2 commits
    • Adam Barth's avatar
      Add debugDumpLayerTree to dump the layer tree · dfbd8c6a
      Adam Barth authored
      To help debugging issues with the layer tree.
      dfbd8c6a
    • Hixie's avatar
      Snackbar Refactor · 954713ab
      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.
      954713ab
  14. 18 Nov, 2015 1 commit
    • Hans Muller's avatar
      Update shadow rendering · d9153a13
      Hans Muller authored
      Shadows now render as three seprate MaskFilter.blur components per the most recent Material spec.
      
      The shadows Map was replaced by a similar Map called elevationToShadow with entries that match the 10 elevations specifed by http://www.google.com/design/spec/what-is-material/elevation-shadows.html.
      
      The "level" property (many classes) is now called "elevation", to match the Material spec.
      
      BoxShadow now includes a spreadRadius parameter - as in CSS box-shadow. Renamed the BoxShadow blur property to blurRadius to further align BoxShadow with CSS box-shadow.
      d9153a13
  15. 11 Nov, 2015 1 commit
  16. 10 Nov, 2015 1 commit
  17. 01 Nov, 2015 1 commit
  18. 30 Oct, 2015 1 commit
  19. 28 Oct, 2015 1 commit
    • Adam Barth's avatar
      Icon should use an enum rather than an int for size · eeea4ab7
      Adam Barth authored
      Material design icons are defined to work at specific sizes: 18, 24, 36, 48.
      The current API doesn't reflect that and just takes a size int. If an invalid
      size is chosen an error is printed to the console and no icon shows up.
      
      Fixes #1816
      eeea4ab7
  20. 27 Oct, 2015 2 commits
    • Ian Hickson's avatar
      Track scroll position · 8a900f90
      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.
      8a900f90
    • Hixie's avatar
      Use the presence of handler to determine 'enabled' · d11acc41
      Hixie authored
      Instread of an explicit 'enabled' bool, this uses the presence of the
      event handler to determine if a widget is enabled or not. This means
      that if you've not passed a handler, your widget will be disabled, which
      makes sense, since it wouldn't work anyway.
      
      Adds this feature to checkbox, and ports raised button, flat button, and
      radio buttons to this new model.
      
      Adds a checkbox to card_collection that can be disabled.
      
      Hide a (basically bogus) hint from the (soon to be disabled) strong hint
      mode in the analyzer that this reveals.
      d11acc41
  21. 26 Oct, 2015 3 commits
  22. 22 Oct, 2015 1 commit
    • Adam Barth's avatar
      Add Navigator.of · de395582
      Adam Barth authored
      Now you don't need to pass the navigator around everywhere.
      de395582
  23. 21 Oct, 2015 2 commits
  24. 19 Oct, 2015 1 commit
    • Adam Barth's avatar
      Show ColorFilter · 40942233
      Adam Barth authored
      Instead of requiring clients to use ui.ColorFilter, we show show the
      ColorFilter class, similar to what we do for Color.
      40942233
  25. 15 Oct, 2015 1 commit
    • Hixie's avatar
      Improve debugging output · 1f40d96f
      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).
      1f40d96f
  26. 12 Oct, 2015 2 commits
    • Hixie's avatar
      Lots of trivial warning fixes · f2cc43a4
      Hixie authored
      Add type annotations in many places.
      Fix some identifiers to have more lint-satisfying names.
      Make all operator==s consistent in style.
      Reorder some functions for consistency.
      Make ParentData no longer dynamic, and fix all the code around that.
      f2cc43a4
    • Adam Barth's avatar
      Update arrow in stocks search to use ColorFilter · a1d554a5
      Adam Barth authored
      We changed IconButton to require a ColorFilter to filter the color of the icon.
      a1d554a5
  27. 08 Oct, 2015 1 commit
  28. 06 Oct, 2015 3 commits
    • Adam Barth's avatar
      Simplify Scaffold · 89a09822
      Adam Barth authored
      Rather than using a custom render object, we can just use a Stack.
      89a09822
    • Adam Barth's avatar
      ToolBar with a TabBar shouldn't have a shadow · 6cf105fe
      Adam Barth authored
      This patch makes the level of the ToolBar configurable. I've also cleaned up
      the Tab code slightly.
      
      For some reason, there's still a hairline between the ToolBar and the TabBar.
      We might need to rethink how we draw the background a bit here.
      
      Fixes #1454
      6cf105fe
    • Adam Barth's avatar
      Use Navigator to drive SnackBar · 2eec3011
      Adam Barth authored
      Now SnackBar is an ephemeral route that uses a Placeholder to put itself into
      the Scaffold.
      
      Fixes #673
      2eec3011