- 20 Nov, 2015 1 commit
-
-
Adam Barth authored
The old name was confusing. Fixes #462
-
- 01 Nov, 2015 1 commit
-
-
Adam Barth authored
The name of the parameter wasn't consistent with IconButton or DrawerItem, etc. Fixes #1871
-
- 28 Oct, 2015 1 commit
-
-
Adam Barth authored
Material design icons are defined to work at specific sizes: 18, 24, 36, 48. The current API doesn't reflect that and just takes a size int. If an invalid size is chosen an error is printed to the console and no icon shows up. Fixes #1816
-
- 24 Oct, 2015 1 commit
-
-
Hixie authored
This makes skyanalyzer also check the examples, and fixes everything it found there.
-
- 22 Oct, 2015 1 commit
-
-
Adam Barth authored
Now you don't need to pass the navigator around everywhere.
-
- 19 Oct, 2015 1 commit
-
-
Adam Barth authored
Fixes #1669
-
- 10 Oct, 2015 1 commit
-
-
Adam Barth authored
-
- 09 Oct, 2015 2 commits
-
-
Adam Barth authored
MaterialApp assumes that you're using material design. Also move radial reaction and fix imports for stats box.
-
Adam Barth authored
These are now part of material.dart.
-
- 06 Oct, 2015 1 commit
-
-
Adam Barth authored
Rather than using a custom render object, we can just use a Stack.
-
- 05 Oct, 2015 2 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.
-
- 03 Oct, 2015 1 commit
-
-
Adam Barth authored
Fixes #1372
-
- 01 Oct, 2015 1 commit
-
-
Adam Barth authored
-
- 26 Sep, 2015 1 commit
-
-
Adam Barth authored
-
- 18 Sep, 2015 1 commit
-
-
Adam Barth authored
Also, introduce Colors and Typography to hold the material colors and the typography declarations. Previously we expected clients of these libraries to import them into a namespace, but that doesn't play nice with re-exporting them from material.dart.
-
- 07 Sep, 2015 1 commit
-
-
Adam Barth authored
The editing directory just defined two widgets. We might as well fold them into the main widgets library.
-
- 31 Aug, 2015 1 commit
-
-
Hixie authored
Fixes #247.
-
- 26 Aug, 2015 1 commit
-
-
Hixie authored
This still leaves Flex and FlexDirection available. At some point once people have transitioned to Row/Column we should rename Flex to _Flex and stop reexporting FlexDirection from basic.dart.
-
- 21 Aug, 2015 2 commits
-
-
Adam Barth authored
Block -> BlockBody ScrollableBlock -> Block FixedHeightScrollable -> ScrollableWidgetList VariableHeightScrollable -> ScrollableMixedWidgetList BlockViewport -> MixedViewport
-
Adam Barth authored
Fixes #743
-
- 08 Aug, 2015 1 commit
-
-
Ian Fischer authored
-
- 03 Aug, 2015 1 commit
-
-
Adam Barth authored
Now you can import 'package:sky/widgets.dart' to get all the widgets.
-
- 30 Jul, 2015 1 commit
-
-
Adam Barth authored
We ended up with a bunch of different scrollable widgets and it was confusing. This CL moves them all into one library to make them easier to find.
-
- 28 Jul, 2015 2 commits
-
-
Chinmay Garde authored
-
Chinmay Garde authored
-
- 25 Jul, 2015 2 commits
-
-
Hixie authored
Scoped focus, so you can have a dialog with input controls and not lose your focus in the background. This introduces a GlobalKey registry so that you can tell when a key has gone away (so you can unfocus dead dialogs). Also I added an assert that you're not calling setState() during a build. It turns out that doing so means you have a bug, because since you're dirty already (you're building), you won't get rebuilt. The focus code itself is gnarly. It uses a Component and an internal Inherited TagNode to manage the focus state, and does crazy things like updating its state during build to pretend retroactively that it was built with some other state, once someone asks for focus the first time (i.e. the first time it's examined, so you can't tell that it was in a different state before). It does this so that it can autofocus controls which otherwise wouldn't be focused. This moves all the focus management into Navigator and showDialog(), so the complexity is all buried deep and not visible to apps, hopefully. To do something like two tabs that each have an Input widget that needs to be focused when you switch panes, you'd need to have two Focus objects, one in each tab, and you need to set their autofocus to true (maybe that should be the default?).
-
Hixie authored
-
- 24 Jul, 2015 2 commits
-
-
Hixie authored
This removes the need to manually include the dialog builder in the main window's build() function. It also removes the need to track if a dialog is visible. Other changes: - I made dialog.dart a bit more readable. - I renamed transitionFinished to fullyOpaque since that's what actually matters. - I made Routes track if they're opaque. Eventually this should probably be more configurable when creating the route. Directions for Future Research: - Use this for focus management somehow. - The popup menu should use something like this. - We should factor the following out into a showDialog() function that returns a future for the dialog's exit result: navigator.push(new DialogRoute(builder: (navigator, route) { ... })); - Maybe navigator.pop() should take a value to return to that Future.
-
Jim Simon authored
Converted demo launcher example to library Converted fitness example to library Converted hello world example to library Converted mine digger example to library Converted stocks example to library
-
- 23 Jul, 2015 3 commits
-
-
Hixie authored
-
Hixie authored
-
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
-
- 16 Jul, 2015 1 commit
-
-
Collin Jackson authored
-