1102 Commits

Author SHA1 Message Date
Ian Fischer
fe7e39b23c Add documentation for using sky_tool listen. 2015-08-24 16:46:01 -07:00
Viktor Lidholt
119a652d17 Minor code cleanup 2015-08-24 16:41:05 -07:00
Viktor Lidholt
acccd438e5 Merge pull request #785 from vlidholt/new_game
New demo game
2015-08-24 16:32:39 -07:00
Ian Fischer
97b432db9f Merge pull request #786 from iansf/minor_cleanup
Minor cleanup in sky_tool
2015-08-24 16:31:03 -07:00
Ian Fischer
3897ebfcfe Minor cleanup of paths and quotes. 2015-08-24 16:29:20 -07:00
Hixie
670f3cd7c9 Track the last component to build
...rather than the stack trace at the time the RenderObjectWrapper updates the RenderObject.

Also, hide some of the debug-only fields behind "debug" prefixes and assert()s.
2015-08-24 16:17:50 -07:00
Viktor Lidholt
840dfae937 Adds support for spline actions and constraints on nodes 2015-08-24 16:08:23 -07:00
Viktor Lidholt
a78370fe9c New game demo, initial version 2015-08-24 16:07:25 -07:00
Ian Hickson
1393b4c6b0 Merge pull request #781 from Hixie/better-exceptions
Better exception handling for rendering library.
2015-08-24 15:55:55 -07:00
Ian Fischer
a41825619b Merge pull request #761 from iansf/fix_linux
Fix sky_tool listen on linux.
2015-08-24 15:53:09 -07:00
Hixie
d99641dd85 Better exception handling for rendering library.
- Catch exceptions closer to the source.
- Factor out exception printing code.
- Have widget library hand the rendering library some context when syncing RenderObjectWrappers to aid with debugging.
- Fix a bug in flex.dart whereby _overflow was compared when null.
2015-08-24 15:13:04 -07:00
Adam Barth
d35d580cdb Merge pull request #780 from abarth/mimic_improvements
Mimic should track Mimicable more completely
2015-08-24 15:11:34 -07:00
Adam Barth
7077b1b3d0 Mimic should track Mimicable more completely
We now have Mimic tracking Mimicable through tree structure changes and while
moving around the screen.

Fixes #751 and #756
2015-08-24 15:11:18 -07:00
Collin Jackson
9bc23d722e Prevent the fitness app from asserting when there’s no data yet 2015-08-24 14:23:26 -07:00
Collin Jackson
a6d111deb8 Merge pull request #765 from collinjackson/typography_colors
Fix typography to use opacity instead of color value
2015-08-24 14:17:40 -07:00
Ian Fischer
d8c97c46f3 Make sky_tool listen work on Linux. 2015-08-24 13:46:37 -07:00
Hans Muller
c21fcf6210 Support ScrollableLists that wrap
Adds itemsWrap:bool (default false) to ScrollableList and PageableList. If itemsWrap is true then scrolling past the last item wraps around to the first. Similarly, scrolling before the first item wraps around to the last.

Added abstract ExtentScrollBehavior of ScrollBehavior. Renamed fields called contentsExtents to contentExtent, containerExtents to containerExtent, contentSize to contentExtent, etc.

BoundedBehavior is now a subclass of ExtentScrollBehavior.

Added UnboundedBehavior subclass of ExtentScrollBehvaior; contentExtent and maxScrollOffset are double.INFINITY, minScrollExtent is double.NEGATIVE_INFINITY.
2015-08-24 13:22:08 -07:00
Adam Barth
d7ed623ea6 Merge pull request #774 from abarth/add_listener
Add GlobalKey.registerAddListener
2015-08-24 12:56:28 -07:00
Adam Barth
16328cc875 Add GlobalKey.registerSyncListener
This lets clients listen for when a widget with a given global key goes through
a sync operation. We'll need this for mimic to track its mimicable when it
moves around the tree.
2015-08-24 12:55:55 -07:00
Collin Jackson
c8bc9d5613 Fix typography to use opacity instead of color value 2015-08-24 12:51:32 -07:00
Hans Muller
a61f0f5021 RenderObject.flushLayout should loop until _nodesNeedingLayout is empty 2015-08-24 12:49:41 -07:00
Adam Barth
9a493c15e9 Update box_painter.dart 2015-08-22 13:44:40 -07:00
Adam Barth
627b049216 Address review comments from #767
Mostly formating and removing arguments with default values.
2015-08-22 11:25:53 -07:00
Adam Barth
5d99f31c04 Merge pull request #767 from abarth/modernize_drawer_item
DrawerItem, DrawerHeader should take a child instead of children
2015-08-22 08:46:12 -07:00
Adam Barth
2873880f50 Fix analyzer warnings 2015-08-22 08:24:02 -07:00
Adam Barth
18248543cb DrawerItem, DrawerHeader should take a child instead of children
These widgets were designed in CSS where you need to specify a layout model for
your children. This patch updates them to the modern style of just taking a
unique child.

