1. 19 Nov, 2016 1 commit
  2. 03 Nov, 2016 2 commits
  3. 17 Oct, 2016 1 commit
    • Adam Barth's avatar
      Fix DropdownButton regression (#6353) · 6399a3af
      Adam Barth authored
      When I changed how routes complete their futures, I broke the Dropdown
      button because it was still waiting for its own Completer to complete
      instead of using the Future returned by push. This patch fixes that
      issue.
      
      I've also removed the previous behavior of the DropdownButton forwarding
      its text style to its route. The mechansim that we were using doesn't
      work properly in all cases. For example, if the DropdownButton is a
      child of a LayoutBuilder, then the route will have already built by the
      time the DropdownButton gets a chance to forward its text style, causing
      an assert in setState.
      
      Finally, I've tweaked PopupMenuButton to work the same way as
      DropdownButton in a couple corner cases (e.g., not calling the changed
      callback if the button was removed from the tree before the menu
      completed its Future).
      
      Fixes #6352
      6399a3af
  4. 14 Oct, 2016 1 commit
  5. 29 Sep, 2016 1 commit
  6. 26 Sep, 2016 1 commit
    • Ian Hickson's avatar
      Turn off AnimationControllers when not in use (#5902) · 9e673853
      Ian Hickson authored
      This requires all AnimationController objects to be given a
      TickerProvider, a class that can create the Ticker.
      
      It also provides some nice mixins for people who want to have their
      State provide a TickerProvider. And a schedulerTickerProvider for those
      cases where you just want to see your battery burn.
      
      Also, we now enforce destruction order for elements.
      9e673853
  7. 21 Jun, 2016 1 commit
    • Ian Hickson's avatar
      ImageIcon (#4649) · e502e9c8
      Ian Hickson authored
      Anywhere that accepted IconData now accepts either an Icon or an
      ImageIcon.
      
      Places that used to take an IconData in an `icon` argument, notably
      IconButton and DrawerItem, now take a Widget in that slot. You can wrap
      the value that used to be passed in in an Icon constructor to get the
      same result.
      
      Icon itself now takes the icon as a positional argument, for brevity.
      
      ThemeData now has an iconTheme as well as a primaryIconTheme, the same
      way it has had a textTheme and primaryTextTheme for a while.
      
      IconTheme.of() always returns a value now (though that value itself may
      have nulls in it). It defaults to the ThemeData.iconTheme.
      
      IconThemeData.fallback() is a new method that returns an icon theme data
      structure with all fields filled in.
      
      IconTheme.merge() is a new constructor that takes a context and creates
      a widget that mixes in the new values with the inherited values.
      
      Most places that introduced an IconTheme widget now use IconTheme.merge.
      
      IconThemeData.merge and IconThemeData.copyWith act in a way analogous to
      the similarly-named members of TextStyle.
      
      ImageIcon is introduced. It acts like Icon but takes an ImageProvider
      instead of an IconData.
      
      Also: Fix the analyzer to actually check the stocks app.
      e502e9c8
  8. 07 Jun, 2016 1 commit
  9. 03 Jun, 2016 1 commit
  10. 17 May, 2016 1 commit
  11. 04 May, 2016 1 commit
  12. 03 May, 2016 1 commit
  13. 28 Apr, 2016 1 commit
  14. 22 Apr, 2016 2 commits
  15. 14 Apr, 2016 1 commit
  16. 12 Apr, 2016 1 commit
  17. 07 Apr, 2016 1 commit
  18. 06 Apr, 2016 1 commit
    • Adam Barth's avatar
      PopupMenuButton should lazily build menu items · 7ab122e5
      Adam Barth authored
      Previously, the client of PopupMenuButton needed to build all the menu times
      
      when building the PopupMenuButton. This can get expensive if, for example, each
      item in a scrollable list has a popup menu associated with it.
      
      Now the client passes a builder function to the PopupMenuButton that gets
      invoked only when its time to show the menu items.
      7ab122e5
  19. 31 Mar, 2016 1 commit
  20. 29 Mar, 2016 1 commit
  21. 18 Mar, 2016 1 commit
  22. 14 Mar, 2016 1 commit
  23. 13 Mar, 2016 1 commit
    • Adam Barth's avatar
      [rename fixit] left -> leading, right -> trailing · e48c822c
      Adam Barth authored
      The terms "left" and "right" have an LTR bias. Instead, we now use
      "leading" and "trailing", for these list and grid decorations so that
      we can later rearrange them to match the reading order.
      
      Fixes #2540
      Fixes #2548
      e48c822c
  24. 12 Mar, 2016 7 commits
  25. 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
  26. 08 Mar, 2016 1 commit
  27. 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
  28. 26 Feb, 2016 3 commits
  29. 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