Commit 83b74592 authored by Adam Barth's avatar Adam Barth

Port even more examples to fn3

parent c3b3b71b
...@@ -66,7 +66,7 @@ class Dot extends StatelessComponent { ...@@ -66,7 +66,7 @@ class Dot extends StatelessComponent {
} }
class DragAndDropApp extends StatefulComponent { class DragAndDropApp extends StatefulComponent {
DragAndDropAppState createState() => new DragAndDropAppState(this); DragAndDropAppState createState() => new DragAndDropAppState();
} }
class DragAndDropAppState extends State<DragAndDropApp> { class DragAndDropAppState extends State<DragAndDropApp> {
......
...@@ -17,7 +17,7 @@ class CardModel { ...@@ -17,7 +17,7 @@ class CardModel {
} }
class PageableListApp extends StatefulComponent { class PageableListApp extends StatefulComponent {
PageableListAppState createState() => new PageableListAppState(this); PageableListAppState createState() => new PageableListAppState();
} }
class PageableListAppState extends State<PageableListApp> { class PageableListAppState extends State<PageableListApp> {
......
...@@ -7,7 +7,7 @@ import 'package:sky/material.dart'; ...@@ -7,7 +7,7 @@ import 'package:sky/material.dart';
import 'package:sky/src/fn3.dart'; import 'package:sky/src/fn3.dart';
class ProgressIndicatorApp extends StatefulComponent { class ProgressIndicatorApp extends StatefulComponent {
ProgressIndicatorAppState createState() => new ProgressIndicatorAppState(this); ProgressIndicatorAppState createState() => new ProgressIndicatorAppState();
} }
class ProgressIndicatorAppState extends State<ProgressIndicatorApp> { class ProgressIndicatorAppState extends State<ProgressIndicatorApp> {
......
...@@ -7,7 +7,7 @@ import 'package:sky/rendering.dart'; ...@@ -7,7 +7,7 @@ import 'package:sky/rendering.dart';
import 'package:sky/src/fn3.dart'; import 'package:sky/src/fn3.dart';
class ScaleApp extends StatefulComponent { class ScaleApp extends StatefulComponent {
ScaleAppState createState() => new ScaleAppState(this); ScaleAppState createState() => new ScaleAppState();
} }
class ScaleAppState extends State<ScaleApp> { class ScaleAppState extends State<ScaleApp> {
......
...@@ -4,11 +4,14 @@ ...@@ -4,11 +4,14 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart'; import 'package:sky/src/fn3.dart';
class StyledTextApp extends App { class StyledTextApp extends StatefulComponent {
StyledTextAppState createState() => new StyledTextAppState();
}
StyledTextApp() { class StyledTextAppState extends State<StyledTextApp> {
void initState(BuildContext context) {
toText = toStyledText; toText = toStyledText;
nameLines = dialogText nameLines = dialogText
.split('\n') .split('\n')
...@@ -41,7 +44,7 @@ HAL: This mission is too important for me to allow you to jeopardize it.'''; ...@@ -41,7 +44,7 @@ HAL: This mission is too important for me to allow you to jeopardize it.''';
decorationStyle: TextDecorationStyle.wavy decorationStyle: TextDecorationStyle.wavy
); );
Component toStyledText(String name, String text) { Widget toStyledText(String name, String text) {
TextStyle lineStyle = (name == "Dave") ? daveStyle : halStyle; TextStyle lineStyle = (name == "Dave") ? daveStyle : halStyle;
return new StyledText( return new StyledText(
key: new Key(text), key: new Key(text),
...@@ -49,9 +52,9 @@ HAL: This mission is too important for me to allow you to jeopardize it.'''; ...@@ -49,9 +52,9 @@ HAL: This mission is too important for me to allow you to jeopardize it.''';
); );
} }
Component toPlainText(String name, String text) => new Text(name + ":" + text); Widget toPlainText(String name, String text) => new Text(name + ":" + text);
Component createSeparator() { Widget createSeparator() {
return new Container( return new Container(
constraints: const BoxConstraints.expand(height: 0.0), constraints: const BoxConstraints.expand(height: 0.0),
margin: const EdgeDims.symmetric(vertical: 10.0, horizontal: 64.0), margin: const EdgeDims.symmetric(vertical: 10.0, horizontal: 64.0),
...@@ -69,20 +72,20 @@ HAL: This mission is too important for me to allow you to jeopardize it.'''; ...@@ -69,20 +72,20 @@ HAL: This mission is too important for me to allow you to jeopardize it.''';
}); });
} }
Widget build() { Widget build(BuildContext context) {
List<Component> lines = nameLines List<Widget> lines = nameLines
.map((nameAndText) => Function.apply(toText, nameAndText)) .map((nameAndText) => Function.apply(toText, nameAndText))
.toList(); .toList();
List<Component> children = []; List<Widget> children = [];
for (Component line in lines) { for (Widget line in lines) {
children.add(line); children.add(line);
if (line != lines.last) { if (line != lines.last) {
children.add(createSeparator()); children.add(createSeparator());
} }
} }
Container body = new Container( Widget body = new Container(
padding: new EdgeDims.symmetric(horizontal: 8.0), padding: new EdgeDims.symmetric(horizontal: 8.0),
child: new Column(children, child: new Column(children,
justifyContent: FlexJustifyContent.center, justifyContent: FlexJustifyContent.center,
......
...@@ -3,9 +3,14 @@ ...@@ -3,9 +3,14 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/widgets.dart'; import 'package:sky/painting.dart';
import 'package:sky/src/fn3.dart';
class TabbedNavigatorApp extends App { class TabbedNavigatorApp extends StatefulComponent {
TabbedNavigatorAppState createState() => new TabbedNavigatorAppState();
}
class TabbedNavigatorAppState extends State<TabbedNavigatorApp> {
// The index of the selected tab for each of the TabNavigators constructed below. // The index of the selected tab for each of the TabNavigators constructed below.
List<int> selectedIndices = new List<int>.filled(5, 0); List<int> selectedIndices = new List<int>.filled(5, 0);
...@@ -32,7 +37,7 @@ class TabbedNavigatorApp extends App { ...@@ -32,7 +37,7 @@ class TabbedNavigatorApp extends App {
.map((text) { .map((text) {
return new TabNavigatorView( return new TabNavigatorView(
label: new TabLabel(text: text), label: new TabLabel(text: text),
builder: () => _buildContent(text) builder: (BuildContext context) => _buildContent(text)
); );
}); });
return _buildTabNavigator(n, views.toList(), const ValueKey<String>('textLabelsTabNavigator')); return _buildTabNavigator(n, views.toList(), const ValueKey<String>('textLabelsTabNavigator'));
...@@ -43,7 +48,7 @@ class TabbedNavigatorApp extends App { ...@@ -43,7 +48,7 @@ class TabbedNavigatorApp extends App {
.map((icon_name) { .map((icon_name) {
return new TabNavigatorView( return new TabNavigatorView(
label: new TabLabel(icon: "action/${icon_name}"), label: new TabLabel(icon: "action/${icon_name}"),
builder: () => _buildContent(icon_name) builder: (BuildContext context) => _buildContent(icon_name)
); );
}); });
return _buildTabNavigator(n, views.toList(), const ValueKey<String>('iconLabelsTabNavigator')); return _buildTabNavigator(n, views.toList(), const ValueKey<String>('iconLabelsTabNavigator'));
...@@ -53,15 +58,15 @@ class TabbedNavigatorApp extends App { ...@@ -53,15 +58,15 @@ class TabbedNavigatorApp extends App {
List<TabNavigatorView> views = <TabNavigatorView>[ List<TabNavigatorView> views = <TabNavigatorView>[
new TabNavigatorView( new TabNavigatorView(
label: const TabLabel(text: 'STOCKS', icon: 'action/list'), label: const TabLabel(text: 'STOCKS', icon: 'action/list'),
builder: () => _buildContent("Stocks") builder: (BuildContext context) => _buildContent("Stocks")
), ),
new TabNavigatorView( new TabNavigatorView(
label: const TabLabel(text: 'PORTFOLIO', icon: 'action/account_circle'), label: const TabLabel(text: 'PORTFOLIO', icon: 'action/account_circle'),
builder: () => _buildContent("Portfolio") builder: (BuildContext context) => _buildContent("Portfolio")
), ),
new TabNavigatorView( new TabNavigatorView(
label: const TabLabel(text: 'SUMMARY', icon: 'action/assessment'), label: const TabLabel(text: 'SUMMARY', icon: 'action/assessment'),
builder: () => _buildContent("Summary") builder: (BuildContext context) => _buildContent("Summary")
) )
]; ];
return _buildTabNavigator(n, views, const ValueKey<String>('textAndIconLabelsTabNavigator')); return _buildTabNavigator(n, views, const ValueKey<String>('textAndIconLabelsTabNavigator'));
...@@ -83,38 +88,38 @@ class TabbedNavigatorApp extends App { ...@@ -83,38 +88,38 @@ class TabbedNavigatorApp extends App {
.map((text) { .map((text) {
return new TabNavigatorView( return new TabNavigatorView(
label: new TabLabel(text: text), label: new TabLabel(text: text),
builder: () => _buildContent(text) builder: (BuildContext context) => _buildContent(text)
); );
}); });
return _buildTabNavigator(n, views.toList(), const ValueKey<String>('scrollableTabNavigator'), isScrollable: true); return _buildTabNavigator(n, views.toList(), const ValueKey<String>('scrollableTabNavigator'), isScrollable: true);
} }
Container _buildCard(TabNavigator tabNavigator) { Container _buildCard(BuildContext context, TabNavigator tabNavigator) {
return new Container( return new Container(
child: new Card(child: new Padding(child: tabNavigator, padding: const EdgeDims.all(8.0))), child: new Card(child: new Padding(child: tabNavigator, padding: const EdgeDims.all(8.0))),
padding: const EdgeDims.all(12.0), padding: const EdgeDims.all(12.0),
decoration: new BoxDecoration(backgroundColor: Theme.of(this).primarySwatch[100]) decoration: new BoxDecoration(backgroundColor: Theme.of(context).primarySwatch[100])
); );
} }
Widget build() { Widget build(BuildContext context) {
List<TabNavigatorView> views = <TabNavigatorView>[ List<TabNavigatorView> views = <TabNavigatorView>[
new TabNavigatorView( new TabNavigatorView(
label: const TabLabel(text: 'TEXT'), label: const TabLabel(text: 'TEXT'),
builder: () => _buildCard(_buildTextLabelsTabNavigator(0)) builder: (BuildContext context) => _buildCard(context, _buildTextLabelsTabNavigator(0))
), ),
new TabNavigatorView( new TabNavigatorView(
label: const TabLabel(text: 'ICONS'), label: const TabLabel(text: 'ICONS'),
builder: () => _buildCard(_buildIconLabelsTabNavigator(1)) builder: (BuildContext context) => _buildCard(context, _buildIconLabelsTabNavigator(1))
), ),
new TabNavigatorView( new TabNavigatorView(
label: const TabLabel(text: 'BOTH'), label: const TabLabel(text: 'BOTH'),
builder: () => _buildCard(_buildTextAndIconLabelsTabNavigator(2)) builder: (BuildContext context) => _buildCard(context, _buildTextAndIconLabelsTabNavigator(2))
), ),
new TabNavigatorView( new TabNavigatorView(
label: const TabLabel(text: 'SCROLL'), label: const TabLabel(text: 'SCROLL'),
builder: () => _buildCard(_buildScrollableTabNavigator(3)) builder: (BuildContext context) => _buildCard(context, _buildScrollableTabNavigator(3))
) )
]; ];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment