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

Side by Side Diff: sky/examples/widgets/sector.dart

Issue 1194743003: Add a new Theme widget to control color and text color of apps (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: rebase Created 5 years, 6 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/examples/stocks2/lib/stock_settings.dart ('k') | sky/examples/widgets/styled_text.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 'dart:math' as math; 5 import 'dart:math' as math;
6 6
7 import 'package:sky/rendering/box.dart'; 7 import 'package:sky/rendering/box.dart';
8 import 'package:sky/rendering/flex.dart'; 8 import 'package:sky/rendering/flex.dart';
9 import 'package:sky/rendering/sky_binding.dart'; 9 import 'package:sky/rendering/sky_binding.dart';
10 import 'package:sky/theme/colors.dart'; 10 import 'package:sky/theme/colors.dart' as colors;
11 import 'package:sky/theme/edges.dart'; 11 import 'package:sky/theme/edges.dart';
12 import 'package:sky/theme/typography.dart'; 12 import 'package:sky/theme/theme_data.dart';
13 import 'package:sky/theme/typography.dart' as typography;
13 import 'package:sky/widgets/basic.dart'; 14 import 'package:sky/widgets/basic.dart';
14 import 'package:sky/widgets/material.dart'; 15 import 'package:sky/widgets/material.dart';
15 import 'package:sky/widgets/raised_button.dart'; 16 import 'package:sky/widgets/raised_button.dart';
16 import 'package:sky/widgets/scaffold.dart'; 17 import 'package:sky/widgets/scaffold.dart';
18 import 'package:sky/widgets/theme.dart';
17 import 'package:sky/widgets/tool_bar.dart'; 19 import 'package:sky/widgets/tool_bar.dart';
18 import 'package:sky/widgets/widget.dart'; 20 import 'package:sky/widgets/widget.dart';
19 21
20 import '../rendering/sector_layout.dart'; 22 import '../rendering/sector_layout.dart';
21 23
22 RenderBox initCircle() { 24 RenderBox initCircle() {
23 return new RenderBoxToRenderSectorAdapter( 25 return new RenderBoxToRenderSectorAdapter(
24 innerRadius: 25.0, 26 innerRadius: 25.0,
25 child: new RenderSectorRing(padding: 0.0) 27 child: new RenderSectorRing(padding: 0.0)
26 ); 28 );
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 void updateEnabledState() { 69 void updateEnabledState() {
68 setState(() { 70 setState(() {
69 var ring = (sectors.child as RenderSectorRing); 71 var ring = (sectors.child as RenderSectorRing);
70 SectorDimensions currentSize = ring.getIntrinsicDimensions(const SectorCon straints(), ring.deltaRadius); 72 SectorDimensions currentSize = ring.getIntrinsicDimensions(const SectorCon straints(), ring.deltaRadius);
71 enabledAdd = currentSize.deltaTheta < kTwoPi; 73 enabledAdd = currentSize.deltaTheta < kTwoPi;
72 enabledRemove = ring.firstChild != null; 74 enabledRemove = ring.firstChild != null;
73 }); 75 });
74 } 76 }
75 77
76 Widget build() { 78 Widget build() {
77 return new Scaffold( 79 return new Theme(
78 toolbar: new ToolBar( 80 data: new ThemeData(color: colors.Blue, text: typography.white),
79 center: new Text('Sector Layout in a Widget Tree', style: white.title) , 81 child: new Scaffold(
80 backgroundColor: Blue[500]), 82 toolbar: new ToolBar(
81 body: new Material( 83 center: new Text('Sector Layout in a Widget Tree', style: typography .white.title)),
82 edge: MaterialEdge.canvas, 84 body: new Material(
83 child: new Flex([ 85 edge: MaterialEdge.canvas,
84 new Container( 86 child: new Flex([
85 padding: new EdgeDims.symmetric(horizontal: 8.0, vertical: 25.0), 87 new Container(
86 child: new Flex([ 88 padding: new EdgeDims.symmetric(horizontal: 8.0, vertical: 25.0) ,
87 new RaisedButton( 89 child: new Flex([
88 enabled: enabledAdd, 90 new RaisedButton(
89 child: new ShrinkWrapWidth( 91 enabled: enabledAdd,
90 child: new Flex([ 92 child: new ShrinkWrapWidth(
91 new Container( 93 child: new Flex([
92 padding: new EdgeDims.all(4.0), 94 new Container(
93 margin: new EdgeDims.only(right: 10.0), 95 padding: new EdgeDims.all(4.0),
94 child: new WidgetToRenderBoxAdapter(sectorAddIcon) 96 margin: new EdgeDims.only(right: 10.0),
95 ), 97 child: new WidgetToRenderBoxAdapter(sectorAddIcon)
96 new Text('ADD SECTOR'), 98 ),
97 ]) 99 new Text('ADD SECTOR'),
100 ])
101 ),
102 onPressed: addSector
98 ), 103 ),
99 onPressed: addSector 104 new RaisedButton(
105 enabled: enabledRemove,
106 child: new ShrinkWrapWidth(
107 child: new Flex([
108 new Container(
109 padding: new EdgeDims.all(4.0),
110 margin: new EdgeDims.only(right: 10.0),
111 child: new WidgetToRenderBoxAdapter(sectorRemoveIcon )
112 ),
113 new Text('REMOVE SECTOR'),
114 ])
115 ),
116 onPressed: removeSector
117 )
118 ],
119 justifyContent: FlexJustifyContent.spaceAround
120 )
121 ),
122 new Flexible(
123 child: new Container(
124 margin: new EdgeDims.all(8.0),
125 decoration: new BoxDecoration(
126 border: new Border.all(new BorderSide(color: new Color(0xFF0 00000)))
100 ), 127 ),
101 new RaisedButton( 128 padding: new EdgeDims.all(8.0),
102 enabled: enabledRemove, 129 child: new WidgetToRenderBoxAdapter(sectors)
103 child: new ShrinkWrapWidth( 130 )
104 child: new Flex([ 131 ),
105 new Container( 132 ],
106 padding: new EdgeDims.all(4.0), 133 direction: FlexDirection.vertical,
107 margin: new EdgeDims.only(right: 10.0), 134 justifyContent: FlexJustifyContent.spaceBetween
108 child: new WidgetToRenderBoxAdapter(sectorRemoveIcon) 135 )
109 ),
110 new Text('REMOVE SECTOR'),
111 ])
112 ),
113 onPressed: removeSector
114 )
115 ],
116 justifyContent: FlexJustifyContent.spaceAround
117 )
118 ),
119 new Flexible(
120 child: new Container(
121 margin: new EdgeDims.all(8.0),
122 decoration: new BoxDecoration(
123 border: new Border.all(new BorderSide(color: new Color(0xFF000 000)))
124 ),
125 padding: new EdgeDims.all(8.0),
126 child: new WidgetToRenderBoxAdapter(sectors)
127 )
128 ),
129 ],
130 direction: FlexDirection.vertical,
131 justifyContent: FlexJustifyContent.spaceBetween
132 ) 136 )
133 ) 137 )
134 ); 138 );
135 } 139 }
136 } 140 }
137 141
138 void main() { 142 void main() {
139 runApp(new SectorApp()); 143 runApp(new SectorApp());
140 SkyBinding.instance.onFrame = () { 144 SkyBinding.instance.onFrame = () {
141 // uncomment this for debugging: 145 // uncomment this for debugging:
142 // SkyBinding.instance.debugDumpRenderTree(); 146 // SkyBinding.instance.debugDumpRenderTree();
143 }; 147 };
144 } 148 }
OLDNEW
« no previous file with comments | « sky/examples/stocks2/lib/stock_settings.dart ('k') | sky/examples/widgets/styled_text.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698