1. 21 Feb, 2016 1 commit
  2. 12 Feb, 2016 1 commit
  3. 11 Feb, 2016 2 commits
    • Jason Simmons's avatar
    • Ian Hickson's avatar
      Clean up imports and exports. · a94999ba
      Ian Hickson authored
      Each layer is supposed to reexport the parts of the previous layer
      that are part of its API.
      
      - In painting.dart, export from dart:ui all the Canvas-related APIs
        that make sense to be used at higher levels, e.g. PaintingStyle.
      
      - Delete painting/shadows.dart. It was dead code.
      
      - In rendering/object.dart, export all of painting.dart.
      
      - In widgets/basic.dart, export all of painting.dart and
        animation.dart. Some classes in animation/ are renamed to make this
        less disruptive and confusing to the namespace.
      
      - Split out Stocks back into an import model rather than a part model,
        so that it's easier to manage its dependencies on a per-file basis.
      
      - Move Ticker to scheduler library.
      
      - Remove as many redundant imports as possible now.
      
      - Some minor nit picking cleanup in various files.
      a94999ba
  4. 23 Jan, 2016 1 commit
  5. 22 Jan, 2016 2 commits
  6. 21 Jan, 2016 1 commit
  7. 16 Jan, 2016 1 commit
  8. 11 Jan, 2016 2 commits
  9. 06 Jan, 2016 2 commits
  10. 04 Dec, 2015 1 commit
  11. 03 Dec, 2015 1 commit
    • 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
  12. 30 Nov, 2015 1 commit
    • 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
  13. 23 Nov, 2015 1 commit
  14. 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
  15. 12 Nov, 2015 2 commits
    • Hixie's avatar
      flutter analyze command · a0227cab
      Hixie authored
      Other changes in this patch:
      - Make the 'flutter' tool say "Updating flutter tool..." when it calls
        pub get, to avoid confusion about what the pub get output is about.
      - Make the bash flutter tool call pub get when the revision has
        changed. (This was already happening on Windows.)
      - Fix a raft of bugs found by the analyzer.
      - Fix some style nits in various bits of code that happened to be near
        things the analyzer noticed.
      - Remove the logic in "flutter test" that would run "pub get", since
        upon further reflexion it was determined it didn't work anyway.
        We'll probably have to add better diagnostics here and say to run the
        updater script.
      - Remove the native velocity tracker script, since it was testing code
        that has since been removed.
      
      Notes on ignored warnings:
      - We ignore warnings in any packages that are not in the Flutter repo or
        in the author's current directory.
      - We ignore various irrelevant Strong Mode warnings. We still enable
        strong mode because even though it's not really relevant to our needs,
        it does (more or less accidentally) catch a few things that are
        helpful to us.
      - We allow CONSTANTS_LIKE_THIS, since we get some of those from other
        platforms that we are copying for sanity and consistency.
      - We allow one-member abstract classes since we have a number of them
        where it's perfectly reasonable.
      - We unfortunately still ignore warnings in mojom.dart autogenerated
        files. We should really fix those but that's a separate patch.
      - We verify the actual source file when we see the 'Name non-constant
        identifiers using lowerCamelCase.' lint, to allow one-letter variables
        that use capital letters (e.g. for physics expressions) and to allow
        multiple-underscore variable names.
      - We ignore all errors on lines that contain the following magic
        incantation and a "#" character:
          // analyzer doesn't like constructor tear-offs
      - For all remaining errors, if the line contains a comment of the form
          // analyzer says "..."
        ...then we ignore any errors that have that "..." string in them.
      a0227cab
    • 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
  16. 06 Nov, 2015 1 commit
    • Hixie's avatar
      Teach Block about padding. · 1f5844ea
      Hixie authored
      It's common to want a scrolling viewport but with padding around the
      contents. Teaching Block about this makes the places that do this
      substantially simpler and further buries ScrollableViewport and
      BlockBody (they're now only used in scrollable.dart).
      1f5844ea
  17. 02 Nov, 2015 1 commit
    • Adam Barth's avatar
      Routes shouldn't be interactive when animating out · 828775e9
      Adam Barth authored
      This patch introduces the notion of a ModalRoute that puts up a modal barrier
      and makes the route invisible to hit testing when its animating out. This patch
      also uses this mechanism in a number of places (including PageRoute). There are
      still a few more cases to convert, but that's work for a future patch.
      
      Fixes #1684
      828775e9
  18. 01 Nov, 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 1 commit
    • 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
  21. 26 Oct, 2015 1 commit
    • Hixie's avatar
      Radio<T> and ValueChanged<T> · b1dbf452
      Hixie authored
      Make Radio widgets take a type that describes the type of their value,
      so that you can catch when you use the wrong value.
      
      Standardise on ValueChanged<Foo> instead of having a FooValueChanged
      for every value of Foo.
      b1dbf452
  22. 24 Oct, 2015 1 commit
    • Hixie's avatar
      Strong modeify the examples · a6c473ea
      Hixie authored
      This makes skyanalyzer also check the examples, and fixes everything it
      found there.
      a6c473ea
  23. 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
  24. 19 Oct, 2015 1 commit
  25. 12 Oct, 2015 1 commit
  26. 10 Oct, 2015 1 commit
  27. 09 Oct, 2015 2 commits
  28. 06 Oct, 2015 2 commits
  29. 05 Oct, 2015 3 commits
    • Hixie's avatar
      Simplify the usage of Navigator's routes argument · 90a0f630
      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.
      90a0f630
    • Adam Barth's avatar
      Improves names of animation classes · 3f82552d
      Adam Barth authored
      Fixes #1170
      3f82552d
    • Adam Barth's avatar
      Convert Drawer to using navigator · 49c47876
      Adam Barth authored
      This patch converts drawer to using the "openDialog" pattern for managing its
      state. Currently, the drawer entrance and exit animation aren't integrated with
      the navigator's animation system because the drawer's animations can be stopped
      and reversed, which the navigator can't yet understand. That means dismissing
      the drawer via the system back button causes the drawer to be removed
      instanteously.
      
      Fixes #715
      Fixes #1187
      49c47876
  30. 03 Oct, 2015 1 commit
    • Adam Barth's avatar
      RenderInkWell should use gestures · cf889934
      Adam Barth authored
      After this patch, InkWell is driven by gesture recognizers, which lets us
      cleanly cancel splashes when the user actually scrolls.
      
      I've also refactored all the clients of InkWell to use InkWell to detect
      gestures instead of wrapping InkWell in a GestureDetector.
      
      Fixes #1271
      cf889934
  31. 01 Oct, 2015 1 commit