| OLD | NEW |
| 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 Loading... |
| 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 } |
| OLD | NEW |