| Index: sky/examples/widgets/sector.dart
|
| diff --git a/sky/examples/widgets/sector.dart b/sky/examples/widgets/sector.dart
|
| deleted file mode 100644
|
| index 1aeec5245767e65e30dd69d1a34552eac4d5ca4e..0000000000000000000000000000000000000000
|
| --- a/sky/examples/widgets/sector.dart
|
| +++ /dev/null
|
| @@ -1,148 +0,0 @@
|
| -// 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 'dart:math' as math;
|
| -
|
| -import 'package:sky/rendering/box.dart';
|
| -import 'package:sky/rendering/flex.dart';
|
| -import 'package:sky/rendering/sky_binding.dart';
|
| -import 'package:sky/theme/colors.dart' as colors;
|
| -import 'package:sky/theme/edges.dart';
|
| -import 'package:sky/theme/theme_data.dart';
|
| -import 'package:sky/theme/typography.dart' as typography;
|
| -import 'package:sky/widgets/basic.dart';
|
| -import 'package:sky/widgets/material.dart';
|
| -import 'package:sky/widgets/raised_button.dart';
|
| -import 'package:sky/widgets/scaffold.dart';
|
| -import 'package:sky/widgets/theme.dart';
|
| -import 'package:sky/widgets/tool_bar.dart';
|
| -import 'package:sky/widgets/widget.dart';
|
| -
|
| -import '../rendering/sector_layout.dart';
|
| -
|
| -RenderBox initCircle() {
|
| - return new RenderBoxToRenderSectorAdapter(
|
| - innerRadius: 25.0,
|
| - child: new RenderSectorRing(padding: 0.0)
|
| - );
|
| -}
|
| -
|
| -class SectorApp extends App {
|
| -
|
| - RenderBoxToRenderSectorAdapter sectors = initCircle();
|
| - math.Random rand = new math.Random(1);
|
| -
|
| - void addSector() {
|
| - double deltaTheta;
|
| - var ring = (sectors.child as RenderSectorRing);
|
| - SectorDimensions currentSize = ring.getIntrinsicDimensions(const SectorConstraints(), ring.deltaRadius);
|
| - if (currentSize.deltaTheta >= kTwoPi - (math.PI * 0.2 + 0.05))
|
| - deltaTheta = kTwoPi - currentSize.deltaTheta;
|
| - else
|
| - deltaTheta = math.PI * rand.nextDouble() / 5.0 + 0.05;
|
| - Color color = new Color(((0xFF << 24) + rand.nextInt(0xFFFFFF)) | 0x808080);
|
| - ring.add(new RenderSolidColor(color, desiredDeltaTheta: deltaTheta));
|
| - updateEnabledState();
|
| - }
|
| -
|
| - void removeSector() {
|
| - (sectors.child as RenderSectorRing).remove((sectors.child as RenderSectorRing).lastChild);
|
| - updateEnabledState();
|
| - }
|
| -
|
| - static RenderBox initSector(Color color) {
|
| - RenderSectorRing ring = new RenderSectorRing(padding: 1.0);
|
| - ring.add(new RenderSolidColor(const Color(0xFF909090), desiredDeltaTheta: kTwoPi * 0.15));
|
| - ring.add(new RenderSolidColor(const Color(0xFF909090), desiredDeltaTheta: kTwoPi * 0.15));
|
| - ring.add(new RenderSolidColor(color, desiredDeltaTheta: kTwoPi * 0.2));
|
| - return new RenderBoxToRenderSectorAdapter(
|
| - innerRadius: 5.0,
|
| - child: ring
|
| - );
|
| - }
|
| - RenderBoxToRenderSectorAdapter sectorAddIcon = initSector(const Color(0xFF00DD00));
|
| - RenderBoxToRenderSectorAdapter sectorRemoveIcon = initSector(const Color(0xFFDD0000));
|
| -
|
| - bool enabledAdd = true;
|
| - bool enabledRemove = false;
|
| - void updateEnabledState() {
|
| - setState(() {
|
| - var ring = (sectors.child as RenderSectorRing);
|
| - SectorDimensions currentSize = ring.getIntrinsicDimensions(const SectorConstraints(), ring.deltaRadius);
|
| - enabledAdd = currentSize.deltaTheta < kTwoPi;
|
| - enabledRemove = ring.firstChild != null;
|
| - });
|
| - }
|
| -
|
| - Widget build() {
|
| - return new Theme(
|
| - data: new ThemeData.light(primary: colors.Blue, darkToolbar: true),
|
| - child: new Scaffold(
|
| - toolbar: new ToolBar(
|
| - center: new Text('Sector Layout in a Widget Tree')),
|
| - body: new Material(
|
| - edge: MaterialEdge.canvas,
|
| - child: new Flex([
|
| - new Container(
|
| - padding: new EdgeDims.symmetric(horizontal: 8.0, vertical: 25.0),
|
| - child: new Flex([
|
| - new RaisedButton(
|
| - enabled: enabledAdd,
|
| - child: new ShrinkWrapWidth(
|
| - child: new Flex([
|
| - new Container(
|
| - padding: new EdgeDims.all(4.0),
|
| - margin: new EdgeDims.only(right: 10.0),
|
| - child: new WidgetToRenderBoxAdapter(sectorAddIcon)
|
| - ),
|
| - new Text('ADD SECTOR'),
|
| - ])
|
| - ),
|
| - onPressed: addSector
|
| - ),
|
| - new RaisedButton(
|
| - enabled: enabledRemove,
|
| - child: new ShrinkWrapWidth(
|
| - child: new Flex([
|
| - new Container(
|
| - padding: new EdgeDims.all(4.0),
|
| - margin: new EdgeDims.only(right: 10.0),
|
| - child: new WidgetToRenderBoxAdapter(sectorRemoveIcon)
|
| - ),
|
| - new Text('REMOVE SECTOR'),
|
| - ])
|
| - ),
|
| - onPressed: removeSector
|
| - )
|
| - ],
|
| - justifyContent: FlexJustifyContent.spaceAround
|
| - )
|
| - ),
|
| - new Flexible(
|
| - child: new Container(
|
| - margin: new EdgeDims.all(8.0),
|
| - decoration: new BoxDecoration(
|
| - border: new Border.all(new BorderSide(color: new Color(0xFF000000)))
|
| - ),
|
| - padding: new EdgeDims.all(8.0),
|
| - child: new WidgetToRenderBoxAdapter(sectors)
|
| - )
|
| - ),
|
| - ],
|
| - direction: FlexDirection.vertical,
|
| - justifyContent: FlexJustifyContent.spaceBetween
|
| - )
|
| - )
|
| - )
|
| - );
|
| - }
|
| -}
|
| -
|
| -void main() {
|
| - runApp(new SectorApp());
|
| - SkyBinding.instance.onFrame = () {
|
| - // uncomment this for debugging:
|
| - // SkyBinding.instance.debugDumpRenderTree();
|
| - };
|
| -}
|
|
|