Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(770)

Side by Side Diff: sky/sdk/example/fitness/lib/settings.dart

Issue 1213603006: Initial fitness app (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: abarth cr feedback Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/sdk/example/fitness/lib/measurement.dart ('k') | sky/sdk/example/fitness/pubspec.yaml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 import 'package:sky/widgets/basic.dart';
6 import 'package:sky/widgets/switch.dart';
7 import 'package:sky/widgets/icon_button.dart';
8 import 'package:sky/widgets/material.dart';
9 import 'package:sky/widgets/menu_item.dart';
10 import 'package:sky/widgets/navigator.dart';
11 import 'package:sky/widgets/scaffold.dart';
12 import 'package:sky/widgets/tool_bar.dart';
13 import 'package:sky/widgets/theme.dart';
14
15 import 'fitness_types.dart';
16
17 typedef void SettingsUpdater({
18 BackupMode backup
19 });
20
21 class SettingsFragment extends Component {
22
23 SettingsFragment(this.navigator, this.backup, this.updater);
24
25 final Navigator navigator;
26 final BackupMode backup;
27 final SettingsUpdater updater;
28
29 bool showModeDialog = false;
30
31 void _handleBackupChanged(bool value) {
32 if (updater != null)
33 updater(backup: value ? BackupMode.enabled : BackupMode.disabled);
34 }
35
36 Widget buildToolBar() {
37 return new ToolBar(
38 left: new IconButton(
39 icon: 'navigation/arrow_back_white',
40 onPressed: navigator.pop),
41 center: new Text('Settings')
42 );
43 }
44
45 Widget buildSettingsPane() {
46 return new Material(
47 type: MaterialType.canvas,
48 child: new Container(
49 padding: const EdgeDims.symmetric(vertical: 20.0),
50 child: new Block([
51 new MenuItem(
52 onPressed: () { _handleBackupChanged(!(backup == BackupMode.enabled) ); },
53 children: [
54 new Flexible(child: new Text('Back up data to the cloud')),
55 new Switch(value: backup == BackupMode.enabled, onChanged: _handle BackupChanged)
56 ]
57 ),
58 new MenuItem(
59 children: [
60 new Block([
61 new Text('Height'),
62 new Text("6'2\"", style: Theme.of(this).text.caption),
63 ])
64 ]
65 ),
66 ])
67 )
68 );
69 }
70
71 Widget build() {
72 return new Scaffold(
73 toolbar: buildToolBar(),
74 body: buildSettingsPane()
75 );
76 }
77 }
OLDNEW
« no previous file with comments | « sky/sdk/example/fitness/lib/measurement.dart ('k') | sky/sdk/example/fitness/pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698