2992 Commits

Author SHA1 Message Date
Adam Barth
853c42fc08 Merge pull request #677 from abarth/behavior
Rename _updateScrollBehaviour to _updateScrollBehavior
2015-12-02 10:20:29 -08:00
Adam Barth
4f43a782c8 Rename _updateScrollBehaviour to _updateScrollBehavior
Fixes #675
2015-12-02 09:51:09 -08:00
Ian Hickson
d5e072c35b Fix crash when going back in stocks app.
Heroes with the same tag have to have keys that are unique across the
entire subtree. Since we can now show both stock lists, this means we
have to include the tab in the heroes' keys.

Fixes #668.
2015-12-01 22:54:11 -08:00
Florian Loitsch
018bcbf2d9 Remove animation scheduler. 2015-12-01 20:36:52 -08:00
Florian Loitsch
43e1dc9db4 Merge pull request #662 from floitschG/scheduler.merge_schedulers
Merge the two schedulers.
2015-12-01 19:41:17 -08:00
Florian Loitsch
10c80f2e1a Merge the two schedulers. 2015-12-01 17:48:38 -08:00
Jason Simmons
79fd04de1a Initialize the track color fields in _RenderSwitch 2015-12-01 16:39:38 -08:00
Ian Hickson
fbd612e662 Remove the assert when opening popup menus.
Some paint bounds are in fact empty, e.g. at the start of a growing
animation if there's also a fade, the initial 0x0 box will also be
opacity:0, and might get a dedicated layer and PaintingContext.
2015-12-01 01:52:25 -08:00
Ian Hickson
ee802bfe31 Model ink splashes more physically 2015-12-01 01:36:11 -08:00
Adam Barth
366d078dcb Merge pull request #647 from abarth/update_test
Update package:test to the latest version
2015-11-30 21:31:18 -08:00
Adam Barth
f41869f639 Update package:test to the latest version 2015-11-30 18:41:10 -08:00
Adam Barth
4e6b5267d3 Makes it easier to hit IconButton
The right fix here is to use a radial reaction, but for now we can just make
the gesture detector including the padding acround the icon in its hit test
region.

Fixes #575
2015-11-30 17:38:26 -08:00
Adam Barth
6067b306dd Fix Input padding to match the material spec
Also, handle the case of "dense" input widgets that have less margin.

Fixes #626
2015-11-30 17:05:50 -08:00
Adam Barth
6fbe39e256 Merge pull request #645 from abarth/hide_text
Add input#hideText
2015-11-30 17:05:02 -08:00
Adam Barth
179d191e3a Add input#hideText
This feature can be used to implement password fields, where the user doesn't
want the text displayed on screen. Currently all the characters are hidden.
Eventualy we'll want to show the most recent character for some timeout.

Fixes #636
2015-11-30 16:56:38 -08:00
Hixie
f9ea1ce815 NavigatorTransaction
To make it easier to avoid pushing twice in one frame, provide a
transaction mechanism for the navigator.
2015-11-30 15:24:36 -08:00
Adam Barth
97cca4d47b Merge pull request #639 from abarth/default_enter_exit
Add a default onEnter/onExit for EnterExitTransition
2015-11-30 15:13:18 -08:00
Adam Barth
6f17228e43 Merge pull request #634 from abarth/popup_menu_align
PopupMenu shouldn't use CustomPaint
2015-11-30 15:13:02 -08:00
Adam Barth
e0f35a5f0d Add a default onEnter/onExit for EnterExitTransition
We now default to the identity transition.
2015-11-30 14:58:56 -08:00
Adam Barth
114135aadb Merge pull request #633 from abarth/fling_sheet_up
Bottom sheets shouldn't dismiss when flung up
2015-11-30 14:24:30 -08:00
Adam Barth
c810b0501f PopupMenu shouldn't use CustomPaint
Align is now powerful enough to do all the work we need to do here.
2015-11-30 14:23:14 -08:00
Ian Hickson
2f0e8eb1d7 Merge pull request #632 from Hixie/yak2-navigator-remove
New methods for manipulating Navigators.
2015-11-30 13:41:24 -08:00
Adam Barth
4472d06e02 Update engine 2015-11-30 13:37:06 -08:00
Adam Barth
7192dbb1c6 Bottom sheets shouldn't dismiss when flung up 2015-11-30 13:36:10 -08:00
Hixie
ce6a10412c New methods for manipulating Navigators.
* NavigatorState.replaceRouteBefore()
* NavigatorState.removeRouteBefore()
* NavigatorState.popUntil()
2015-11-30 13:33:15 -08:00
Hixie
d12539793a Add a "replace()" API for the navigator.
This lets you dynamically replace one route with another.
2015-11-30 12:42:55 -08:00
Hans Muller
9de4df1e8b TabNavigator animates selected TabView
The TabBar's selection is now represented by a TabBarSelection object which encapsulates both the previous and currently selected indices and the Performance used to animate the selection indicator.

Added a TabBarView class which displays a tab's contents. It uses a shared TabBarSelection to stay in sync with a TabBar. The TabBarView scrolls in sync with the TabBar when the selection changes. Eventually it will allow one to fling the selection forward or backwards.

