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

Unified 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 side-by-side diff with in-line comments
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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/sdk/example/fitness/lib/settings.dart
diff --git a/sky/sdk/example/fitness/lib/settings.dart b/sky/sdk/example/fitness/lib/settings.dart
new file mode 100644
index 0000000000000000000000000000000000000000..c76f69e9fa6d7c56768add42f45550169db6dadf
--- /dev/null
+++ b/sky/sdk/example/fitness/lib/settings.dart
@@ -0,0 +1,77 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:sky/widgets/basic.dart';
+import 'package:sky/widgets/switch.dart';
+import 'package:sky/widgets/icon_button.dart';
+import 'package:sky/widgets/material.dart';
+import 'package:sky/widgets/menu_item.dart';
+import 'package:sky/widgets/navigator.dart';
+import 'package:sky/widgets/scaffold.dart';
+import 'package:sky/widgets/tool_bar.dart';
+import 'package:sky/widgets/theme.dart';
+
+import 'fitness_types.dart';
+
+typedef void SettingsUpdater({
+ BackupMode backup
+});
+
+class SettingsFragment extends Component {
+
+ SettingsFragment(this.navigator, this.backup, this.updater);
+
+ final Navigator navigator;
+ final BackupMode backup;
+ final SettingsUpdater updater;
+
+ bool showModeDialog = false;
+
+ void _handleBackupChanged(bool value) {
+ if (updater != null)
+ updater(backup: value ? BackupMode.enabled : BackupMode.disabled);
+ }
+
+ Widget buildToolBar() {
+ return new ToolBar(
+ left: new IconButton(
+ icon: 'navigation/arrow_back_white',
+ onPressed: navigator.pop),
+ center: new Text('Settings')
+ );
+ }
+
+ Widget buildSettingsPane() {
+ return new Material(
+ type: MaterialType.canvas,
+ child: new Container(
+ padding: const EdgeDims.symmetric(vertical: 20.0),
+ child: new Block([
+ new MenuItem(
+ onPressed: () { _handleBackupChanged(!(backup == BackupMode.enabled)); },
+ children: [
+ new Flexible(child: new Text('Back up data to the cloud')),
+ new Switch(value: backup == BackupMode.enabled, onChanged: _handleBackupChanged)
+ ]
+ ),
+ new MenuItem(
+ children: [
+ new Block([
+ new Text('Height'),
+ new Text("6'2\"", style: Theme.of(this).text.caption),
+ ])
+ ]
+ ),
+ ])
+ )
+ );
+ }
+
+ Widget build() {
+ return new Scaffold(
+ toolbar: buildToolBar(),
+ body: buildSettingsPane()
+ );
+ }
+}
« 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