1. 24 Nov, 2015 1 commit
  2. 23 Nov, 2015 1 commit
  3. 20 Nov, 2015 4 commits
    • Hixie's avatar
      OverlayRoute.finished() · 2e0e6aa4
      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().
      2e0e6aa4
    • Hixie's avatar
      Expose the close()/closed API for snack bars · ee8c0ad3
      Hixie authored
      This lets you close them manually.
      ee8c0ad3
    • 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
    • Adam Barth's avatar
      Callback identity is too fragile for CustomPaint · 72329cf4
      Adam Barth authored
      Many of the widgets that use CustomPaint were spamming repaints because
      CustomPaint repaints when the identity of the onPaint callback changes, which
      it does every build for StatelessComponents.
      
      This patch changes CustomPaint to use a CustomPainter, similar to the new
      custom layout widgets. The CustomPainter has a `shouldRepaint` function along
      with its `paint` function. This function gives clients explicit control over
      when the custom paint object repaints.
      72329cf4
  4. 19 Nov, 2015 1 commit
    • 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
  5. 17 Nov, 2015 3 commits
  6. 16 Nov, 2015 2 commits
    • Hixie's avatar
      Move Material page animations to Material layer. · 309d25d4
      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.
      309d25d4
    • Hixie's avatar
      More resilient Widget tests · d041f3ea
      Hixie authored
      - force the time dilation to 1.0 for the Widget tests, so that a local
        change doesn't break all the tests during development.
      - add missing license block to all the files.
      - set ui.window.onBeginFrame to null when you use WidgetTester, so that
        the engine doesn't trigger any confusing frames after our fake frames.
      d041f3ea
  7. 13 Nov, 2015 4 commits
  8. 12 Nov, 2015 3 commits
    • Hixie's avatar
      Make the analyzer actually work. · 8ab229f8
      Hixie authored
      Turns out that ignoring all error lines that match the empty string is a
      poor way to go.
      
      Also, we have to update all the example packages now too, since we
      analyze them. So just have travis use our update script.
      
      Also, remove flutter_tools' old travis stuff. It's now part of a bigger
      repo.
      
      Also, make travis use the dev Dart SDK, since we need the new analyzer.
      Stable is way too out of date, e.g. it still complains about libraries
      not having names and mixins using 'super', and the strong mode hints are
      even more aggressive than on dev.
      8ab229f8
    • Adam Barth's avatar
      ItemBuilder should also get the index of the item · 0259ad81
      Adam Barth authored
      This seems useful for numbering the entries in the list, for example.
      
      Fixes #328
      0259ad81
    • Hans Muller's avatar
      showSnackBar() returns a Future, clears its placeholder · 1aac53a5
      Hans Muller authored
      TransitionRoute completer is now optional.
      1aac53a5
  9. 11 Nov, 2015 2 commits
  10. 10 Nov, 2015 1 commit
  11. 06 Nov, 2015 1 commit
  12. 05 Nov, 2015 3 commits
  13. 03 Nov, 2015 4 commits
  14. 02 Nov, 2015 1 commit
    • Hans Muller's avatar
      Adds CustomMultiChildLayout · 5ea50bf4
      Hans Muller authored
      CustomMultiChildLayout delegates to a MultiChildLayoutDelegate. Widget children are specified by their index in the list of children.
      5ea50bf4
  15. 31 Oct, 2015 1 commit
    • Adam Barth's avatar
      Black flash when returning to a PageRoute · 6ee6ae03
      Adam Barth authored
      We were trying to do a hero animation from a page to itself, which doesn't make
      any sense. Now we only render the "to" page offstage if it is different from
      the "from" page and if its performance isn't already complete.
      6ee6ae03
  16. 30 Oct, 2015 1 commit
  17. 28 Oct, 2015 2 commits
    • Hixie's avatar
      Fix crash when removing a card in card_collection · a8a32a97
      Hixie authored
      MixedViewport didn't use the building:true flag when locking itself, so
      when it caused a rebuild of its children, we assumed that nobody was
      allowed to mark things dirty below the list, and things crashed when
      Inherited people did in fact rebuild.
      
      Also:
       - default offset for MixedViewport
       - don't bother rebuilding if the underlying RenderObject is going to
         rebuild anyway for some reason
       - better docs for the "items must have keys" assert
       - keep the FlipComponent stuff together in test_widgets.dart
      a8a32a97
    • Adam Barth's avatar
      Switch clients from ui.view to ui.window · 3373d0ba
      Adam Barth authored
      3373d0ba
  18. 27 Oct, 2015 3 commits
    • Adam Barth's avatar
      Add the position at which drags start · 1e446ffc
      Adam Barth authored
      Fixes #1807
      1e446ffc
    • 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
    • Adam Barth's avatar
      Add CustomOneChildLayout · f06559af
      Adam Barth authored
      A CustomOneChildLayout is a widget that lets you perform a custom layout in the
      simplified setting of sizing and positioning a single child.
      f06559af
  19. 26 Oct, 2015 2 commits