2732 Commits

Author SHA1 Message Date
Adam Barth
60479baf7f Run the Dart analyzer on Travis 2015-07-25 15:46:24 -07:00
Adam Barth
9efa0fcd8f Merge pull request #283 from Hixie/focus
Scoped focus, so you can have a dialog with input controls and not lose your focus in the background
2015-07-24 22:27:21 -07:00
Hixie
b9a8b7f39a 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?).
2015-07-24 18:18:04 -07:00
Ian Hickson
6af53d62e0 Merge pull request #285 from Hixie/dialogs
Fix review feedback from previous checkin.
2015-07-24 18:09:58 -07:00
Hixie
b79142a71e Fix review feedback from previous checkin.
@abarth doesn't like Futures that explicitly point out they're type-unsafe. :-P
2015-07-24 18:08:04 -07:00
Ian Hickson
034a306034 Merge pull request #284 from Hixie/buttons
Fix the lerp the RIGHT way.
2015-07-24 18:06:44 -07:00
Hixie
96ac817ee0 Fix the lerp the RIGHT way. 2015-07-24 18:05:14 -07:00
Ian Hickson
baaa892864 Merge pull request #281 from Hixie/buttons
Fix the crash for buttons.
2015-07-24 17:55:13 -07:00
Ian Hickson
142b0faf8a Merge pull request #282 from Hixie/dialogs
pushDialog(navigator, (navigator) => new Dialog(...)).then((result) => process(result));
2015-07-24 17:44:58 -07:00
Hixie
562b929be6 Fix the crash for buttons.
Turns out there was a typo in lerpColor.

Fixes #277.
2015-07-24 17:44:20 -07:00
Hixie
5924b67010 pushDialog(navigator, (navigator) => new Dialog(...)).then((result) => process(result)); 2015-07-24 17:40:41 -07:00
Collin Jackson
bbe01ebde0 Merge pull request #280 from collinjackson/new_dialog
Move fitness dialog into its own class
2015-07-24 15:23:55 -07:00
Collin Jackson
ad9c3375e4 Move dialog into its own class 2015-07-24 15:16:40 -07:00
Ian Hickson
4c52f52cb0 Merge pull request #278 from Hixie/nav-dialogs
Use the navigator to stack dialogs.
2015-07-24 15:02:20 -07:00
Ian Hickson
253d350437 Merge pull request #279 from Hixie/stocks_test
Fix test breakage
2015-07-24 14:57:10 -07:00
Hixie
f2a60fa635 Fix test breakage (stocks test imports stocks app differently than a recent checkin expected). 2015-07-24 14:54:56 -07:00
Hixie
9c85176756 Use the navigator to stack dialogs.
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.
2015-07-24 14:33:09 -07:00
Adam Barth
d9a68f99ce Merge pull request #274 from jimsimon/examples-as-libraries
Examples as libraries
2015-07-24 14:23:39 -07:00
Chinmay Garde
71d70fb708 Merge pull request #276 from chinmaygarde/mac
Make the Mac target deps look similar to iOS
2015-07-24 14:13:39 -07:00
Chinmay Garde
bb161eee1a Make the Mac target deps look similar to iOS
Fixes Mac builds
2015-07-24 13:54:35 -07:00
Viktor Lidholt
b15dd6ac7d Merge pull request #273 from vlidholt/master
Optimizations for Particle Systems
2015-07-24 13:04:34 -07:00
Viktor Lidholt
6a8e489875 Fixes formatting and abstraction in GameMath 2015-07-24 12:59:08 -07:00
Adam Barth
a2887a834a Merge pull request #265 from abarth/workbench
Create //sky/packages/workbench
2015-07-24 12:50:51 -07:00
Viktor Lidholt
8bf434a054 Optimizes ColorSequence 2015-07-24 12:39:02 -07:00
Jim Simon
5e341c21b4 Converted examples to libraries
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
2015-07-24 12:27:27 -07:00
Jim Simon
c14b8a2716 Updated AUTHORS 2015-07-24 12:24:05 -07:00
Jim Simon
a499534621 Added .idea folder to gitignore 2015-07-24 12:24:05 -07:00
Viktor Lidholt
f7007aace2 Merge branch 'master' of github.com:domokit/sky_engine
Conflicts:
	sky/sdk/example/game/lib/particle_system.dart
