1. 01 Dec, 2015 2 commits
    • Adam Barth's avatar
      Fix Input padding to match the material spec · 6067b306
      Adam Barth authored
      Also, handle the case of "dense" input widgets that have less margin.
      
      Fixes #626
      6067b306
    • Adam Barth's avatar
      Add input#hideText · 179d191e
      Adam Barth authored
      This feature can be used to implement password fields, where the user doesn't
      want the text displayed on screen. Currently all the characters are hidden.
      Eventualy we'll want to show the most recent character for some timeout.
      
      Fixes #636
      179d191e
  2. 11 Nov, 2015 1 commit
  3. 26 Oct, 2015 1 commit
    • Hixie's avatar
      Radio<T> and ValueChanged<T> · b1dbf452
      Hixie authored
      Make Radio widgets take a type that describes the type of their value,
      so that you can catch when you use the wrong value.
      
      Standardise on ValueChanged<Foo> instead of having a FooValueChanged
      for every value of Foo.
      b1dbf452
  4. 23 Oct, 2015 1 commit
  5. 20 Oct, 2015 1 commit
  6. 16 Oct, 2015 1 commit
  7. 14 Oct, 2015 1 commit
  8. 12 Oct, 2015 1 commit
    • Hixie's avatar
      Lots of trivial warning fixes · f2cc43a4
      Hixie authored
      Add type annotations in many places.
      Fix some identifiers to have more lint-satisfying names.
      Make all operator==s consistent in style.
      Reorder some functions for consistency.
      Make ParentData no longer dynamic, and fix all the code around that.
      f2cc43a4
  9. 10 Oct, 2015 1 commit
  10. 09 Oct, 2015 1 commit
  11. 06 Oct, 2015 1 commit
  12. 05 Oct, 2015 1 commit
    • Hixie's avatar
      Fix Focus · fbf8174c
      Hixie authored
      Focus.at() and company should be on Focus, not FocusState.
      
      _notifyDescendants() was using the wrong runtimeType.
      
      Let InheritedWidget update the descendants during build.
      
      When you setState() during build, assert that you're not
      markNeedsBuild()ing someone who isn't a descendant.
      
      Typo in Widget.toString().
      fbf8174c
  13. 03 Oct, 2015 1 commit
  14. 01 Oct, 2015 1 commit
  15. 24 Sep, 2015 1 commit
    • James Robinson's avatar
      Update to Mojo 4e4d51ce28a8edcb32b9c7f555e38e2ae84a825e, update deps · e854d745
      James Robinson authored
      This updates to mojo 4e4d51ce28a and mojo sdk 711a0bcfb141b4 and updates the sky
      package's pubspec.yaml dependency to '>=0.1.0 <0.2.0' to be compatible with
      the current mojo package. This includes an update to the Mojo Dart generator to
      produce real classes for enums and the corresponding updates for users of the
      KeyboardType enum in Sky as well as one scoped_ptr->std::unique_ptr in shell
      corresponding to a change in the Mojo EDK.
      
      When a new version of the sky and sky_services package are pushed this will fix
      domokit/mojo#440.
      e854d745
  16. 21 Sep, 2015 1 commit
    • Adam Barth's avatar
      Remove EventDisposition · 051354ae
      Adam Barth authored
      All the use cases for EventDisposition are now addressed by the gesture
      detection system.
      051354ae
  17. 17 Sep, 2015 1 commit
  18. 09 Sep, 2015 1 commit
  19. 08 Sep, 2015 1 commit
  20. 07 Sep, 2015 1 commit
  21. 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
  22. 28 Aug, 2015 1 commit
    • 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
  23. 22 Aug, 2015 1 commit
  24. 20 Aug, 2015 1 commit
  25. 07 Aug, 2015 1 commit
  26. 06 Aug, 2015 1 commit
  27. 04 Aug, 2015 1 commit
    • James Robinson's avatar
      Teach event system about disposition and make 'consumed' disposition terminal · 53163f8b
      James Robinson authored
      This introduces the notion of event disposition and allows event
      targets (widgets and render objects) to consume events that should not
      be processed further. This is needed by the Switch component in the
      Drawer in the stocks example. The Switch is embedded in a DrawerItem.
      The Switch handles the gesture tap event to toggle its state and should
      handle pointer events to allow swiping and draw its own radial
      reaction. The DrawerItem also handles gesture taps to allow toggling
      the switch value when tapping anywhere on the drawer and to draw its
      own ink splash. When tapping on the switch, both the switch's render
      object and the DrawerItem's listener are in the event dispatch path.
      The Switch needs to signal in some fashion that it consumed the event
      so the DrawerItem does not also try to toggle the switch's state.
      53163f8b
  28. 28 Jul, 2015 2 commits
  29. 24 Jul, 2015 1 commit
  30. 23 Jul, 2015 2 commits
    • Hixie's avatar
      Track global keys globally. · eb90899a
      Hixie authored
      Assert that there are no duplicates.
      Export GlobalKey from basic.dart, so that people don't have to import widgets.dart just for that.
      Fix the "initialFocus" feature which actually didn't work.
      eb90899a
    • Eric Seidel's avatar
      Focus support. · 4da27671
      Eric Seidel authored
      This patch provides a class to manage focus, Focus, and a class to
      manage ownership of the keyboard, KeyboardHandle.
      
      Inherited (in widgets.dart) is adjusted to support subclasses that
      need to copy state from instance to instance.
      
      A GlobalKey key type is introduced that is basically the same as
      UniqueKey. Component classes that need a globally-unique key can
      specify that their 'key' constructor argument is a GlobalKey.
      
      Focus
      -----
      
      You can use `Focus.at(this)` to determine if you, a Component, are
      currently focused.
      
      You can use `Focus.moveTo(this)` to take the focus or give it to a
      particular component.
      
      For this to work, there has to be a Focus class in the widget
      hierarchy.
      
      Currently, there can only be one Focus class, because nested scopes
      aren't supported. We should add support for that in a future patch.
      See issue #229.
      
      KeyboardHandle
      --------------
      
      Instead of directly interacting with the keyboard service, you now ask
      for a KeyboardHandle using `_keyboard.show(client)`. This returns a
      KeyboardHandle class. On that class, you can call `handle.release()`
      when you want to hide the keyboard. If `handle.attached` is still
      true, and you need to reshow the keyboard after the user hid it, then
      you can can `handle.showByRequest()`.
      
      The point of this is that the `keyboard.show()` method maintains the
      invariant that only one KeyboardHandle is live at a time.
      
      There are some issues with the keyboard service that I filed as a
      result of doing this patch: #226 #227
      4da27671
  31. 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
  32. 16 Jul, 2015 1 commit