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

Unified Diff: sky/home.dart

Issue 1178293004: Port sky_home to the new SkyView world (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
« no previous file with comments | « sky/examples/rendering/transform.dart ('k') | sky/sdk/lib/framework/widgets/tool_bar.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/home.dart
diff --git a/sky/home.dart b/sky/home.dart
new file mode 100644
index 0000000000000000000000000000000000000000..d41cb237c65028cac4b1558cb44b65fe08173337
--- /dev/null
+++ b/sky/home.dart
@@ -0,0 +1,83 @@
+// 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:sky';
+
+import 'package:mojom/intents/intents.mojom.dart';
+import 'package:sky/framework/shell.dart' as shell;
+import 'package:sky/framework/theme2/colors.dart' as colors;
+import 'package:sky/framework/theme2/edges.dart';
+import 'package:sky/framework/theme2/typography.dart' as typography;
+import 'package:sky/framework/widgets/material.dart';
+import 'package:sky/framework/widgets/raised_button.dart';
+import 'package:sky/framework/widgets/scaffold.dart';
+import 'package:sky/framework/widgets/tool_bar.dart';
+import 'package:sky/framework/widgets/wrappers.dart';
+
+void launch(String relativeUrl) {
+ Uri url = Uri.base.resolve(relativeUrl);
+ url = url.replace(scheme: 'sky');
+
+ ActivityManagerProxy activityManager = new ActivityManagerProxy.unbound();
+ Intent intent = new Intent()
+ ..action = 'android.intent.action.VIEW'
+ ..url = url.toString();
+ shell.requestService(null, activityManager);
+ activityManager.ptr.startActivity(intent);
+}
+
+class SkyDemo extends Component {
+ String text;
+ String href;
+
+ SkyDemo(String text, this.href) : this.text = text, super(key: text);
+
+ void _handlePress() {
+ launch(href);
+ }
+
+ UINode build() {
+ return new RaisedButton(
+ child: new Text(text),
+ onPressed: _handlePress
+ );
+ }
+}
+
+class SkyHome extends App {
+ UINode build() {
+ List<UINode> children = [
+ new SkyDemo('Stocks2 App', 'examples/stocks2/lib/stock_app.dart'),
+ new SkyDemo('Box2D Game', 'examples/game/main.dart'),
+ new SkyDemo('Interactive Flex', 'examples/rendering/interactive_flex.dart'),
+ new SkyDemo('Sector Layout', 'examples/rendering/sector_layout.dart'),
+ new SkyDemo('Touch Demo', 'examples/rendering/touch_demo.dart'),
+
+ // TODO(eseidel): We could use to separate these groups?
+ new SkyDemo('Stocks App (Old)', 'examples/stocks/main.sky'),
+ new SkyDemo('Touch Demo (Old)', 'examples/raw/touch-demo.sky'),
+ new SkyDemo('Spinning Square (Old)', 'examples/raw/spinning-square.sky'),
+
+ new SkyDemo('Licences (Old)', 'LICENSES.sky'),
+ ];
+
+ return new Scaffold(
+ toolbar: new ToolBar(
+ center: new Text('Sky Demos', style: typography.white.title),
+ backgroundColor: colors.Blue[500]),
+ body: new Material(
+ edge: MaterialEdge.canvas,
+ child: new Flex(
+ children,
+ direction: FlexDirection.vertical,
+ justifyContent: FlexJustifyContent.spaceAround
+ )
+ )
+ );
+ }
+}
+
+void main() {
+ new SkyHome();
+}
« no previous file with comments | « sky/examples/rendering/transform.dart ('k') | sky/sdk/lib/framework/widgets/tool_bar.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698