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 library fn; | 5 library fn; |
6 | 6 |
7 import 'app.dart'; | 7 import 'app.dart'; |
8 import 'dart:async'; | 8 import 'dart:async'; |
9 import 'dart:collection'; | 9 import 'dart:collection'; |
10 import 'dart:mirrors'; | 10 import 'dart:mirrors'; |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
147 node.setParent(this); | 147 node.setParent(this); |
148 node._sync(oldNode, slot); | 148 node._sync(oldNode, slot); |
149 assert(node.root is RenderObject); | 149 assert(node.root is RenderObject); |
150 return node; | 150 return node; |
151 } | 151 } |
152 } | 152 } |
153 | 153 |
154 abstract class ContentNode extends UINode { | 154 abstract class ContentNode extends UINode { |
155 UINode content; | 155 UINode content; |
156 | 156 |
157 ContentNode(UINode content) : this.content = content, super(key: content._key) ; | 157 ContentNode(UINode content, {Object key}) : this.content = content, super(key: key); |
abarth-chromium
2015/06/09 17:37:01
We've been putting a space inside the { } so { Obj
hansmuller
2015/06/09 17:48:03
Done.
I've been taking advantage of the fact that
| |
158 | 158 |
159 void _sync(UINode old, dynamic slot) { | 159 void _sync(UINode old, dynamic slot) { |
160 UINode oldContent = old == null ? null : (old as ContentNode).content; | 160 UINode oldContent = old == null ? null : (old as ContentNode).content; |
161 content = syncChild(content, oldContent, slot); | 161 content = syncChild(content, oldContent, slot); |
162 assert(content.root != null); | 162 assert(content.root != null); |
163 root = content.root; | 163 root = content.root; |
164 } | 164 } |
165 | 165 |
166 void remove() { | 166 void remove() { |
167 if (content != null) | 167 if (content != null) |
168 removeChild(content); | 168 removeChild(content); |
169 super.remove(); | 169 super.remove(); |
170 } | 170 } |
171 } | 171 } |
172 | 172 |
173 class ParentDataNode extends ContentNode { | 173 class ParentDataNode extends ContentNode { |
174 final ParentData parentData; | 174 final ParentData parentData; |
175 | 175 |
176 ParentDataNode(UINode content, this.parentData): super(content); | 176 ParentDataNode(UINode content, this.parentData, {Object key}): super(content, key: key); |
177 } | 177 } |
178 | 178 |
179 typedef void GestureEventListener(sky.GestureEvent e); | 179 typedef void GestureEventListener(sky.GestureEvent e); |
180 typedef void PointerEventListener(sky.PointerEvent e); | 180 typedef void PointerEventListener(sky.PointerEvent e); |
181 typedef void EventListener(sky.Event e); | 181 typedef void EventListener(sky.Event e); |
182 | 182 |
183 class EventListenerNode extends ContentNode { | 183 class EventListenerNode extends ContentNode { |
184 final Map<String, sky.EventListener> listeners; | 184 final Map<String, sky.EventListener> listeners; |
185 | 185 |
186 static Map<String, sky.EventListener> _createListeners({ | 186 static Map<String, sky.EventListener> _createListeners({ |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
747 }) : super(key: key, children: children); | 747 }) : super(key: key, children: children); |
748 | 748 |
749 void syncRenderObject(UINode old) { | 749 void syncRenderObject(UINode old) { |
750 super.syncRenderObject(old); | 750 super.syncRenderObject(old); |
751 root.direction = direction; | 751 root.direction = direction; |
752 root.justifyContent = justifyContent; | 752 root.justifyContent = justifyContent; |
753 } | 753 } |
754 } | 754 } |
755 | 755 |
756 class FlexExpandingChild extends ParentDataNode { | 756 class FlexExpandingChild extends ParentDataNode { |
757 FlexExpandingChild(UINode content, [int flex = 1]) | 757 FlexExpandingChild(UINode content, {int flex: 1, Object key}) |
Hixie
2015/06/09 17:40:08
I think I'd make the flex be an optional positiona
| |
758 : super(content, new FlexBoxParentData()..flex = flex); | 758 : super(content, new FlexBoxParentData()..flex = flex, key: key); |
759 } | 759 } |
760 | 760 |
761 class Image extends RenderObjectWrapper { | 761 class Image extends RenderObjectWrapper { |
762 RenderImage root; | 762 RenderImage root; |
763 RenderImage createNode() => new RenderImage(this.src, this.size); | 763 RenderImage createNode() => new RenderImage(this.src, this.size); |
764 | 764 |
765 final String src; | 765 final String src; |
766 final Size size; | 766 final Size size; |
767 | 767 |
768 Image({ | 768 Image({ |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1060 assert(root.parent is RenderView); | 1060 assert(root.parent is RenderView); |
1061 } | 1061 } |
1062 } | 1062 } |
1063 | 1063 |
1064 class Text extends Component { | 1064 class Text extends Component { |
1065 Text(this.data) : super(key: '*text*'); | 1065 Text(this.data) : super(key: '*text*'); |
1066 final String data; | 1066 final String data; |
1067 bool get interchangeable => true; | 1067 bool get interchangeable => true; |
1068 UINode build() => new Paragraph(text: data); | 1068 UINode build() => new Paragraph(text: data); |
1069 } | 1069 } |
OLD | NEW |