| Index: sky/sdk/lib/framework/widgets/raised_button.dart
|
| diff --git a/sky/sdk/lib/framework/widgets/raised_button.dart b/sky/sdk/lib/framework/widgets/raised_button.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2373e74b841557102201273f1544199385fe420d
|
| --- /dev/null
|
| +++ b/sky/sdk/lib/framework/widgets/raised_button.dart
|
| @@ -0,0 +1,55 @@
|
| +// 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 '../theme2/edges.dart';
|
| +import '../theme2/colors.dart';
|
| +import '../rendering/flex.dart';
|
| +import 'button_base.dart';
|
| +import 'ink_well.dart';
|
| +import 'material.dart';
|
| +import 'wrappers.dart';
|
| +
|
| +enum RaisedButtonTheme { light, dark }
|
| +
|
| +class RaisedButton extends ButtonBase {
|
| +
|
| + RaisedButton({ Object key, this.child, this.onPressed, this.theme: RaisedButtonTheme.light }) : super(key: key);
|
| +
|
| + UINode child;
|
| + int level;
|
| + Function onPressed;
|
| + RaisedButtonTheme theme;
|
| +
|
| + void syncFields(RaisedButton source) {
|
| + child = source.child;
|
| + level = source.level;
|
| + onPressed = source.onPressed;
|
| + super.syncFields(source);
|
| + }
|
| +
|
| + UINode buildContent() {
|
| + return new EventListenerNode(
|
| + new Container(
|
| + height: 36.0,
|
| + constraints: new BoxConstraints(minWidth: 88.0),
|
| + margin: new EdgeDims.all(4.0),
|
| + child: new Material(
|
| + edge: MaterialEdge.card,
|
| + child: new InkWell(
|
| + child: new Container(
|
| + padding: new EdgeDims.symmetric(horizontal: 8.0),
|
| + child: new Center(child: child)
|
| + )
|
| + ),
|
| + level: highlight ? 2 : 1,
|
| + color: theme == RaisedButtonTheme.light
|
| + ? (highlight ? Grey[350] : Grey[300])
|
| + : (highlight ? Blue[700] : Blue[600])
|
| + )
|
| + ),
|
| + onGestureTap: (_) { if (onPressed != null) onPressed(); }
|
| + );
|
| + }
|
| +
|
| +}
|
|
|