Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(882)

Unified Diff: sky/sdk/lib/framework/fn2.dart

Issue 1172173002: Clean up a bunch of our Dart code. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: upstream merge Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/sdk/lib/framework/components2/tool_bar.dart ('k') | sky/sdk/lib/framework/rendering/box.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/sdk/lib/framework/fn2.dart
diff --git a/sky/sdk/lib/framework/fn2.dart b/sky/sdk/lib/framework/fn2.dart
index 4c0b3e6d36680637a0d3681c110d84cd419726cd..7bda517d00195ba777cd952fac1d92ad10d03340 100644
--- a/sky/sdk/lib/framework/fn2.dart
+++ b/sky/sdk/lib/framework/fn2.dart
@@ -157,10 +157,11 @@ abstract class UINode {
// Component nodes with annotations, such as event listeners,
// stylistic information, etc.
abstract class TagNode extends UINode {
- UINode content;
TagNode(UINode content, { Object key }) : this.content = content, super(key: key);
+ UINode content;
+
void _sync(UINode old, dynamic slot) {
UINode oldContent = old == null ? null : (old as TagNode).content;
content = syncChild(content, oldContent, slot);
@@ -173,12 +174,12 @@ abstract class TagNode extends UINode {
removeChild(content);
super.remove();
}
+
}
class ParentDataNode extends TagNode {
- final ParentData parentData;
-
ParentDataNode(UINode content, this.parentData, { Object key }): super(content, key: key);
+ final ParentData parentData;
}
typedef void GestureEventListener(sky.GestureEvent e);
@@ -186,6 +187,36 @@ typedef void PointerEventListener(sky.PointerEvent e);
typedef void EventListener(sky.Event e);
class EventListenerNode extends TagNode {
+
+ EventListenerNode(UINode content, {
+ EventListener onWheel,
+ GestureEventListener onGestureFlingCancel,
+ GestureEventListener onGestureFlingStart,
+ GestureEventListener onGestureScrollStart,
+ GestureEventListener onGestureScrollUpdate,
+ GestureEventListener onGestureTap,
+ GestureEventListener onGestureTapDown,
+ PointerEventListener onPointerCancel,
+ PointerEventListener onPointerDown,
+ PointerEventListener onPointerMove,
+ PointerEventListener onPointerUp,
+ Map<String, sky.EventListener> custom
+ }) : listeners = _createListeners(
+ onWheel: onWheel,
+ onGestureFlingCancel: onGestureFlingCancel,
+ onGestureFlingStart: onGestureFlingStart,
+ onGestureScrollUpdate: onGestureScrollUpdate,
+ onGestureScrollStart: onGestureScrollStart,
+ onGestureTap: onGestureTap,
+ onGestureTapDown: onGestureTapDown,
+ onPointerCancel: onPointerCancel,
+ onPointerDown: onPointerDown,
+ onPointerMove: onPointerMove,
+ onPointerUp: onPointerUp,
+ custom: custom
+ ),
+ super(content);
+
final Map<String, sky.EventListener> listeners;
static Map<String, sky.EventListener> _createListeners({
@@ -232,41 +263,13 @@ class EventListenerNode extends TagNode {
return listeners;
}
- EventListenerNode(UINode content, {
- EventListener onWheel,
- GestureEventListener onGestureFlingCancel,
- GestureEventListener onGestureFlingStart,
- GestureEventListener onGestureScrollStart,
- GestureEventListener onGestureScrollUpdate,
- GestureEventListener onGestureTap,
- GestureEventListener onGestureTapDown,
- PointerEventListener onPointerCancel,
- PointerEventListener onPointerDown,
- PointerEventListener onPointerMove,
- PointerEventListener onPointerUp,
- Map<String, sky.EventListener> custom
- }) : listeners = _createListeners(
- onWheel: onWheel,
- onGestureFlingCancel: onGestureFlingCancel,
- onGestureFlingStart: onGestureFlingStart,
- onGestureScrollUpdate: onGestureScrollUpdate,
- onGestureScrollStart: onGestureScrollStart,
- onGestureTap: onGestureTap,
- onGestureTapDown: onGestureTapDown,
- onPointerCancel: onPointerCancel,
- onPointerDown: onPointerDown,
- onPointerMove: onPointerMove,
- onPointerUp: onPointerUp,
- custom: custom
- ),
- super(content);
-
void _handleEvent(sky.Event e) {
sky.EventListener listener = listeners[e.type];
if (listener != null) {
listener(e);
}
}
+
}
/*
@@ -278,11 +281,6 @@ class EventListenerNode extends TagNode {
*/
abstract class RenderObjectWrapper extends UINode {
- static final Map<RenderObject, RenderObjectWrapper> _nodeMap =
- new HashMap<RenderObject, RenderObjectWrapper>();
-
- static RenderObjectWrapper _getMounted(RenderObject node) => _nodeMap[node];
-
RenderObjectWrapper({
Object key
}) : super(key: key);
@@ -291,6 +289,11 @@ abstract class RenderObjectWrapper extends UINode {
void insert(RenderObjectWrapper child, dynamic slot);
+ static final Map<RenderObject, RenderObjectWrapper> _nodeMap =
+ new HashMap<RenderObject, RenderObjectWrapper>();
+
+ static RenderObjectWrapper _getMounted(RenderObject node) => _nodeMap[node];
+
void _sync(UINode old, dynamic slot) {
assert(parent != null);
if (old == null) {
@@ -336,11 +339,12 @@ abstract class RenderObjectWrapper extends UINode {
}
abstract class OneChildRenderObjectWrapper extends RenderObjectWrapper {
- UINode _child;
- UINode get child => _child;
OneChildRenderObjectWrapper({ UINode child, Object key }) : _child = child, super(key: key);
+ UINode _child;
+ UINode get child => _child;
+
void syncRenderObject(RenderObjectWrapper old) {
super.syncRenderObject(old);
UINode oldChild = old == null ? null : (old as OneChildRenderObjectWrapper).child;
@@ -368,50 +372,54 @@ abstract class OneChildRenderObjectWrapper extends RenderObjectWrapper {
removeChild(child);
super.remove();
}
+
}
class Clip extends OneChildRenderObjectWrapper {
- RenderClip root;
Clip({ UINode child, Object key })
: super(child: child, key: key);
+ RenderClip root;
RenderClip createNode() => new RenderClip();
+
}
class Padding extends OneChildRenderObjectWrapper {
- RenderPadding root;
- final EdgeDims padding;
Padding({ this.padding, UINode child, Object key })
: super(child: child, key: key);
+ RenderPadding root;
+ final EdgeDims padding;
+
RenderPadding createNode() => new RenderPadding(padding: padding);
void syncRenderObject(Padding old) {
super.syncRenderObject(old);
root.padding = padding;
}
+
}
class DecoratedBox extends OneChildRenderObjectWrapper {
- RenderDecoratedBox root;
- final BoxDecoration decoration;
DecoratedBox({ this.decoration, UINode child, Object key })
: super(child: child, key: key);
+ RenderDecoratedBox root;
+ final BoxDecoration decoration;
+
RenderDecoratedBox createNode() => new RenderDecoratedBox(decoration: decoration);
void syncRenderObject(DecoratedBox old) {
super.syncRenderObject(old);
root.decoration = decoration;
}
+
}
class SizedBox extends OneChildRenderObjectWrapper {
- RenderSizedBox root;
- final Size desiredSize;
SizedBox({
double width: double.INFINITY,
@@ -420,59 +428,70 @@ class SizedBox extends OneChildRenderObjectWrapper {
Object key
}) : desiredSize = new Size(width, height), super(child: child, key: key);
+ RenderSizedBox root;
+ final Size desiredSize;
+
RenderSizedBox createNode() => new RenderSizedBox(desiredSize: desiredSize);
void syncRenderObject(SizedBox old) {
super.syncRenderObject(old);
root.desiredSize = desiredSize;
}
+
}
class ConstrainedBox extends OneChildRenderObjectWrapper {
- RenderConstrainedBox root;
- final BoxConstraints constraints;
ConstrainedBox({ this.constraints, UINode child, Object key })
: super(child: child, key: key);
+ RenderConstrainedBox root;
+ final BoxConstraints constraints;
+
RenderConstrainedBox createNode() => new RenderConstrainedBox(additionalConstraints: constraints);
void syncRenderObject(ConstrainedBox old) {
super.syncRenderObject(old);
root.additionalConstraints = constraints;
}
+
}
class ShrinkWrapWidth extends OneChildRenderObjectWrapper {
- RenderShrinkWrapWidth root;
ShrinkWrapWidth({ UINode child, Object key }) : super(child: child, key: key);
+ RenderShrinkWrapWidth root;
+
RenderShrinkWrapWidth createNode() => new RenderShrinkWrapWidth();
+
}
class Transform extends OneChildRenderObjectWrapper {
- RenderTransform root;
- final Matrix4 transform;
Transform({ this.transform, UINode child, Object key })
: super(child: child, key: key);
+ RenderTransform root;
+ final Matrix4 transform;
+
RenderTransform createNode() => new RenderTransform(transform: transform);
void syncRenderObject(Transform old) {
super.syncRenderObject(old);
root.transform = transform;
}
+
}
class SizeObserver extends OneChildRenderObjectWrapper {
- RenderSizeObserver root;
- final SizeChangedCallback callback;
SizeObserver({ this.callback, UINode child, Object key })
: super(child: child, key: key);
+ RenderSizeObserver root;
+ final SizeChangedCallback callback;
+
RenderSizeObserver createNode() => new RenderSizeObserver(callback: callback);
void syncRenderObject(SizeObserver old) {
@@ -484,16 +503,18 @@ class SizeObserver extends OneChildRenderObjectWrapper {
root.callback = null;
super.remove();
}
+
}
// TODO(jackson) need a mechanism for marking the RenderCustomPaint as needing paint
class CustomPaint extends OneChildRenderObjectWrapper {
- RenderCustomPaint root;
- final CustomPaintCallback callback;
CustomPaint({ this.callback, UINode child, Object key })
: super(child: child, key: key);
+ RenderCustomPaint root;
+ final CustomPaintCallback callback;
+
RenderCustomPaint createNode() => new RenderCustomPaint(callback: callback);
void syncRenderObject(CustomPaint old) {
@@ -505,6 +526,7 @@ class CustomPaint extends OneChildRenderObjectWrapper {
root.callback = null;
super.remove();
}
+
}
final List<UINode> _emptyList = new List<UINode>();
@@ -514,8 +536,6 @@ abstract class MultiChildRenderObjectWrapper extends RenderObjectWrapper {
// In MultiChildRenderObjectWrapper subclasses, slots are RenderObject nodes
// to use as the "insert before" sibling in ContainerRenderObjectMixin.add() calls
- final List<UINode> children;
-
MultiChildRenderObjectWrapper({
Object key,
List<UINode> children
@@ -526,6 +546,8 @@ abstract class MultiChildRenderObjectWrapper extends RenderObjectWrapper {
assert(!_debugHasDuplicateIds());
}
+ final List<UINode> children;
+
void insert(RenderObjectWrapper child, dynamic slot) {
final root = this.root; // TODO(ianh): Remove this once the analyzer is cleverer
assert(slot == null || slot is RenderObject);
@@ -693,22 +715,27 @@ abstract class MultiChildRenderObjectWrapper extends RenderObjectWrapper {
assert(root == this.root); // TODO(ianh): Remove this once the analyzer is cleverer
}
+
}
class BlockContainer extends MultiChildRenderObjectWrapper {
- RenderBlock root;
- RenderBlock createNode() => new RenderBlock();
BlockContainer({ Object key, List<UINode> children })
: super(key: key, children: children);
+
+ RenderBlock root;
+ RenderBlock createNode() => new RenderBlock();
+
}
class StackContainer extends MultiChildRenderObjectWrapper {
- RenderStack root;
- RenderStack createNode() => new RenderStack();
StackContainer({ Object key, List<UINode> children })
: super(key: key, children: children);
+
+ RenderStack root;
+ RenderStack createNode() => new RenderStack();
+
}
class StackPositionedChild extends ParentDataNode {
@@ -721,13 +748,14 @@ class StackPositionedChild extends ParentDataNode {
}
class Paragraph extends RenderObjectWrapper {
+
+ Paragraph({ Object key, this.text }) : super(key: key);
+
RenderParagraph root;
RenderParagraph createNode() => new RenderParagraph(text: text);
final String text;
- Paragraph({ Object key, this.text }) : super(key: key);
-
void syncRenderObject(UINode old) {
super.syncRenderObject(old);
root.text = text;
@@ -737,14 +765,10 @@ class Paragraph extends RenderObjectWrapper {
assert(false);
// Paragraph does not support having children currently
}
+
}
class FlexContainer extends MultiChildRenderObjectWrapper {
- RenderFlex root;
- RenderFlex createNode() => new RenderFlex(direction: this.direction);
-
- final FlexDirection direction;
- final FlexJustifyContent justifyContent;
FlexContainer({
Object key,
@@ -753,11 +777,18 @@ class FlexContainer extends MultiChildRenderObjectWrapper {
this.justifyContent: FlexJustifyContent.flexStart
}) : super(key: key, children: children);
+ RenderFlex root;
+ RenderFlex createNode() => new RenderFlex(direction: this.direction);
+
+ final FlexDirection direction;
+ final FlexJustifyContent justifyContent;
+
void syncRenderObject(UINode old) {
super.syncRenderObject(old);
root.direction = direction;
root.justifyContent = justifyContent;
}
+
}
class FlexExpandingChild extends ParentDataNode {
@@ -766,11 +797,6 @@ class FlexExpandingChild extends ParentDataNode {
}
class Image extends RenderObjectWrapper {
- RenderImage root;
- RenderImage createNode() => new RenderImage(this.src, this.size);
-
- final String src;
- final Size size;
Image({
Object key,
@@ -778,6 +804,12 @@ class Image extends RenderObjectWrapper {
this.size
}) : super(key: key);
+ RenderImage root;
+ RenderImage createNode() => new RenderImage(this.src, this.size);
+
+ final String src;
+ final Size size;
+
void syncRenderObject(UINode old) {
super.syncRenderObject(old);
root.src = src;
@@ -788,6 +820,7 @@ class Image extends RenderObjectWrapper {
assert(false);
// Image does not support having children currently
}
+
}
Set<Component> _dirtyComponents = new Set<Component>();
@@ -837,19 +870,24 @@ void _scheduleComponentForRender(Component c) {
}
abstract class Component extends UINode {
+
+ Component({ Object key, bool stateful })
+ : _stateful = stateful != null ? stateful : false,
+ _order = _currentOrder + 1,
+ super(key: key);
+
+ Component.fromArgs(Object key, bool stateful)
+ : this(key: key, stateful: stateful);
+
+ static Component _currentlyBuilding;
bool get _isBuilding => _currentlyBuilding == this;
- bool _dirty = true;
+ bool _stateful;
+ bool _dirty = true;
bool _disqualifiedFromEverAppearingAgain = false;
- UINode _built;
- final int _order;
- static int _currentOrder = 0;
- bool _stateful;
- static Component _currentlyBuilding;
List<Function> _mountCallbacks;
List<Function> _unmountCallbacks;
- dynamic _slot; // cached slot from the last time we were synced
void onDidMount(Function fn) {
if (_mountCallbacks == null)
@@ -865,14 +903,6 @@ abstract class Component extends UINode {
_unmountCallbacks.add(fn);
}
- Component({ Object key, bool stateful })
- : _stateful = stateful != null ? stateful : false,
- _order = _currentOrder + 1,
- super(key: key);
-
- Component.fromArgs(Object key, bool stateful)
- : this(key: key, stateful: stateful);
-
void _didMount() {
assert(!_disqualifiedFromEverAppearingAgain);
super._didMount();
@@ -916,6 +946,9 @@ abstract class Component extends UINode {
return true;
}
+ final int _order;
+ static int _currentOrder = 0;
+
/* There are three cases here:
* 1) Building for the first time:
* assert(_built == null && old == null)
@@ -980,17 +1013,10 @@ abstract class Component extends UINode {
}
UINode build();
+
}
class Container extends Component {
- final UINode child;
- final BoxConstraints constraints;
- final BoxDecoration decoration;
- final EdgeDims margin;
- final EdgeDims padding;
- final Matrix4 transform;
- final double width;
- final double height;
Container({
Object key,
@@ -1004,6 +1030,15 @@ class Container extends Component {
this.transform
}) : super(key: key);
+ final UINode child;
+ final BoxConstraints constraints;
+ final BoxDecoration decoration;
+ final EdgeDims margin;
+ final EdgeDims padding;
+ final Matrix4 transform;
+ final double width;
+ final double height;
+
UINode build() {
UINode current = child;
@@ -1034,6 +1069,7 @@ class Container extends Component {
return current;
}
+
}
class _AppView extends AppView {
@@ -1072,6 +1108,7 @@ abstract class App extends Component {
_appView.root = root;
assert(root.parent is RenderView);
}
+
}
class Text extends Component {
« no previous file with comments | « sky/sdk/lib/framework/components2/tool_bar.dart ('k') | sky/sdk/lib/framework/rendering/box.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698