1. 28 Oct, 2019 1 commit
  2. 24 Sep, 2019 1 commit
  3. 09 Jun, 2019 1 commit
  4. 09 Mar, 2019 1 commit
  5. 31 Jan, 2019 1 commit
    • Ian Hickson's avatar
      [H] Add ImageStreamCompleter.hasListeners (and cleanup) (#25865) · d5d47f63
      Ian Hickson authored
      * Remove stray extra space
      
      * Add ImageStreamCompleter.hasListeners (and cleanup)
      
      This is mostly just some cleanup of stuff I ran into, but it makes
      `hasListeners` protected on `ImageStreamCompleter`, because otherwise
      there's no way to track if listeners are registered or not.
      
      * Address review comments
      d5d47f63
  6. 10 Jan, 2019 1 commit
  7. 30 Oct, 2018 1 commit
    • Ian Hickson's avatar
      Allow ChangeNotifier to be mixed in again (#23631) · c319b890
      Ian Hickson authored
      Luckily this class didn't actually need to extend its superclass, it
      only implements the interface. So we can change `extends` to
      `implements` and that's close enough, while allowing the class to be
      mixed in again.
      c319b890
  8. 12 Sep, 2018 1 commit
  9. 01 Mar, 2018 1 commit
  10. 02 Feb, 2018 1 commit
  11. 13 Apr, 2017 1 commit
  12. 28 Feb, 2017 1 commit
    • Adam Barth's avatar
      Add ValueNotifier (#8463) · 9a83659d
      Adam Barth authored
      It's common to have a ChangeNotifier that wraps a single value. This class
      makes that easy by providing a generic implementation.
      9a83659d
  13. 19 Jan, 2017 2 commits
  14. 17 Jan, 2017 2 commits
    • Ian Hickson's avatar
      Add more asserts and docs to ChangeNotifier. (#7513) · 9ece6daf
      Ian Hickson authored
      It took me a while to figure out what was going on (I was removing a
      listener after disposal). These asserts helped.
      9ece6daf
    • Adam Barth's avatar
      Fix several minor bugs and add many tests (#7506) · 2b742289
      Adam Barth authored
      * MultiTapGestureRecognizer previously would assert if there was no
         competition.
       * GestureArenaTeam would always select the first recongizer as the
         winner even if a later recognizer actually accepted the pointer
         sequence.
       * debugPrintStack would fail a type check if maxFrames was non-null.
       * FractionalOffset.lerp would throw a null-pointer exception if its
         second argument was null.
      
      Also, add a number of tests for previously untested lines of code.
      2b742289
  15. 05 Jan, 2017 1 commit
  16. 15 Dec, 2016 1 commit
    • Ian Hickson's avatar
      Listenable.merge (#7256) · 977a25f2
      Ian Hickson authored
      Sometimes you have several listenables, but you want to hand them to an
      API (e.g. CustomPainter) that only expects one.
      977a25f2
  17. 24 Jun, 2016 1 commit
  18. 01 Jun, 2016 1 commit
    • Ian Hickson's avatar
      PaginatedDataTable (part 1) (#4306) · 0618da7c
      Ian Hickson authored
      This introduces the key parts of a paginated data table, not including
      the built-in pagination features.
      
      * Provide more data for the data table demo, so there's data to page.
      
      * Introduce a ChangeNotifier class which abstracts out
        addListener/removeListener/notifyListeners. We might be able to use
        this to simplify existing classes as well, though this patch doesn't
        do that.
      
      * Introduce DataTableSource, a delegate for getting data for data
        tables. This will also be used by ScrollingDataTable in due course.
      
      * Introduce PaginatedDataTable, a widget that wraps DataTable and only
        shows N rows at a time, fed by a DataTableSource.
      0618da7c