Added a tabBar property to ToolBar. Typically the corresponding TabBarView will be the body of the toolbar's Scaffold.

Removed TabNavigatorView and TabNavigator.

Added a widget gallery tabs demo page. Removed the old tabs demo.
2015-11-30 12:13:17 -08:00
Adam Barth
33ca330797 Remove two unused imports 2015-11-26 19:20:30 -08:00
Adam Barth
3fbfe732f4 Properly paint disabled switches
Also, refactor more common code into RenderToggleable and handle dark themes
more correctly.

Fixes #601
2015-11-26 11:50:15 -08:00
Adam Barth
3f06da0eaa Improve Material selection controls
- These controls now have proper radial reactions.
 - You can drag the switch.
 - The radio button animates properly.
 - There's a demo in the Material Gallery
2015-11-26 01:54:34 -08:00
Adam Barth
09cf84d9b6 Move RenderTogglable to material.dart
Fixes #219
2015-11-25 23:15:17 -08:00
Ian Hickson
77cf420aab Merge pull request #597 from Hixie/fractional-offset-operators
Operators needed to lerp a FractionalOffset.
2015-11-25 18:07:49 -08:00
Ian Hickson
6e73bbcc99 Merge pull request #595 from Hixie/trivial-cleanup
Fix minor typos and style nits.
2015-11-25 18:07:33 -08:00
Hixie
a03757e443 Operators needed to lerp a FractionalOffset.
Without this, you can't use AnimatedValue<FractionalOffset>, because its
lerp() function uses the operators.
2015-11-25 17:15:00 -08:00
Hixie
993a41a452 Fix minor typos and style nits. 2015-11-25 17:03:37 -08:00
Hixie
4e513822ef Turn the LocalHistoryRoute into a mixin. 2015-11-25 17:00:05 -08:00
Hixie
88e74693ae Clean up the Navigator API again.
* Split didPush() into didPush() and install(), so that we can install
  the overlays without triggering the push logic. This will be used in a
  subsequent patch to implement route replacement.

* Split didPop() into didPop() and dispose(), so that we can remove
  overlays without triggering the pop logic. Also for a subsequent patch
  that implements replacement.

* Clean up _navigator on the routes when the Navigator itself is
  disposed.

* Drop the forwarding logic on willPushNext() -- now didPushNext() --
  and didPopNext(), since we no longer have StateRoutes to get in the
  way.

* Implement isCurrent more broadly and without having to keep track of
  state.

* Provide some toString()s on NamedRouteSettings and ModalRoutes.

* Make OverlayState.initState() use the insertAl functionality.

* Make OverlayRoute.builders abstract since that way you'll catch when
  you forget to do it. If you don't want overlays, don't inherit from
  this class.

* Made handleStatusChanged() on TransitionRoute public so that it can be
  overridden by subclasses.
2015-11-25 16:30:46 -08:00
Adam Barth
4fa24f5695 Animate slider radial reaction
Also, have the slider draw different in its disabled state.
2015-11-25 15:01:36 -08:00
Adam Barth
abce0533b4 Merge pull request #587 from abarth/sliders
Add a basic material slider
2015-11-25 12:34:09 -08:00
Adam Barth
0c0ae4a1a2 Merge pull request #584 from abarth/time_picker
Finish TimePicker
2015-11-25 12:31:10 -08:00
Adam Barth
e9d911f5ea Add a basic material slider
The slider in this patch works, but it's missing animations and many subtle
touches.
2015-11-25 12:27:57 -08:00
Adam Barth
72d2706ee1 Finish TimePicker
After this patch, TimePicker should work correctly.

Fixes #559
2015-11-25 11:17:54 -08:00
Hixie
9c5c511517 Opacity was dropping stuff on the floor.
Turns out we passed the wrong bounds to the PaintingContext constructor.

Fix, and assert that we don't do that again.
2015-11-25 11:00:02 -08:00
Hixie
b5c9d275dd Rev the engine dependency to the latest engine. 2015-11-25 10:59:20 -08:00
Adam Barth
860547c1d4 Add support for system-level routing
Now you can supply a route argument to flutter start:

  $ flutter start --route /foo

which will start the app at /foo instead of /.
2015-11-24 16:13:20 -08:00
Adam Barth
9f034562f3 Update to a new engine release 2015-11-24 15:19:28 -08:00
Adam Barth
717b921194 Teach the TimerPicker how to pick a time
The TimePicker can now actually pick a time. However, it doesn't understand AM
or PM and there's lots of visual polish missing.
2015-11-24 12:48:33 -08:00
Hixie
8218a13aa4 Remove StateRoutes 2015-11-24 10:31:01 -08:00
Adam Barth
58f056da68 Pin package:test to an exact revision
We use a number of non-public APIs in the test package, which makes our
dependency quite fragile. This patch pins a specific, known-good version. We
should update to the lastest version in a follow-up patch.
2015-11-24 09:22:11 -08:00
Adam Barth
f91c3dfb7e Merge pull request #562 from abarth/time_picker
Start working on a TimePicker
2015-11-23 21:01:18 -08:00