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 '../rendering/box.dart'; | 6 import '../rendering/box.dart'; |
7 import 'icon.dart'; | 7 import 'icon.dart'; |
8 | 8 |
9 class IconButton extends Component { | 9 class IconButton extends Component { |
10 | 10 |
11 IconButton({ String icon: '', this.onGestureTap }) | 11 IconButton({ String icon: '', this.onGestureTap }) |
12 : super(key: icon), icon = icon; | 12 : super(key: icon), icon = icon; |
13 | 13 |
14 String icon; | 14 String icon; |
15 GestureEventListener onGestureTap; | 15 GestureEventListener onGestureTap; |
16 | 16 |
| 17 void syncFields(IconButton source) { |
| 18 icon = source.icon; |
| 19 onGestureTap = source.onGestureTap; |
| 20 super.syncFields(source); |
| 21 } |
| 22 |
17 UINode build() { | 23 UINode build() { |
18 return new EventListenerNode( | 24 return new EventListenerNode( |
19 new Padding( | 25 new Padding( |
20 child: new Icon(type: icon, size: 24), | 26 child: new Icon(type: icon, size: 24), |
21 padding: const EdgeDims.all(8.0)), | 27 padding: const EdgeDims.all(8.0)), |
22 onGestureTap: onGestureTap); | 28 onGestureTap: onGestureTap); |
23 } | 29 } |
24 | 30 |
25 } | 31 } |
OLD | NEW |