1. 01 Oct, 2015 2 commits
    • Hixie's avatar
      Heroes: Pass next Performance to route builders · 8cce992f
      Hixie authored
      This is step 1 in making it possible to have hero transitions between
      routes. To make it possible for a route to have an "exit" animation when
      a new route has been pushed on top of it, we provide the next route's
      AnimationPerformance to the build function. It's null if there is no
      next route or if the next route has no performance.
      8cce992f
    • Adam Barth's avatar
      Make fn3 the default widget framework · 45c906d2
      Adam Barth authored
      45c906d2
  2. 18 Sep, 2015 4 commits
    • Hixie's avatar
      Introduce a showPopupMenu() function · a3ae46b9
      Hixie authored
      Instead of having to manage the popup menu from your app's build
      function, you now just call showPopupMenu() with the menu's position and
      it takes care of everything for you.
      
      This solves the problem that the popup menu was trying to mutate the
      state of the navigator from within its own initState() function.
      
      Also, remove the "route" argument to RouteBase.build() since it equals
      "this" by definition...
      
      Also, remove ModalOverlay, and instead put that logic in the navigator.
      a3ae46b9
    • Hixie's avatar
      Allow route transitions to be more flexible · d4dd786b
      Hixie authored
      - Fix AnimationTiming to have defaults for 'interval' and 'curve' since
        that seems to be how we use it.
      
      - Merge RouteBase.build and RouteBase.buildTransition
      
      - Get rid of HistoryEntry, since it added nothing
      
      - Broke out RouteBase.createPerformance() so subclasses can change what
        is created.
      
      - Build the routes backwards so that we more efficiently avoid building
        hidden routes.
      
      - Introduce an explicit way (!hasContent) for RouteState to avoid
        building, rather than the implicit "build returns null" we had before.
      d4dd786b
    • Hixie's avatar
      Require that you pass transitions a performance. · e73bbd94
      Hixie authored
      This fixes #1103.
      e73bbd94
    • 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
  3. 14 Sep, 2015 1 commit
  4. 08 Sep, 2015 2 commits
  5. 02 Sep, 2015 1 commit
    • Adam Barth's avatar
      Move widgets and rendering inside src · 693ddcd8
      Adam Barth authored
      Code outside of package:sky should import this code using
      
      package:sky/rendering.dart
      package:sky/widgets.dart
      
      Moving this code into the "src" directory is a convention that signifies that
      and it cleans up the generated dartdoc because the libraries in the src
      directory aren't included in the generated documentation. Instead, the classes
      are documented in the widgets.dart and rendering.dart libraries.
      693ddcd8
  6. 28 Aug, 2015 1 commit
  7. 22 Aug, 2015 1 commit
  8. 21 Aug, 2015 1 commit
    • Adam Barth's avatar
      Rename all the scrollable classes · 010589be
      Adam Barth authored
      Block -> BlockBody
      ScrollableBlock -> Block
      FixedHeightScrollable -> ScrollableWidgetList
      VariableHeightScrollable -> ScrollableMixedWidgetList
      BlockViewport -> MixedViewport
      010589be
  9. 13 Aug, 2015 1 commit
    • Matt Perry's avatar
      Fix common asserts in animation API. · 8a729317
      Matt Perry authored
      1. We would assert if you tried to start an animation from within an
      animation status callback. This is a common pattern, so I fixed this
      assert (in Ticker._tick).
      2. We would assert for animations with duration under a millisecond.
      Fixed.
      
      Also removed the workarounds assocated with #1.
      8a729317
  10. 06 Aug, 2015 2 commits
  11. 04 Aug, 2015 1 commit
  12. 30 Jul, 2015 1 commit
  13. 28 Jul, 2015 3 commits
  14. 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
  15. 21 Jul, 2015 2 commits
    • Hixie's avatar
      Rationalise usage of keys in navigator.dart. · 9da399b0
      Hixie authored
      Route (named routes) no longer have a key, and have their own storage for their names.
      RouseState no longer has a key, and uses an owner field pointing to a StatefulComponent instead.
      As such, RouteBase no longer has a key.
      
      HistoryEntry no longer uses a global int to ensure uniqueness.
      
      Propagated this to stocks app.
      9da399b0
    • Matt Perry's avatar
      Renamed AnimatedType to AnimatedValue · 0fd3302e
      Matt Perry authored
      0fd3302e
  16. 16 Jul, 2015 1 commit