859 Commits

Author SHA1 Message Date
Adam Barth
cefbfa3bea Port Date Picker example to fn3 2015-09-24 14:46:29 -07:00
Adam Barth
878775bb89 Port big_switch.dart to fn3 2015-09-24 13:29:40 -07:00
Adam Barth
0206f1a65d Port PopupMenu to fn3
This changes how PopupMenu works slightly because there's no long an onPressed
callback on PopupMenuItem. Instead, callers should use showPopupMenu.
2015-09-24 12:57:50 -07:00
Adam Barth
82dd9d65df Port scaffold to fn3 2015-09-24 12:57:44 -07:00
Adam Barth
9f176fc86e Port widgets that depend on scrolling to fn3 2015-09-24 11:13:57 -07:00
Adam Barth
042f49a711 Rev pub package 2015-09-24 10:48:07 -07:00
Adam Barth
01f1351d3e Merge pull request #1321 from jamesr/update_for_sky_services_roll
Updates for change in Mojom dart enum generation
2015-09-24 10:42:36 -07:00
James Robinson
9809130029 Updates for change in Mojom dart enum generation 2015-09-24 10:35:20 -07:00
Adam Barth
2ce5a0c5bc Merge pull request #1319 from abarth/fn3_scrollable
Port most of scrollable.dart to fn3
2015-09-24 10:32:31 -07:00
Adam Barth
0d63d6b775 Port most of scrollable.dart to fn3 2015-09-24 10:26:27 -07:00
Adam Barth
8bcad76384 Port Focus and Navigator-based widgets to fn3 2015-09-24 09:36:08 -07:00
Adam Barth
93ae1f287e Port transitions.dart to fn3 2015-09-23 21:51:13 -07:00
Adam Barth
e7bc8f57d3 Merge pull request #1313 from abarth/fn3_drawer
Port some drawer and button widgets to fn3
2015-09-23 20:27:21 -07:00
James Robinson
7c854e121b Merge pull request #1317 from jamesr/roll_pubspec_and_mojo_sdk
Update to Mojo 4e4d51ce28a8edcb32b9c7f555e38e2ae84a825e, update deps
2015-09-23 17:58:54 -07:00
Ian Hickson
eb323dbedc Merge pull request #1315 from Hixie/PointerEventListenerCollision
Fix the minedigger game.
2015-09-23 17:34:55 -07:00
James Robinson
e854d7457d Update to Mojo 4e4d51ce28a8edcb32b9c7f555e38e2ae84a825e, update deps
This updates to mojo 4e4d51ce28a and mojo sdk 711a0bcfb141b4 and updates the sky
package's pubspec.yaml dependency to '>=0.1.0 <0.2.0' to be compatible with
the current mojo package. This includes an update to the Mojo Dart generator to
produce real classes for enums and the corresponding updates for users of the
KeyboardType enum in Sky as well as one scoped_ptr->std::unique_ptr in shell
corresponding to a change in the Mojo EDK.

When a new version of the sky and sky_services package are pushed this will fix
domokit/mojo#440.
2015-09-23 17:26:46 -07:00
Hixie
00d0a44f09 Fix the minedigger game.
Remove the Widgets framework's PointerEventListener definition now that
the Rendering layer has one. It was previously clashing in files that
imported both, which would result in it being hidden. Turns out
MineDigger is the only example that this affects.
2015-09-23 16:50:50 -07:00
Jeff Brown
307b1bfdbc Only pointers which are down should be tracked.
This change ensures that we only store the results of a hit
test on the initial pointer down event.  Moreover, we perform
new hit tests each time a hovering pointer moves.  This is
important to ensure correct behavior of input devices which can
hover, such as mice.

Previously the first hover movement after releasing a mouse
button would cause a new pointer state to be recorded along with
hit test results for wherever the pointer happened to be which
caused the following pointer down event to be delivered to the
wrong place.

Fixes issue #1189.
2015-09-23 16:48:14 -07:00
Hixie
ea45169083 fn3: Port HomogeneousViewport 2015-09-23 16:21:13 -07:00
Adam Barth
c734234631 Port some drawer and button widgets to fn3 2015-09-23 16:02:56 -07:00
Adam Barth
1836ca6172 Merge pull request #1308 from abarth/fn3_drag_target
Port DragTarget to fn3
2015-09-23 15:44:54 -07:00
Adam Barth
87107494c1 Port DragTarget to fn3 2015-09-23 15:44:40 -07:00
Ian Fischer
2a7c7b085a Merge pull request #1306 from chinmaygarde/master
Fix sky_tool start/listen on iOS
2015-09-23 13:53:18 -07:00
Adam Barth
ec92aca869 Port more widgets to fn3 2015-09-23 13:36:18 -07:00
Chinmay Garde
cb6b303996 Fix sky_tool start/listen on iOS 2015-09-23 12:54:29 -07:00
Adam Barth
da2ee9129a Port some widgets to fn3 2015-09-23 11:26:55 -07:00
Hixie
6ea86b6a2f fn3: Listener
In this new world, Listener is just a wrapper around a node in the
render tree that hooks directly into the event handling logic.
2015-09-23 11:22:51 -07:00
Hixie
b3ebd4406b Expose _descendantRenderObject as 'renderer'
This allows people to use localToGlobal and company.
2015-09-23 11:13:45 -07:00
Adam Barth
fa119c38b9 Add tests for ParentData 2015-09-23 10:59:49 -07:00
Adam Barth
82e8e3f079 Rev pub package 2015-09-23 10:38:25 -07:00
Hixie
2a5fad937b fn3: Minor cleanup
- Remove the unique objects used as slots since we decided 'null' was
  fine after all