Fixes #755
2015-08-22 08:19:38 -07:00
Ian Hickson
89c1144718 Merge pull request #762 from Hixie/flex-bug
Reimplement 'stretch' for flexible items correctly.
2015-08-21 20:05:50 -07:00
Adam Barth
b61fe238f5 Rename syncFields to syncConstructorArguments 2015-08-21 17:21:42 -07:00
Adam Barth
dc7137b0ba Merge pull request #763 from abarth/scroll_gravity
Cleanup how we manage scrollOffset in Scrollable
2015-08-21 17:06:13 -07:00
Adam Barth
d3eaff2765 Cleanup how we manage scrollOffset in Scrollable
- Introduce _setScrollOffset as a backend for the animations so that scrollTo
   can stop animations.

 - Create a single function that stops both kinds of scroll animations.

 - Refactor how we update the bounds for bounded scroll behaviors so that we
   update the bounds and compute the new scroll offset at the same time.
2015-08-21 17:05:29 -07:00
Hixie
d81ec90c5f Reimplement 'stretch' for flexible items correctly.
Fixes #698 to actually work.
Also, adds some debugging aids around Flex.
And a test to check this fix.
2015-08-21 16:47:44 -07:00
Collin Jackson
ca42e8865d Merge pull request #747 from collinjackson/fitness_loading
Don’t flash a message while fitness data is loading
2015-08-21 16:21:05 -07:00
Adam Barth
010589be9e Rename all the scrollable classes
Block -> BlockBody
ScrollableBlock -> Block
FixedHeightScrollable -> ScrollableWidgetList
VariableHeightScrollable -> ScrollableMixedWidgetList
BlockViewport -> MixedViewport
2015-08-21 14:39:41 -07:00
Adam Barth
546a3acf0e Add missing file 2015-08-21 12:59:38 -07:00
Adam Barth
51c7194075 Add SetRequestedOrientation to Activity service
Fixes #743
2015-08-21 12:49:49 -07:00
Collin Jackson
d75fb40585 Don’t flash a message while fitness data is loading 2015-08-21 11:19:26 -07:00
Adam Barth
e95aee2715 Add the ability to draw borders on circles
We now support uniform borders on circular box decorations.

Fixes #741
2015-08-21 10:48:28 -07:00
Adam Barth
ac7c3a00fa Migrate RenderBox tests to box_test.dart 2015-08-21 10:18:48 -07:00
Adam Barth
855b8eb225 Merge pull request #740 from abarth/migrate_more_tests
Migrate sky/tests/layout to sky/unit/test
2015-08-21 10:02:38 -07:00
Adam Barth
ccd00bc5c2 Migrate sky/tests/layout to sky/unit/test
Also, I've organized the tests by the render object they're testing.
2015-08-21 10:01:58 -07:00
Ian Fischer
ce877f0926 Merge pull request #719 from iansf/add_listen_command
Add listen command to sky_tool, and related changes.
2015-08-21 09:54:04 -07:00
Ian Fischer
96c5d075aa Make sky_tool install to ios devices and simulators if available, and add a ‘listen’ command that will listen to filesystem changes in the current directory and update running versions of the app.
Also refactors ios_sim.py to be part of sky_tool.

The current skyx file that ‘listen’ generates does not contain material design icons, so icons will be missing.
2015-08-21 09:53:35 -07:00
Adam Barth
c7f528dab8 Migrate some tests to sky/unit/test 2015-08-21 09:13:52 -07:00
Adam Barth
b64e1aaba8 Introduce sky/unit/test
This patch adds a new test harness and a first, trivial test to run with the
harness. The new test harness is built on package:test and should run on
Travis. Over time, we'll migrate our existing tests into this harness.
2015-08-20 21:01:13 -07:00
Collin Jackson
1c06ea17a3 Fix #721 Dialogs should appear in place rather than animating in from bottom 2015-08-20 17:04:13 -07:00
Hixie
dda253bb29 Reorder bootstrapping code in rendering/ for slightly cleaner code. 2015-08-20 15:31:10 -07:00
Hixie
cf03afcd67 Fix compile error on trunk. 2015-08-20 15:05:01 -07:00
Hixie
79a9e670a2 Rewrite the MultiChildRenderObjectWrapper syncing algorithm.
This also changes the way we insert nodes into a
MultiChildRenderObjectWrapper's renderObject, which fixes issue #626.
Now, instead of the slot being a renderObject, it's the Widget that
currently uses that renderObject. That way when the Widget changes
which renderObject to use, the siblings of that Widget in the same
child list don't have to be notified of the change.

I tested performance of the new algorithm vs the old algorithm using
the stocks demo at idle and the stocks demo scrolling steadily. The
data suggests the algorithms are roughly equivalent in performance.
2015-08-20 14:56:04 -07:00
Adam Barth
5de9b52b1d Rename Component._built to Component._child
Rationalizes this name with walkChildren.
2015-08-20 14:17:08 -07:00
Adam Barth
2db1f59c74 Remove Widget.removeChild
This function just calls remove(). Also, have Widget do the recursive remove
walk by calling walkChildren.
2015-08-20 13:59:02 -07:00