OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 import '../fn2.dart'; | 5 import '../fn2.dart'; |
6 import 'ink_well.dart'; | 6 import 'ink_well.dart'; |
7 import 'material.dart'; | 7 import 'material.dart'; |
8 | 8 |
9 class Button extends Component { | 9 class Button extends Component { |
10 | 10 |
11 Button({ Object key, this.content, this.level }) : super(key: key); | 11 Button({ Object key, this.content, this.level }) : super(key: key); |
12 | 12 |
13 static final Style _style = new Style(''' | 13 static final Style _style = new Style(''' |
14 -webkit-user-select: none; | 14 -webkit-user-select: none; |
15 height: 36px; | 15 height: 36px; |
16 min-width: 64px; | 16 min-width: 64px; |
17 padding: 0 8px; | 17 padding: 0 8px; |
18 margin: 4px; | 18 margin: 4px; |
19 border-radius: 2px;''' | 19 border-radius: 2px;''' |
20 ); | 20 ); |
21 | 21 |
22 UINode content; | 22 UINode content; |
23 int level; | 23 int level; |
24 | 24 |
| 25 void syncFields(Component source) { |
| 26 content = source.content; |
| 27 level = source.level; |
| 28 super.syncFields(source); |
| 29 } |
| 30 |
25 UINode build() { | 31 UINode build() { |
26 return new StyleNode( | 32 return new StyleNode( |
27 new Material( | 33 new Material( |
28 content: new InkWell(children: [content]), | 34 content: new InkWell(children: [content]), |
29 level: level), | 35 level: level), |
30 _style); | 36 _style); |
31 } | 37 } |
32 | 38 |
33 } | 39 } |
OLD | NEW |