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

Unified Diff: sky/examples/widgets/sector.dart

Issue 1218593002: Move sky/examples to sky/sdk/lib/example, and code changes to support that change. Fixes T277. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: 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 side-by-side diff with in-line comments
Download patch
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();
- };
-}

Powered by Google App Engine
This is Rietveld 408576698