- 06 Oct, 2015 2 commits
-
-
Adam Barth authored
Rather than using a custom render object, we can just use a Stack.
-
Adam Barth authored
Now SnackBar is an ephemeral route that uses a Placeholder to put itself into the Scaffold. Fixes #673
-
- 05 Oct, 2015 6 commits
-
-
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().
-
Hixie authored
(These are changes cherry-picked from in-flight branches since they are more independent and could be helpful even without those changes.) - Change RouteBuilder's signature to take a single argument in which the other fields are placed, so that we can keep iterating on those arguments without having to break compatibility each time. Also, this makes defining route builders much simpler (only one argument to ignore rather than a variable number). - Expose the next performance to RouteBuilders, since sometimes the route itself might not be where it's used. - Allow BuildContext to be used to walk children, just like it can for ancestors - Allow BuildContext to be used to get the Widget of the current BuildContext - Allow StatefulComponentElement to be referenced with a type specialisation so that you don't have to cast when you know what the type you're dealing with actually is.
-
Viktor Lidholt authored
-
Adam Barth authored
This patch simplifies AnimationTiming and all the AnimatedValue base classes. Also, make PopupMenu a stateless component because it has no state. Fixes #1168
-
Adam Barth authored
Fixes #1170
-
Adam Barth authored
This patch converts drawer to using the "openDialog" pattern for managing its state. Currently, the drawer entrance and exit animation aren't integrated with the navigator's animation system because the drawer's animations can be stopped and reversed, which the navigator can't yet understand. That means dismissing the drawer via the system back button causes the drawer to be removed instanteously. Fixes #715 Fixes #1187
-
- 03 Oct, 2015 7 commits
-
-
Mehmet Akin authored
-
Adam Barth authored
This patch prepares us to switch to using integers when handing off the animation time from the engine to the framework.
-
Mehmet Akin authored
-
Adam Barth authored
After this patch, InkWell is driven by gesture recognizers, which lets us cleanly cancel splashes when the user actually scrolls. I've also refactored all the clients of InkWell to use InkWell to detect gestures instead of wrapping InkWell in a GestureDetector. Fixes #1271
-
Adam Barth authored
* Rename GestureTapListener (and friends) To GestureTapCallback to match the other gesture callbacks. * Replace "ensureFoo" pattern with ??= operator.
-
Adam Barth authored
Fixes #1372
-
Hans Muller authored
The ShaderMask widget enables rendering its child with an alpha channel defined by a Shader. For example if the Shader was a linear gradient in alpha then the component behind the ShaderMask's child would appear wherever the gradient's alpha value was not fully opaque. The card_collection.dart example demonstrates this. Select the "Let the sun shine" checkbox in the app's drawer.
-
- 02 Oct, 2015 4 commits
-
-
Viktor Lidholt authored
-
Viktor Lidholt authored
-
Hixie authored
Identify specific parts of a Stock row with a Global Key that can be regenerated later, and pass that key back to event handlers so they can use them to do the transition.
-
Hixie authored
You can now set an offset that will be used for the hit testing for drops. (It doesn't move the feedback by default; use a Transform for that.) I also made the default feedback not be Opacity 0.5 always.
-
- 01 Oct, 2015 11 commits
-
-
Hixie authored
- Rename EdgeDims constructor to EdgeDims.TRBL(). - Add operator== to Size and Offset so that you can compare Size to DebugSize in checked mode. - Add Size.lerp(). - Add various operators to EdgeDims. (*, /, ~/, %) - Add EdgeDims.lerp(). - Update style guide. I went there to fix an EdgeDims constructor example, and stayed because some recent things came up and I wanted to add them before I forgot.
-
Adam Barth authored
* Moves from vector_math to vector_math_64 * Adds support for Float64List in Dart bindings
-
Hixie authored
-
Collin Jackson authored
-
Hixie authored
It's redundant with card_collection.dart, which does similar things but much better.
-
Hixie authored
This removes GlobalKey.currentElement in favour of GlobalKey.currentContext.
-
Adam Barth authored
-
Adam Barth authored
-
Adam Barth authored
-
Adam Barth authored
-
Adam Barth authored
-
- 30 Sep, 2015 7 commits
-
-
mdakin authored
-
Hans Muller authored
-
Adam Barth authored
This argument isn't needed anymore now that State has a getter for context.
-
Hixie authored
Make it possible for named routes to be generated on the fly. To demonstrate this, you can now long-press a stock to open it. Next steps: - transitions between (named) states that follow full material logic, e.g. in the case of the stock row to stock page transition, expanding the row into a raised sheet of material and expanding it to fit the screen, leaving the toolbar in place but cross-fading the old contents to the new contents. - more information in the stock view. While I was here I also made Material have an opinion about default text style, so if you forget to set one, it just uses body1. Also, fixed bugs introduced recently that made RouteState and MenuRoute not work properly.
-
mdakin authored
-
Hixie authored
Introduce a Draggable class that wraps all the logic of dragging something and dropping it on a DragTarget. Update examples/widgets/drag_and_drop.dart accordingly. Make the performance/transition part of routes optional.
-
Hixie authored
Not having them clickable was making it hard to notice InkSplash bugs. Also, this paves the way to having a stock page.
-
- 29 Sep, 2015 2 commits
-
-
Hans Muller authored
Initial snap offset support for ScrollableWidgetList (and ScrollableList<T>) and ScrollableMixedWidgetList. If a ```toSnapOffset(scrollOffset)``` function is provided, fling Scrolls will coast to the returned value. If ```alignmentOffset``` is specified then fling scrolls conclude when toSnapOffset's value lines up with the Scrollable widget's origin + alignmentOffset. For example if the Scrollable widget's height was 200.0, and alignmentOffset:100.0 was specified, then fling scrolls would end with the value returned by toSnapOffset() lined up with the center of the Scrollable. This approach to Scrollable snapping assumes that the layout of whatever the Scrollable contains is known at the outset. This is often true however a ScrollableMixedWidgetList may not know its items' sizes until they've been reached by scrolling. This is a first cut at snapping support. Among the things that remain to be done: - Scrolling limits trump snapping. Snapping should probably trump scrolling limits. - Drag scrolls aren't snapped. This may be desirable so perhaps the feature should be controlled with a flag. - Specifying alignmentOffset as a percentage would probably be more convenient. - It would be nice if one could wrap items in a SnapOffset value like: ```new SnapOffset(0.5, child: myItem)``` to snap to the center of the item. Updated the CardCollection example: snapping and fixed size items can be turned on/off with Drawer checkboxes.
-
Hixie authored
-
- 28 Sep, 2015 1 commit
-
-
Hixie authored
Tapping on the menu item didn't animate the checkbox because the menu takes 300ms to animate entirely away while the checkbox takes 200ms to animate checked, and since the item with the checkbox was at the bottom, we were only seeing about 60ms of the entire checkbox animation, which isn't enough to notice it. So I moved it to the top of the menu. Tapping on the checkbox didn't animate because nothing caused the menu to rebuild when the callback was invoked. To trigger a rebuild, I now call navigator.setState() explicitly, after changing out local state. To make tapping the checkbox remove the menu, I also explicitly call navigator.pop() in the code that handles the check. (I still explicitly change the checkbox to show that that's possible. In principle one could just treat the checkbox as an inert widget that happens to trigger pop, and do all the checking/unchecking in the switch statement.) I also made some minor style tweaks to files I was looking at while dealing with this issue.
-