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 '../fn.dart'; | 5 import '../fn.dart'; |
6 import 'button_base.dart'; | 6 import 'button_base.dart'; |
7 | 7 |
8 typedef void ValueChanged(value); | 8 typedef void ValueChanged(value); |
9 | 9 |
10 class Checkbox extends ButtonBase { | 10 class Checkbox extends ButtonBase { |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 border-top: none; | 51 border-top: none; |
52 border-left: none; | 52 border-left: none; |
53 border-right-width: 2px; | 53 border-right-width: 2px; |
54 border-bottom-width: 2px; | 54 border-bottom-width: 2px; |
55 border-color: #0f9d58;''' | 55 border-color: #0f9d58;''' |
56 ); | 56 ); |
57 | 57 |
58 bool checked; | 58 bool checked; |
59 ValueChanged onChanged; | 59 ValueChanged onChanged; |
60 | 60 |
61 Checkbox({ Object key, this.onChanged, this.checked }) : super(key: key) { | 61 Checkbox({ Object key, this.onChanged, this.checked }) : super(key: key); |
62 events.listen('gesturetap', _handleClick); | |
63 } | |
64 | 62 |
65 void _handleClick(sky.Event e) { | 63 void _handleClick(sky.Event e) { |
66 onChanged(!checked); | 64 onChanged(!checked); |
67 } | 65 } |
68 | 66 |
69 Node build() { | 67 Node buildContent() { |
70 return new Container( | 68 return new EventTarget( |
71 style: _style, | 69 new Container( |
72 children: [ | 70 style: _style, |
73 new Container( | 71 children: [ |
74 style: highlight ? _containerHighlightStyle : _containerStyle, | 72 new Container( |
75 children: [ | 73 style: highlight ? _containerHighlightStyle : _containerStyle, |
76 new Container( | 74 children: [ |
77 style: checked ? _checkedStyle : _uncheckedStyle | 75 new Container( |
78 ) | 76 style: checked ? _checkedStyle : _uncheckedStyle |
79 ] | 77 ) |
80 ) | 78 ] |
81 ] | 79 ) |
| 80 ] |
| 81 ), |
| 82 onGestureTap: _handleClick |
82 ); | 83 ); |
83 } | 84 } |
84 } | 85 } |
OLD | NEW |