1. 19 Oct, 2015 1 commit
  2. 12 Oct, 2015 1 commit
  3. 02 Oct, 2015 1 commit
    • Hixie's avatar
      Groundwork for heroes transition in Stocks app · 7734c0b0
      Hixie authored
      Identify specific parts of a Stock row with a Global Key that can be
      regenerated later, and pass that key back to event handlers so they can
      use them to do the transition.
      7734c0b0
  4. 30 Sep, 2015 2 commits
    • Hixie's avatar
      Dynamic named routes · f2b7dd62
      Hixie authored
      Make it possible for named routes to be generated on the fly.
      
      To demonstrate this, you can now long-press a stock to open it.
      
      Next steps:
      
       - transitions between (named) states that follow full material logic,
         e.g. in the case of the stock row to stock page transition, expanding
         the row into a raised sheet of material and expanding it to fit the
         screen, leaving the toolbar in place but cross-fading the old
         contents to the new contents.
      
       - more information in the stock view.
      
      While I was here I also made Material have an opinion about default text
      style, so if you forget to set one, it just uses body1.
      
      Also, fixed bugs introduced recently that made RouteState and MenuRoute
      not work properly.
      f2b7dd62
    • Hixie's avatar
      Make Stocks demo list rows clickable · f43591b3
      Hixie authored
      Not having them clickable was making it hard to notice InkSplash bugs.
      Also, this paves the way to having a stock page.
      f43591b3
  5. 26 Sep, 2015 1 commit
  6. 18 Sep, 2015 1 commit
  7. 19 Aug, 2015 1 commit
    • Hans Muller's avatar
      Adds PageableList, other scrolling related changes and fixes · 7782a115
      Hans Muller authored
      - PageableList extends ScrollableList
      One fixed width or height item is visible and centered at a
      time. Fling and drag gestures scroll to the next/previous item.
      
      - Scrollable.scrollTo(), Scrollable.scrollBy(), ensureWidgetIsVisible() API changed
      The named animation parameter for these methods was replaced by
      duration and curve. All of the methods now return a Future. The Future
      completes when the scroll does.
      
      This change eliminates the need for Scrollable to temporarily take ownership
      of a ValueAnimation object (see #645).
      
      - Using Future.then() instead of an AnimationPerformance status listener
      In ensure_visible.dart _handleTap() uses ensureWidgetIsVisible() to
      center the card roughly as before and then. When the implicit scroll
      animation is complete, it changes the centered card's label font. The
      change is made when the Future returned by ensureWidgetIsVisible()
      completes.
      
      - FixedHeightScrollable's itemHeight parameter is now itemExtent
      If scrollDirection is ScrollDirection.vertical (the default) then itemExtent should
      be the height of each item; otherwise it should be the width of each item.
      
      Replaced _velocityForFlingGesture() in scrollable.dart with Scrollable._eventVelocity()
      The original version clamped pixels/ms against pixels/sec constants. The new version
      also deals with scrollDirection.
      
      - Plumbed scrollDirection though FixedHeightScrollable and ScrollableList
      
      Both classes should now support horizontal scrolling.
      7782a115
  8. 08 Aug, 2015 1 commit
  9. 28 Jul, 2015 2 commits
  10. 24 Jul, 2015 1 commit
    • Jim Simon's avatar
      Converted examples to libraries · 3089686e
      Jim Simon authored
      Converted demo launcher example to library
      
      Converted fitness example to library
      
      Converted hello world example to library
      
      Converted mine digger example to library
      
      Converted stocks example to library
      3089686e
  11. 22 Jul, 2015 1 commit
    • Hixie's avatar
      Introduce an explicit Key type. · 74575775
      Hixie authored
      This fixes some theoretical bugs whereby we were using hashCode to try
      to get unique keys for objects, but really we wanted object identity.
      It also lays the groundwork for a new GlobalKey concept.
      
      I tried to keep the impact on the code minimal, which is why the "Key"
      constructor is actually a factory that returns a StringKey. The code
      has this class hierarchy:
      
      ```
         KeyBase
          |
         Key--------------+---------------+
          |               |               |
         StringKey    ObjectKey       UniqueKey
      ```
      
      ...where the constructors are Key and Key.stringify (StringKey),
      Key.fromObjectIdentity (ObjectKey), and Key.unique (UniqueKey).
      
      We could instead of factory methods use regular constructors with the
      following hierarchy:
      
      ```
         KeyBase
          |
         LocalKey---------+---------------+
          |               |               |
         Key      ObjectIdentityKey   UniqueKey
      ```
      
      ...with constructors Key, Key.stringify, ObjectIdentityKey, and
      UniqueKey, but I felt that that was maybe a more confusing hierarchy.
      I don't have a strong opinion on this.
      74575775
  12. 16 Jul, 2015 1 commit