- 25 7月, 2015 11 次提交
-
-
由 Hixie 提交于
-
由 Collin Jackson 提交于
-
由 Hixie 提交于
-
由 Hixie 提交于
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.
-
由 Viktor Lidholt 提交于
-
由 Viktor Lidholt 提交于
-
由 Jim Simon 提交于
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
-
由 Viktor Lidholt 提交于
-
由 Hans Muller 提交于
-
由 Eric Seidel 提交于
Roll was ff8bbe4e This is another step in fixing #138 R=viktork@google.com
-
由 Collin Jackson 提交于
-
- 24 7月, 2015 14 次提交
-
-
由 Adam Barth 提交于
The workbench package exists to pull in pub packages from both pub.dartlang.org and from the source tree (using dependency overrides). The idea is that workbench will reflect a typical Sky developer's environment so that we can use the same tools as a typical sky developer by running them with the workbench as the cwd.
-
由 Adam Barth 提交于
Turns out if we don't have these deps, nothing builds these packages.
-
由 Adam Barth 提交于
We now just symlink the lib directory into the packages directory in the output directory.
-
由 Adam Barth 提交于
This package contains the mojom.dart files we generate from the sky_engine repository.
-
由 Adam Barth 提交于
After this patch, we use pub to manage versioning and fetching the material design icons.
-
由 Viktor Lidholt 提交于
-
由 Adam Barth 提交于
-
由 Hixie 提交于
-
由 Viktor Lidholt 提交于
-
由 Adam Barth 提交于
This CL introduces a SkyShell.apk that is separate from the SkyDemo.apk that we upload to the store to show our demos. The SkyShell.apk is just an empty shell that can run Sky applications on Android.
-
由 Hixie 提交于
I've noticed an anti-pattern emerge where people call scheduleBuild() when they think they've changed enough state that they should rebuild, instead of just wrapping their changes in setState(). This leads to them missing state changes, having extraneous scheduleBuild() calls, and other similar bugs. By removing scheduleBuild(), the only way to actually schedule a build now is to call setState(), and hopefully that'll make it much clearer that you're only supposed to do this when you change state.
-
由 Hixie 提交于
Assert that there are no duplicates. Export GlobalKey from basic.dart, so that people don't have to import widgets.dart just for that. Fix the "initialFocus" feature which actually didn't work.
-
由 Eric Seidel 提交于
This is supposed to make Viktor's game faster, but it's not clear to me that it actually does. I've left the code using the dart version of drawAtlas for now until Viktor can verify that it looks correct. I also added a wrapper for SkFilterQuality in the process of debugging SkCanvas.drawAtlas since all drawAtlas examples in Skia use FilterQuality.low. The bug which blocked me for so long turned out to be that SkCanvas.drawAtlas doesn't draw anything if antialiasing is turned on. Issue #138. R=abarth@google.com
-
由 Hixie 提交于
RenderConstrainedBox was ignoring its additional constraints for its intrinsic size logic when it had no child.
-
- 23 7月, 2015 13 次提交
-
-
由 Adam Barth 提交于
- Remove unused imports - Remove unused, broken constructor for MineDiggerApp
-
由 Hixie 提交于
-
由 Eric Seidel 提交于
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
-
由 Adam Barth 提交于
Accessing the network created a race condition that would sometimes cause other tests to fail.
-
由 Adam Barth 提交于
The Python HTTP server was caching too agressively. Instead, use an HTTP server written in Dart from the sky_tools package.
-
由 Hixie 提交于
-
由 Hans Muller 提交于
-
由 Viktor Lidholt 提交于
-
由 Collin Jackson 提交于
-
由 Hixie 提交于
If your constraints are tight when you get laid out, you don't get a relayout subtree root. If you don't have a relayout subtree root, and you get marked dirty, you go through layoutWithoutResize() rather than layout(), so we don't get a parentUsesSize. If you're not dirty and your constraints didn't change, layout() skips your layout. So then if your initial layout had parentUsesSize:true, and then you got marked dirty directly, you would set your size with parentCanUseSize=false, and then later if your parent tried to lay you out then read your size, it would crash because your size wasn't set up to allow you to get your size. The fix is to actually remember the last setting of parentUsesSize, even in the case of the constraints being tight and you later being marked as needing layout directly.
-
由 Hixie 提交于
In theory, before, if you had the same image twice in a scrolling container, you'd get an assertion with no way around it. This makes those nodes not bother making keys by default, which is cheaper and more correct.
-
由 Adam Barth 提交于
-
由 Hixie 提交于
This fixes some theoretical bugs whereby we were using hashCode to try to get unique keys for objects, but really we wanted object identity. It also lays the groundwork for a new GlobalKey concept. I tried to keep the impact on the code minimal, which is why the "Key" constructor is actually a factory that returns a StringKey. The code has this class hierarchy: ``` KeyBase | Key--------------+---------------+ | | | StringKey ObjectKey UniqueKey ``` ...where the constructors are Key and Key.stringify (StringKey), Key.fromObjectIdentity (ObjectKey), and Key.unique (UniqueKey). We could instead of factory methods use regular constructors with the following hierarchy: ``` KeyBase | LocalKey---------+---------------+ | | | Key ObjectIdentityKey UniqueKey ``` ...with constructors Key, Key.stringify, ObjectIdentityKey, and UniqueKey, but I felt that that was maybe a more confusing hierarchy. I don't have a strong opinion on this.
-
- 22 7月, 2015 2 次提交
-
-
由 Viktor Lidholt 提交于
-
由 Matt Perry 提交于
-