- 12 Jan, 2016 1 commit
-
-
Hans Muller authored
-
- 11 Jan, 2016 1 commit
-
-
Adam Barth authored
Previously we used a positional argument for widgets that had multiple children. Now we use a named argument that defaults to an empty list. Fixes #241
-
- 07 Jan, 2016 2 commits
-
-
Ian Hickson authored
Make ancestorStateOfType() and ancestorRenderObjectOfType() support subclassing. Fixes https://github.com/flutter/flutter/issues/1087
-
Ian Hickson authored
- make them all have the same style - make them all include the stack trace last - make them all stop printing if their callback is set (if appropriate, they don't yet all have callbacks)
-
- 04 Jan, 2016 1 commit
-
-
Ian Hickson authored
Fixes #1058.
-
- 31 Dec, 2015 1 commit
-
-
Ian Hickson authored
Fixes https://github.com/flutter/flutter/issues/572
-
- 11 Dec, 2015 1 commit
-
-
Ian Hickson authored
-
- 10 Dec, 2015 1 commit
-
-
Ian Hickson authored
-
- 09 Dec, 2015 1 commit
-
-
Adam Barth authored
- Remove unused FocusChanged typedef. - Remove unused centerOfAttentionHeroTag. - Modernize static functions for interacting with Scrollable by moving them into the Scrollable class.
-
- 08 Dec, 2015 1 commit
-
-
Adam Barth authored
After this patch, if you try to use a widget that depends on being enclosed in a material, you now get an assert and a debugPrint if you're not inside a material. Fixes #243
-
- 04 Dec, 2015 1 commit
-
-
Adam Barth authored
Fixes #689
-
- 01 Dec, 2015 1 commit
-
-
Ian Hickson authored
-
- 20 Nov, 2015 2 commits
-
-
Adam Barth authored
The old name was confusing. Fixes #462
-
Hixie authored
- `Scaffold.of(context).showBottomSheet(widget);` - Returns an object with .closed Future and .close() method. - Uses a StateRoute to handle back button. - Take the Navigator logic out of the BottomSheet widget. - Support showing a sheet while an old one is going away. - Add Navigator.remove().
-
- 18 Nov, 2015 1 commit
-
-
Hixie authored
I'm planning on adding more .of() functions and so to avoid further copypasta I'm providing some general utility functions here.
-
- 13 Nov, 2015 1 commit
-
-
Adam Barth authored
When we reactivate a subtree that had a global key, we weren't updating the parent data because: 1) The child wasn't in the tree when we updated the parent data element. 2) The activated child didn't go through mount (just through update). This patch moves the parent data update work to when we attach the render object, which we do both during mount and when reactivating a child. Fixes #345
-
- 04 Nov, 2015 1 commit
-
-
Hixie authored
- change how we expose settings at the RenderObject layer so that it's easier to maintain. - expose the Widget owner chain in the RenderObject layer debug output - add debug info to RenderOpacity, RenderIgnorePointer, RenderListener - make the output for text nodes prettier
-
- 28 Oct, 2015 1 commit
-
-
Hixie authored
-
- 27 Oct, 2015 1 commit
-
-
Ian Hickson authored
- Change RouteArguments to pass the route's BuildContext rather than the Navigator. This caused the bulk of the examples/ and .../test/ changes (those are mostly mechanical changes). It also meant I could simplify Navigator.of(). - Make initState() actually get called when the State's Element is in the tree, so you can use Foo.of() functions there. Added a test for this also. - Provide a RouteWidget so that routes have a position in the Widget tree. The bulk of the route logic is still in a longer-lived Route object for now. - Make Route.setState() only rebuild the actual route, not the whole navigator. - Provided a Route.of(). - Provided a Route.writeState / Route.readState API that tries to identify the clients by their runtimeType, their key, and their ancestors keys, up to the nearest ancestor with a GlobalKey. - Made scrollables hook into this API to track state. Added a test to make sure this works. - Fix the debug output of GestureDetector and the hashCode of MixedViewport. - Fixed ScrollableWidgetListState<T> to handle infinite lists.
-
- 26 Oct, 2015 1 commit
-
-
Ian Hickson authored
Fixes #1687.
-
- 21 Oct, 2015 1 commit
-
-
Hixie authored
Sometimes you need a Key (not a GlobalKey) that is only equal to itself but can be used multiple times in the tree. Enter UniqueKey!
-
- 19 Oct, 2015 1 commit
-
-
Hixie authored
It turns out that an AnimatedContainer with a BoxDecoration would start animating every single time it was built, whether or not the container's decoration had changed.
-
- 16 Oct, 2015 1 commit
-
-
Hixie authored
(These are all the debugging-related fixes and trivial typo fixes that I extracted out of my heroes branch.) Fix rendering.dart import order. Introduce a debugLabel for Performances so that when you create a performance, you can tag it so that if later you print it out, you can figure out which performance it is. Allow the progress of a PerformanceView to be determined (but not set). Allow subclasses of PerformanceView that are constants to be created by defining a constant constructor for PerformanceView. Introduce a debugPrint() method that throttles its output. This is a test to see if it resolves the problems people have been having with debugDumpRenderTree() et al having their output corrupted on Android. It turns out (according to some things I read On The Internets) that Android only has a 64KB kernel buffer for its logs and and if you output to it too fast, it'll drop data on the floor. If this does in fact reliably resolve this problem, we should probably move the fix over to C++ land (where "print" is implemented) so that any use of print is handled (avoiding the interleaving problem we have now if you use both debugPrint() and print()). Fix a bug with the debugging code for "size". In the specific case of a RenderBox having a parent that doesn't set parentUsesSize, then later the parent setting parentUsesSize but the child having its layout short-circuited (e.g. because the constraints didn't change), we didn't update the _DebugSize object to know that now it's ok that the size be used by the parent, and we'd assert. Also, allow a _DebugSize to be used to set the size of yourself. Previously you could only set your size from a regular Size or from your child's _DebugSize. Add more debugging information to various Widgets where it might be helpful. Make GlobalKey's toString() include the runtimeType so that when subclassing it the new class doesn't claim to be a GlobalKey instance. Include the Widget's key in the Element's description since we don't include it in the detailed description normally (it's in the name part). Fix a test that was returning null from a route.
-
- 15 Oct, 2015 1 commit
-
-
Hixie authored
Teach dumpRenderTree() to draw actual trees. Make the TextStyle output terser so it doesn't overflow the output. Make debugDumpApp() say what mode we're in (checked vs release). Hide lifecycle state from release mode dumps (since it's checked-only state).
-
- 12 Oct, 2015 1 commit
-
-
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.
-
- 10 Oct, 2015 1 commit
-
-
Adam Barth authored
-
- 08 Oct, 2015 2 commits
-
-
Hixie authored
Also, have dialog buttons use the accent colour. Also, generally rationalise some of this stuff to match Material better.
-
Hixie authored
The root cause was that we crawled the tree to mark anyone who depended on the updated theme dirty _after_ we crawled it to rebuild it. Thus, if anyone was already marked dirty when the process started, then got marked clean by the first (rebuild) walk, then got marked dirty again by the notification, they'd be clean when they got the notification, despite already being in the dirty list, which would cause an assertion. Also IconTheme didn't have an operator==, so it was independently too aggressive about updates.
-
- 07 Oct, 2015 1 commit
-
-
Hixie authored
Previously, RenderObjectElements didn't support being marked dirty. This is fine, except for MixedViewport and HomogeneousViewport, which have builder functions to which they hand themselves as a BuildContext. If those builder functions call, e.g., Theme.of(), then when the theme changes, the Inherited logic tries to tell the RenderObjectElement object that its dependencies changed and that doesn't go down well. This patch fixes this by making RenderObjectElement a BuildableElement, and making MixedViewport and HomogeneousViewport hook into that to rebuild themselves appropriately. Also, this was only found at all because ThemeData didn't implement operator==, so we were aggressively marking the entire tree dirty all the time. That's fixed here too. Also, I changed card_collection.dart to have more features to make this easier to test. This found bugs #1524, #1522, #1528, #1529, #1530, #1531.
-
- 06 Oct, 2015 1 commit
-
-
Adam Barth authored
Now SnackBar is an ephemeral route that uses a Placeholder to put itself into the Scaffold. Fixes #673
-
- 05 Oct, 2015 3 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.
-
Hixie authored
Also, fix comment mentioning syncConstructorArguments.
-
- 02 Oct, 2015 2 commits
-
-
Hixie authored
I'm not sure this specific incarnation of the test ever crashed, since the original test depended on user interaction and now works fine, but just in case, here's a regression test for it so I can close that issue. This also slightly changes the Widget.toString() output to include the key since that will make debugging easier.
-
Adam Barth authored
This patch causes widgets with global keys to drag their state (including their children) with them as they travel through the element tree.
-
- 01 Oct, 2015 4 commits
-
-
Adam Barth authored
This patch prepares us to move these elements around in the tree.
-
Hixie authored
Mostly because we can, but hopefully it'll catch someone who accidentally copypasted their createState method.
-
Hixie authored
This removes GlobalKey.currentElement in favour of GlobalKey.currentContext.
-
Adam Barth authored
-
- 26 Sep, 2015 1 commit
-
-
Adam Barth authored
-