2015-07-24 12:17:18 -07:00
Viktor Lidholt
4780a78af1 Optimizations to particle systems. Uses single instance of Random and faster atan2 function. 2015-07-24 12:14:22 -07:00
Eric Seidel
075b3e88e6 Merge pull request #271 from eseidelGoogle/draw_atlas
Use Skia's drawAtlas now that we've rolled to a newer Skia
2015-07-24 11:27:15 -07:00
Hans Muller
db822187c8 Merge pull request #270 from HansMuller/dismissable-backgrounds
Dismissable animation simplifications; added backgrounds to CardCollection cards
2015-07-24 11:17:00 -07:00
Hans Muller
c9d284f442 Dismissable animation simplifications; added backgrounds to CardCollection cards 2015-07-24 11:15:37 -07:00
Eric Seidel
b75deae7da Use Skia's drawAtlas now that we've rolled to a newer Skia
Roll was ff8bbe4e1674ae57f2ea3a2841a37a9c099beac8
This is another step in fixing #138

R=viktork@google.com
2015-07-24 11:11:30 -07:00
Eric Seidel
ff8bbe4e16 Merge pull request #269 from eseidelGoogle/skia_roll
Roll Skia to the latest revision to pick up drawAtlas fix
2015-07-24 11:10:14 -07:00
Eric Seidel
244cebd496 Roll Skia to the latest revision to pick up drawAtlas fix
R=chinmaygarde@google.com
2015-07-24 10:59:20 -07:00
Collin Jackson
00823e6e68 Merge pull request #268 from collinjackson/fitness_dialog
New item dialog for fitness app and other minor improvements

R=eseidel
2015-07-24 10:28:24 -07:00
Collin Jackson
48bc67971b Fix the new item dialog for fitness app 2015-07-24 10:27:16 -07:00
Adam Barth
e8c3ceb7da Create //sky/packages/workbench
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.
2015-07-23 22:20:07 -07:00
Adam Barth
9f0105510e Remove stray .orig file 2015-07-23 21:00:16 -07:00
Adam Barth
24f0465b26 Merge pull request #264 from abarth/fix_icons
Teach skyx where the material design icons are
2015-07-23 20:14:53 -07:00
Adam Barth
421d625ee7 Merge pull request #263 from abarth/fix_deps
Add back some DEPS
2015-07-23 19:41:38 -07:00
Adam Barth
82838fb5fd Teach skyx where the material design icons are 2015-07-23 19:35:54 -07:00
Ian Hickson
e02ece3bfe Update CONTRIBUTING.md
clarify what is currently supported
2015-07-23 19:16:33 -07:00
Adam Barth
02dcb55d54 Add back some DEPS
Turns out if we don't have these deps, nothing builds these packages.
2015-07-23 19:07:20 -07:00
Eric Seidel
af454168fc Fix material_design_icons
TBR=abarth@google.com
2015-07-23 17:35:43 -07:00
Adam Barth
ce7ca2ccb0 Remove clean_sky_package.py
This script is unused.
2015-07-23 16:54:51 -07:00
Adam Barth
3b23f92f5f Merge pull request #261 from abarth/demagic_sky_package
Remove the magic from the Sky package
2015-07-23 16:52:50 -07:00
Ian Fischer
48ed96be66 Merge pull request #260 from iansf/ios_cmd_line
Make it possible to specify which sky app and sky server to use from the command line, overridding the Info.plist.
2015-07-23 16:52:49 -07:00
Adam Barth
62005770f8 Remove the magic from the Sky package
We now just symlink the lib directory into the packages directory in the output
directory.
2015-07-23 16:52:32 -07:00
Ian Fischer
88a936708e Command line options for launching a particular
Sky app in the simulator.
2015-07-23 16:41:51 -07:00