1. 28 Jul, 2015 3 commits
    • Hans Muller's avatar
      When the selected tab changes in a TabBar for which isScrollable:true, animate... · 6a17d180
      Hans Muller authored
      When the selected tab changes in a TabBar for which isScrollable:true, animate the selected tab to the center of the viewport, if that's possible.
      
      Added an optional duration: to Scrollable.scrollTo(newOffset, duration: d) which animates the scroll to newOffset.
      
      Refactored the Scrollable implementation a little to make the roles of the "toEnd" and "toOffset" animations clearer.
      
      _handlePointerDown() now stops both animations.
      
      Similarly, we only call settleScrollOffset() from the cancel gesture handlers if the animations aren't already running.
      6a17d180
    • Adam Barth's avatar
      Move sky package into sky/packages/sky · 54803998
      Adam Barth authored
      This patch makes the sky package match the structure we've adopted for the
      other Dart packages we produce from this repo.
      54803998
    • Adam Barth's avatar
      Merge pull request #308 from abarth/rm_dart_pkg · c2065902
      Adam Barth authored
      Remove DEPS-managed Dart packages
      c2065902
  2. 27 Jul, 2015 15 commits
  3. 25 Jul, 2015 6 commits
    • Hixie's avatar
      Scoped focus, so you can have a dialog with input controls and not lose your... · 60177a71
      Hixie authored
      Scoped focus, so you can have a dialog with input controls and not lose your focus in the background.
      
      This introduces a GlobalKey registry so that you can tell when a key
      has gone away (so you can unfocus dead dialogs).
      
      Also I added an assert that you're not calling setState() during a
      build. It turns out that doing so means you have a bug, because since
      you're dirty already (you're building), you won't get rebuilt.
      
      The focus code itself is gnarly. It uses a Component and an internal
      Inherited TagNode to manage the focus state, and does crazy things
      like updating its state during build to pretend retroactively that it
      was built with some other state, once someone asks for focus the first
      time (i.e. the first time it's examined, so you can't tell that it was
      in a different state before). It does this so that it can autofocus
      controls which otherwise wouldn't be focused.
      
      This moves all the focus management into Navigator and showDialog(),
      so the complexity is all buried deep and not visible to apps,
      hopefully.
      
      To do something like two tabs that each have an Input widget that
      needs to be focused when you switch panes, you'd need to have two
      Focus objects, one in each tab, and you need to set their autofocus to
      true (maybe that should be the default?).
      60177a71
    • Hixie's avatar
      Fix review feedback from previous checkin. · f13f8894
      Hixie authored
      @abarth doesn't like Futures that explicitly point out they're type-unsafe. :-P
      f13f8894
    • Hixie's avatar
      Fix the lerp the RIGHT way. · 1b7aa115
      Hixie authored
      1b7aa115
    • Ian Hickson's avatar
      Merge pull request #281 from Hixie/buttons · 4f9f5656
      Ian Hickson authored
      Fix the crash for buttons.
      4f9f5656
    • Hixie's avatar
      Fix the crash for buttons. · be5545cf
      Hixie authored
      Turns out there was a typo in lerpColor.
      
      Fixes #277.
      be5545cf
    • Hixie's avatar
  4. 24 Jul, 2015 16 commits