1. 18 Sep, 2015 1 commit
    • Adam Barth's avatar
      Move theme into material.dart · 4467a268
      Adam Barth authored
      Also, introduce Colors and Typography to hold the material colors and the
      typography declarations. Previously we expected clients of these libraries to
      import them into a namespace, but that doesn't play nice with re-exporting them
      from material.dart.
      4467a268
  2. 03 Sep, 2015 1 commit
  3. 28 Aug, 2015 2 commits
    • Hixie's avatar
      Rationalise the Key API. · 9047830c
      Hixie authored
      Add a way of having keys based on numeric types or DateTimes by having a ValueKey<T> class.
      Remove the redundant ways of declaring things, except for leaving one shorthand -- you can say `new Key(s)` instead of `new ValueKey<String>(s)`.
      9047830c
    • Adam Barth's avatar
      Use GestureDetector in the framework and examples · dc84e882
      Adam Barth authored
      We're now using it at the widget layer for everything except scrolling and
      flinging.
      dc84e882
  4. 21 Aug, 2015 2 commits
  5. 19 Aug, 2015 3 commits
    • 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
    • Adam Barth's avatar
      Add package:sky/rendering.dart · dea3a092
      Adam Barth authored
      Similar to widgets.dart, rendering.dart exports the entire rendering layer.
      Also, update the examples to use rendering.dart and widgets.dart. Also clean up
      some exports so that the examples have more sensible imports.
      dea3a092
    • Adam Barth's avatar
      Split box.dart into many files · 50bfdedb
      Adam Barth authored
      Sadly, box.dart has grown much longer than 1000 lines. This patch splits it up
      into several files based on the class hierarchy. Fortunately, many of these
      classes are loosely coupled to each other.
      50bfdedb
  6. 13 Aug, 2015 1 commit
  7. 11 Aug, 2015 1 commit
    • Hans Muller's avatar
      Adds ensureWidgetIsVisible() function to scrollable.dart · 9e9d845b
      Hans Muller authored
      Set the scrollOffset of a widget's Scrollable ancestor so that the
      widget is centered within the scrollable. A future CL will add
      support for specifying exactly where the widget appears. The scroll
      can be animated by specifying the animation: parameter.
      
      Changed the duration Scrollable.scrollTo() parameter from a Duration
      to an AnimationPerformance so that one can configure all aspects of
      the animation. The caller may also listen to the animation to schedule
      other work while it updates or when its status changes.
      complete
      9e9d845b
  8. 08 Aug, 2015 1 commit
  9. 05 Aug, 2015 1 commit
  10. 04 Aug, 2015 1 commit
  11. 30 Jul, 2015 1 commit
  12. 28 Jul, 2015 2 commits
  13. 24 Jul, 2015 1 commit
  14. 22 Jul, 2015 2 commits
    • Hans Muller's avatar
    • 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
  15. 21 Jul, 2015 4 commits
  16. 20 Jul, 2015 1 commit
  17. 16 Jul, 2015 1 commit