1. 11 Mar, 2016 1 commit
    • Ian Hickson's avatar
      Enable ALL THE LINTS · 1b9cd520
      Ian Hickson authored
      Well, all the easy ones, anyway.
      
      For some reason `// ignore:` isn't working for me so I've disabled
      lints that need that. Also disabled those that require a ton of work
      (which I'm doing, but not in this PR, to keep it reviewable).
      
      This adds:
      - avoid_init_to_null
      - library_names
      - package_api_docs
      - package_names
      - package_prefixed_library_names
      - prefer_is_not_empty
      - sort_constructors_first
      - sort_unnamed_constructors_first
      - unnecessary_getters_setters
      1b9cd520
  2. 08 Mar, 2016 1 commit
  3. 02 Mar, 2016 2 commits
    • Adam Barth's avatar
      Switch Material Design icons to using the iconfont · 870894fc
      Adam Barth authored
      Rather than managing all the Material Design icons manually, we now
      manage them using an icon font. The icon font contains glyphs for each
      icon in an efficient vector format.
      
      This patch updates the FLX tooling to include the MaterialIcons font and
      updates the Icon widget to use the font instead of asset images.
      
      Fixes #2313
      Fixes #2218
      Fixes #2009
      Fixes #994
      870894fc
    • Hans Muller's avatar
      Added menu dividers · d8eaac42
      Hans Muller authored
      d8eaac42
  4. 26 Feb, 2016 3 commits
  5. 11 Feb, 2016 1 commit
    • 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
  6. 27 Jan, 2016 1 commit
  7. 22 Jan, 2016 1 commit
  8. 20 Jan, 2016 4 commits
    • Adam Barth's avatar
      Remove Performance and AnimatedValue · b988a875
      Adam Barth authored
      This patch removes Performance and AnimationValue now that we've ported the
      framework over to AnimationController and Tween. This patch also cleans up the
      names of the AnimationController classes now that they don't have to avoid
      conflicts with the old animation API. Specifically, I've made the following
      renames:
      
       * Animated -> Animation
       * Evaluatable -> Animatable
       * PerformanceStatus -> AnimationStatus
      
      This patch is just renames and moving code around. There aren't any changes in
      behavior.
      b988a875
    • Adam Barth's avatar
      AnimatedBuilder should have a child · d25951c5
      Adam Barth authored
      Providing a pre-built child is more efficient because we don't need to rebuild
      the child every tick of the animation.
      d25951c5
    • Adam Barth's avatar
      Switch Navigator over to using AnimationController · 6cea5dc8
      Adam Barth authored
      This patch moves Navigator and related code over to using
      AnimationController.
      6cea5dc8
    • Adam Barth's avatar
      Move Scaffold over to using AnimationController · 0b098ee2
      Adam Barth authored
      Also, clean up the class hierarchy for AnimationController now that
      we've renamed progress to value. That means everything in the hierarchy
      now has a value, include Watchable. This patch renames Watchable to
      Animated<T>, which lets us use that type almost everywhere.
      
      I've added some ducktape to modal bottom sheets to avoid having to
      refactor all of Navigator to use AnimationController. I'll remove the
      ducktape in the next patch.
      0b098ee2
  9. 08 Dec, 2015 1 commit
    • Adam Barth's avatar
      Material gallery crashes when you press the drop-down button · 4982c553
      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
      4982c553
  10. 05 Dec, 2015 2 commits
  11. 04 Dec, 2015 1 commit
  12. 30 Nov, 2015 2 commits
  13. 20 Nov, 2015 2 commits
    • Hixie's avatar
      Route refactor · 6e371875
      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.
      6e371875
    • 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
  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. 16 Nov, 2015 1 commit
    • 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
  16. 13 Nov, 2015 1 commit
  17. 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
  18. 03 Nov, 2015 1 commit
    • Adam Barth's avatar
      Stocks list doesn't update when stocks are loaded · 78d35391
      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
      78d35391
  19. 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
  20. 30 Oct, 2015 1 commit
  21. 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
  22. 21 Oct, 2015 1 commit
    • Hixie's avatar
      Make Route.build() arguments match RouteBuilder() · babba2f0
      Hixie authored
      Assert at build time that PageRoute route builders do not return null
      widget trees.
      
      Also very minor new code comments and code reorg to help make the heroes
      patch easier to review.
      
      (These are changes that are unrelated to Heroes but that were part of
      the Heroes patch.)
      babba2f0
  23. 20 Oct, 2015 1 commit
  24. 12 Oct, 2015 1 commit
    • 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
  25. 10 Oct, 2015 3 commits
  26. 09 Oct, 2015 2 commits
  27. 07 Oct, 2015 1 commit
  28. 06 Oct, 2015 1 commit
    • Hans Muller's avatar
      Remove PopupMenu margin · 56d9d85f
      Hans Muller authored
      The margins make using showMenu's menuPosition argument difficult and they're not really needed.
      
      I also made a few small gratuitous changes in navigator.dart.
      56d9d85f