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

Side by Side Diff: sky/sdk/example/stocks/lib/main.dart

Issue 1214113006: Add a new item to the settings page to show off the switch widget. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: 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 | « no previous file | sky/sdk/example/stocks/lib/stock_settings.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import 'package:sky/theme/colors.dart' as colors; 5 import 'package:sky/theme/colors.dart' as colors;
6 import 'package:sky/widgets/basic.dart'; 6 import 'package:sky/widgets/basic.dart';
7 import 'package:sky/widgets/navigator.dart'; 7 import 'package:sky/widgets/navigator.dart';
8 import 'package:sky/widgets/theme.dart'; 8 import 'package:sky/widgets/theme.dart';
9 import 'package:sky/widgets/widget.dart'; 9 import 'package:sky/widgets/widget.dart';
10 10
11 import 'stock_data.dart'; 11 import 'stock_data.dart';
12 import 'stock_home.dart'; 12 import 'stock_home.dart';
13 import 'stock_settings.dart'; 13 import 'stock_settings.dart';
14 import 'stock_types.dart'; 14 import 'stock_types.dart';
15 15
16 class StocksApp extends App { 16 class StocksApp extends App {
17 17
18 NavigationState _navigationState; 18 NavigationState _navigationState;
19 StocksApp() { 19 StocksApp() {
20 _navigationState = new NavigationState([ 20 _navigationState = new NavigationState([
21 new Route( 21 new Route(
22 name: '/', 22 name: '/',
23 builder: (navigator, route) => new StockHome(navigator, _stocks, stockMo de, modeUpdater) 23 builder: (navigator, route) => new StockHome(navigator, _stocks, optimis mSetting, modeUpdater)
24 ), 24 ),
25 new Route( 25 new Route(
26 name: '/settings', 26 name: '/settings',
27 builder: (navigator, route) => new StockSettings(navigator, stockMode, s ettingsUpdater) 27 builder: (navigator, route) => new StockSettings(navigator, optimismSett ing, backupSetting, settingsUpdater)
28 ), 28 ),
29 ]); 29 ]);
30 } 30 }
31 31
32 void onBack() { 32 void onBack() {
33 setState(() { 33 setState(() {
34 _navigationState.pop(); 34 _navigationState.pop();
35 }); 35 });
36 // TODO(jackson): Need a way to invoke default back behavior here 36 // TODO(jackson): Need a way to invoke default back behavior here
37 } 37 }
38 38
39 StockMode stockMode = StockMode.optimistic; 39 StockMode optimismSetting = StockMode.optimistic;
40 void modeUpdater(StockMode value) { 40 BackupMode backupSetting = BackupMode.disabled;
41 void modeUpdater(StockMode optimism) {
41 setState(() { 42 setState(() {
42 stockMode = value; 43 optimismSetting = optimism;
43 }); 44 });
44 } 45 }
45 void settingsUpdater({StockMode mode}) { 46 void settingsUpdater({ StockMode optimism, BackupMode backup }) {
46 setState(() { 47 setState(() {
47 if (mode != null) 48 if (optimism != null)
48 stockMode = mode; 49 optimismSetting = optimism;
50 if (backup != null)
51 backupSetting = backup;
49 }); 52 });
50 } 53 }
51 54
52 final List<Stock> _stocks = []; 55 final List<Stock> _stocks = [];
53 void didMount() { 56 void didMount() {
54 super.didMount(); 57 super.didMount();
55 new StockDataFetcher((StockData data) { 58 new StockDataFetcher((StockData data) {
56 setState(() { 59 setState(() {
57 data.appendTo(_stocks); 60 data.appendTo(_stocks);
58 }); 61 });
59 }); 62 });
60 } 63 }
61 64
62 Widget build() { 65 Widget build() {
63 66
64 ThemeData theme; 67 ThemeData theme;
65 if (stockMode == StockMode.optimistic) { 68 if (optimismSetting == StockMode.optimistic) {
66 theme = new ThemeData.light( 69 theme = new ThemeData.light(
67 primary: colors.Purple, 70 primary: colors.Purple,
68 accent: colors.RedAccent, 71 accent: colors.RedAccent,
69 darkToolbar: true 72 darkToolbar: true
70 ); 73 );
71 } else { 74 } else {
72 theme = new ThemeData.dark( 75 theme = new ThemeData.dark(
73 primary: colors.Red, 76 primary: colors.Red,
74 accent: colors.PurpleAccent 77 accent: colors.PurpleAccent
75 ); 78 );
76 } 79 }
77 80
78 return new Theme( 81 return new Theme(
79 data: theme, 82 data: theme,
80 child: new Navigator(_navigationState) 83 child: new Navigator(_navigationState)
81 ); 84 );
82 } 85 }
83 } 86 }
84 87
85 void main() { 88 void main() {
86 runApp(new StocksApp()); 89 runApp(new StocksApp());
87 } 90 }
OLDNEW
« no previous file with comments | « no previous file | sky/sdk/example/stocks/lib/stock_settings.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698