From 7ecc698c9cf690f29acad86eddc37d8d8db6cc6f Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Tue, 12 Apr 2016 15:53:22 -0700 Subject: [PATCH] wip --- .../material_gallery/lib/gallery/app.dart | 6 +++- .../material_gallery/lib/gallery/drawer.dart | 35 ++++++++++++++----- .../material_gallery/lib/gallery/home.dart | 18 +++++++--- 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/examples/material_gallery/lib/gallery/app.dart b/examples/material_gallery/lib/gallery/app.dart index 8aac9dfbbe..071510a67c 100644 --- a/examples/material_gallery/lib/gallery/app.dart +++ b/examples/material_gallery/lib/gallery/app.dart @@ -16,16 +16,20 @@ class GalleryApp extends StatefulWidget { class GalleryAppState extends State { bool _useLightTheme = true; + bool _showPerformanceOverlay = false; @override Widget build(BuildContext context) { return new MaterialApp( title: 'Flutter Material Gallery', theme: _useLightTheme ? _kGalleryLightTheme : _kGalleryDarkTheme, + showPerformanceOverlay: _showPerformanceOverlay, routes: { '/': (BuildContext context) => new GalleryHome( - theme: _useLightTheme, + useLightTheme: _useLightTheme, onThemeChanged: (bool value) { setState(() { _useLightTheme = value; }); }, + showPerformanceOverlay: _showPerformanceOverlay, + onShowPerformanceOverlayChanged: (bool value) { setState(() { _showPerformanceOverlay = value; }); }, timeDilation: timeDilation, onTimeDilationChanged: (double value) { setState(() { timeDilation = value; }); } ) diff --git a/examples/material_gallery/lib/gallery/drawer.dart b/examples/material_gallery/lib/gallery/drawer.dart index 4dc6f24dd1..8b99e38d82 100644 --- a/examples/material_gallery/lib/gallery/drawer.dart +++ b/examples/material_gallery/lib/gallery/drawer.dart @@ -7,21 +7,26 @@ import 'package:flutter/material.dart'; class GalleryDrawer extends StatelessWidget { GalleryDrawer({ Key key, - this.theme, + this.useLightTheme, this.onThemeChanged, this.timeDilation, - this.onTimeDilationChanged + this.onTimeDilationChanged, + this.showPerformanceOverlay, + this.onShowPerformanceOverlayChanged }) : super(key: key) { assert(onThemeChanged != null); assert(onTimeDilationChanged != null); } - final bool theme; + final bool useLightTheme; final ValueChanged onThemeChanged; final double timeDilation; final ValueChanged onTimeDilationChanged; + final bool showPerformanceOverlay; + final ValueChanged onShowPerformanceOverlayChanged; + @override Widget build(BuildContext context) { return new Drawer( @@ -31,13 +36,13 @@ class GalleryDrawer extends StatelessWidget { new DrawerItem( icon: Icons.brightness_5, onPressed: () { onThemeChanged(true); }, - selected: theme, + selected: useLightTheme, child: new Row( children: [ new Flexible(child: new Text('Light')), new Radio( value: true, - groupValue: theme, + groupValue: useLightTheme, onChanged: onThemeChanged ) ] @@ -46,13 +51,13 @@ class GalleryDrawer extends StatelessWidget { new DrawerItem( icon: Icons.brightness_7, onPressed: () { onThemeChanged(false); }, - selected: theme, + selected: useLightTheme, child: new Row( children: [ new Flexible(child: new Text('Dark')), new Radio( value: false, - groupValue: theme, + groupValue: useLightTheme, onChanged: onThemeChanged ) ] @@ -72,7 +77,21 @@ class GalleryDrawer extends StatelessWidget { ) ] ) - ) + ), + new DrawerItem( + icon: Icons.assessment, + onPressed: () { onShowPerformanceOverlayChanged(!showPerformanceOverlay); }, + selected: showPerformanceOverlay, + child: new Row( + children: [ + new Flexible(child: new Text('Performance Overlay')), + new Checkbox( + value: showPerformanceOverlay, + onChanged: (bool value) { onShowPerformanceOverlayChanged(!showPerformanceOverlay); } + ) + ] + ) + ), ] ) ); diff --git a/examples/material_gallery/lib/gallery/home.dart b/examples/material_gallery/lib/gallery/home.dart index aa3aa47be2..139957da9c 100644 --- a/examples/material_gallery/lib/gallery/home.dart +++ b/examples/material_gallery/lib/gallery/home.dart @@ -46,21 +46,27 @@ const double _kFlexibleSpaceMaxHeight = 256.0; class GalleryHome extends StatefulWidget { GalleryHome({ Key key, - this.theme, + this.useLightTheme, this.onThemeChanged, this.timeDilation, - this.onTimeDilationChanged + this.onTimeDilationChanged, + this.showPerformanceOverlay, + this.onShowPerformanceOverlayChanged }) : super(key: key) { assert(onThemeChanged != null); assert(onTimeDilationChanged != null); + assert(onShowPerformanceOverlayChanged != null); } - final bool theme; + final bool useLightTheme; final ValueChanged onThemeChanged; final double timeDilation; final ValueChanged onTimeDilationChanged; + final bool showPerformanceOverlay; + final ValueChanged onShowPerformanceOverlayChanged; + @override GalleryHomeState createState() => new GalleryHomeState(); } @@ -76,10 +82,12 @@ class GalleryHomeState extends State { return new Scaffold( key: _homeKey, drawer: new GalleryDrawer( - theme: config.theme, + useLightTheme: config.useLightTheme, onThemeChanged: config.onThemeChanged, timeDilation: config.timeDilation, - onTimeDilationChanged: config.onTimeDilationChanged + onTimeDilationChanged: config.onTimeDilationChanged, + showPerformanceOverlay: config.showPerformanceOverlay, + onShowPerformanceOverlayChanged: config.onShowPerformanceOverlayChanged ), appBar: new AppBar( expandedHeight: _kFlexibleSpaceMaxHeight,