1. 02 Oct, 2017 1 commit
    • Adam Barth's avatar
      Add Alignment, which will replace FractionalOffset (#12342) · 2b126bcd
      Adam Barth authored
      Unlike FractionalOffset, Alignment uses the center as the zero of the
      coordinate system, which makes the RTL math work out much cleaner.
      
      Also, make FractionalOffset into a subclass of Alignment so that clients
      can continue to use FractionalOffset.
      2b126bcd
  2. 27 Sep, 2017 1 commit
  3. 24 Sep, 2017 1 commit
  4. 15 Sep, 2017 1 commit
  5. 08 Sep, 2017 1 commit
  6. 11 Jul, 2017 1 commit
  7. 24 May, 2017 1 commit
  8. 23 May, 2017 1 commit
  9. 12 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Move Point to Offset (#9277) · bf017b79
      Ian Hickson authored
      * Manually fix every use of Point.x and Point.y
      
      Some of these were moved to dx/dy, but not all.
      
      * Manually convert uses of the old gradient API
      
      * Remove old reference to Point.
      
      * Mechanical changes
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]origin\b/Offset.zero/g'
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]lerp\b/Offset.lerp/g'
      git ls-files -z | xargs -0 sed -i 's/\bnew Point\b/new Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bconst Point\b/const Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bstatic Point /static Offset /g'
      git ls-files -z | xargs -0 sed -i 's/\bfinal Point /final Offset /g'
      git ls-files -z | xargs -0 sed -i 's/^\( *\)Point /\1Offset /g'
      git ls-files -z | xargs -0 sed -i 's/ui[.]Point\b/ui.Offset/g'
      git ls-files -z | xargs -0 sed -i 's/(Point\b/(Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\([[{,]\) Point\b/\1 Offset/g'
      git ls-files -z | xargs -0 sed -i 's/@required Point\b/@required Offset/g'
      git ls-files -z | xargs -0 sed -i 's/<Point>/<Offset>/g'
      git ls-files -z | xargs -0 sed -i 's/[.]toOffset()//g'
      git ls-files -z | xargs -0 sed -i 's/[.]toPoint()//g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point, /show /g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point;/show Offset;/g'
      
      * Mechanical changes - dartdocs
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\ba \[Point\]/an [Offset]/g'
      git ls-files -z | xargs -0 sed -i 's/\[Point\]/[Offset]/g'
      
      * Further improvements and a test
      
      * Fix minor errors from rebasing...
      
      * Roll engine
      bf017b79
  10. 11 Apr, 2017 1 commit
    • xster's avatar
      Rename State.config to widget everywhere (#9273) · 89a7fdfc
      xster authored
      Rename State.config to State.widget
      Rename State.didUpdateConfig to State.didUpdateWidget
      Renamed all State subclasses' local variables named config to something else
      89a7fdfc
  11. 07 Apr, 2017 1 commit
  12. 04 Mar, 2017 1 commit
  13. 14 Feb, 2017 1 commit
  14. 09 Dec, 2016 1 commit
  15. 01 Dec, 2016 1 commit
  16. 22 Nov, 2016 1 commit
  17. 18 Nov, 2016 1 commit
  18. 28 Oct, 2016 1 commit
  19. 17 Oct, 2016 1 commit
    • Adam Barth's avatar
      Fix DropdownButton regression (#6353) · 6399a3af
      Adam Barth authored
      When I changed how routes complete their futures, I broke the Dropdown
      button because it was still waiting for its own Completer to complete
      instead of using the Future returned by push. This patch fixes that
      issue.
      
      I've also removed the previous behavior of the DropdownButton forwarding
      its text style to its route. The mechansim that we were using doesn't
      work properly in all cases. For example, if the DropdownButton is a
      child of a LayoutBuilder, then the route will have already built by the
      time the DropdownButton gets a chance to forward its text style, causing
      an assert in setState.
      
      Finally, I've tweaked PopupMenuButton to work the same way as
      DropdownButton in a couple corner cases (e.g., not calling the changed
      callback if the button was removed from the tree before the menu
      completed its Future).
      
      Fixes #6352
      6399a3af
  20. 16 Sep, 2016 1 commit
  21. 27 Jun, 2016 1 commit
  22. 18 May, 2016 1 commit
    • Ian Hickson's avatar
      Some cleanup of the test framework (#4001) · d2c8c82f
      Ian Hickson authored
      * Add a "build" phase to EnginePhase for completeness.
      * Ignore events from the device during test execution.
      * More dartdocs
      * Slightly more helpful messages about Timers in verifyInvariants.
      * Add widgetList, elementList, stateList, renderObjectList.
      * Send test events asynchronously for consistency with other APIs.
      * Fix a test that was depending on test events being synchronous (or
        rather, scheduled in a microtask that came before the microtask for
        the completer of the future that the tap() function returned).
      d2c8c82f
  23. 16 May, 2016 1 commit
    • Ian Hickson's avatar
      Make it possible to run tests live on a device (#3936) · 32527017
      Ian Hickson authored
      This makes it possible to substitute 'flutter run' for 'flutter test'
      and actually watch a test run on a device.
      
      For any test that depends on flutter_test:
      
      1. Remove any import of 'package:test/test.dart'.
      
      2. Replace `testWidgets('...', (WidgetTester tester) {`
            with `testWidgets('...', (WidgetTester tester) async {`
      
      3. Add an "await" in front of calls to any of the following:
          * tap()
          * tapAt()
          * fling()
          * flingFrom()
          * scroll()
          * scrollAt()
          * pump()
          * pumpWidget()
      
      4. Replace any calls to `tester.flushMicrotasks()` with calls to
         `await tester.idle()`.
      
      There's a guarding API that you can use, if you have particularly
      complicated tests, to get better error messages. Search for
      TestAsyncUtils.
      32527017
  24. 05 May, 2016 2 commits
    • Adam Barth's avatar
      DropDownMenu should use ScrollableList (#3745) · 2592f8f4
      Adam Barth authored
      Previously it used Block, which is less efficient for large numbers of items.
      Also move the top margin out of the menu item to fix the baseline alignment of
      the text.
      
      Fixes #1615
      2592f8f4
    • Adam Barth's avatar
      Ensure that DropDownMenus are always onscreen (#3742) · 6a46bf2e
      Adam Barth authored
      This patch sizes the menu such that it is always on screen, but doesn't scroll
      the menu to ensure that the currently selected item is always visible and on
      top of the button. That will need to wait for a later patch.
      
      Also, teach CustomPaint how to repaint animations more efficiently.
      
      Fixes #3720
      6a46bf2e