- Rename 'slot' to 'newSlot' when it's used as an argument to change the
  _slot field, to clarify which variable has the newer value
- Remove the RenderObject registry since we'll do listeners a different
  way. This also removes handleEvent for the same reason.
- Remove the TODOs for mount/unmount becoming didMount/didUnmount since
  the methods do in fact do the mounting/unmounting.
2015-09-23 09:24:13 -07:00
Hixie
555138e60e fn3: Binding to RenderView
In the old world, we had two ways to bind a Widget tree to a
RenderObject node, one way for RenderView and one mostly untested way
for other cases (it's only tested by the spinning_mixed.dart demo). For
fn3, I made these the same code path.

This patch also introduces GlobalKey, though the GlobalKey logic isn't
hooked in yet.

This is Hello World in the new world:

```dart
import 'package:sky/src/fn3.dart';

void main() {
  runApp(new Text('Hello World!'));
}
```
2015-09-23 09:12:01 -07:00
Adam Barth
8b162b5950 Add tests for MultiChildRenderWidget 2015-09-23 08:52:15 -07:00
Adam Barth
436fb0ee5f Add support for multichild widgets to fn3 2015-09-22 17:52:40 -07:00
Adam Barth
de70bd950b Merge pull request #1291 from abarth/fn2_tag_widgets
Add TagWidget to fn3
2015-09-22 16:14:36 -07:00
Adam Barth
fb4a87ad68 Add ParentDataWidget and InheritedWidget to fn3 2015-09-22 16:07:27 -07:00
Hans Muller
d9cb525146 bumped newton to version 0.1.3 2015-09-22 16:00:21 -07:00
Hans Muller
0597d8acb8 Merge pull request #1286 from HansMuller/limit_scrolling_animation
Currently, fling scrolls animate far too long after the display has effectively stopped moving. Use the ScrollSimulation's tolerance property to stop the scrolling roughly when the display stops changing.
2015-09-22 15:48:24 -07:00
Hixie
5fb2cb3297 Fix warnings and build errors
Fixes errors from #1285 and #1281.
2015-09-22 15:32:41 -07:00
Hans Muller
abd7059ffa Set simulation tolerance field 2015-09-22 15:08:13 -07:00
Hans Muller
720a913e10 replace endDistance and endVelocity parameters with tolerance 2015-09-22 14:50:27 -07:00
Hans Muller
461b191487 Added velocity and distance thresholds to ScrollSimulation, ScrollBehavior 2015-09-22 13:34:57 -07:00
Hixie
b73b06e4ad fn3: Add a binding for fn3 and sky.
- I extracted the BuildScheduler into a separate binding.dart file.
- Various changes to expose private members that are needed by
  binding.dart.
- Registering the render objects for event dispatch.
- Convert the tests to use the new binding mechanism.

This doesn't yet have a RenderView or event handling.
2015-09-22 12:30:37 -07:00
Adam Barth
8eb8c47a2d Add CustomPaint and few other basic widgets to fn3
We'll need tag nodes before finishing Flex and Stack.
2015-09-22 11:26:20 -07:00
Ian Hickson
61d0ca7779 Merge pull request #1280 from Hixie/block
Fix scrolling of Block.
2015-09-22 10:43:22 -07:00
Hixie
59f7e7f08e Fix scrolling of Block.
Since our build function depends on scrollBehavior.isScrollable, any
time we update scrollBehavior we are implicitly updating our state. As
such, we must do so during a setState() call, or else we won't rebuild
and might not bother to listen to the scroll gestures.

This probably broke when we made Block not listen to gestures if it
wasn't overflowing.
2015-09-22 10:36:34 -07:00
Adam Barth
ff5862475a Add a number of basic widgets to fn3
There are some TODOs in this file that I'll address in the next patch.
2015-09-22 10:27:28 -07:00
Adam Barth
244fdab0b1 Merge pull request #1279 from Hixie/fn3
More dartdocs for fn3, refactor buildDirtyElements
2015-09-22 09:41:38 -07:00
Jason Simmons
963fb41334 Merge pull request #1245 from jason-simmons/editable_text_initial_blink
Ensure that EditableText always shows a cursor
2015-09-22 09:29:52 -07:00
Hixie
de62f1b69a More dartdocs for fn3, refactor buildDirtyElements
The buildDirtyElements() method now enforces that we only build deeper
nodes and never go back to build higher nodes during a frame.
2015-09-22 09:20:30 -07:00