| Index: sky/sdk/lib/widgets/scaffold.dart
|
| diff --git a/sky/sdk/lib/widgets/scaffold.dart b/sky/sdk/lib/widgets/scaffold.dart
|
| index 3a50fab54f02fa0b8dd084dbf36604e918e1b955..17f5dd33476f15979e153938254c0a125e3b909e 100644
|
| --- a/sky/sdk/lib/widgets/scaffold.dart
|
| +++ b/sky/sdk/lib/widgets/scaffold.dart
|
| @@ -54,6 +54,7 @@ class RenderScaffold extends RenderBox {
|
| markNeedsLayout();
|
| }
|
|
|
| + @override
|
| void attachChildren() {
|
| for (ScaffoldSlots slot in ScaffoldSlots.values) {
|
| RenderBox box = _slots[slot];
|
| @@ -62,6 +63,7 @@ class RenderScaffold extends RenderBox {
|
| }
|
| }
|
|
|
| + @override
|
| void detachChildren() {
|
| for (ScaffoldSlots slot in ScaffoldSlots.values) {
|
| RenderBox box = _slots[slot];
|
| @@ -81,7 +83,10 @@ class RenderScaffold extends RenderBox {
|
| return null;
|
| }
|
|
|
| + @override
|
| bool get sizedByParent => true;
|
| +
|
| + @override
|
| void performResize() {
|
| size = constraints.biggest;
|
| assert(!size.isInfinite);
|
| @@ -92,6 +97,7 @@ class RenderScaffold extends RenderBox {
|
| static const kButtonX = 16.0; // left from right edge of body
|
| static const kButtonY = 16.0; // up from bottom edge of body
|
|
|
| + @override
|
| void performLayout() {
|
| double bodyHeight = size.height;
|
| double bodyPosition = 0.0;
|
| @@ -142,6 +148,7 @@ class RenderScaffold extends RenderBox {
|
| }
|
| }
|
|
|
| + @override
|
| void paint(PaintingCanvas canvas, Offset offset) {
|
| for (ScaffoldSlots slot in ScaffoldSlots.values) {
|
| RenderBox box = _slots[slot];
|
| @@ -152,6 +159,7 @@ class RenderScaffold extends RenderBox {
|
| }
|
| }
|
|
|
| + @override
|
| void hitTestChildren(HitTestResult result, { Point position }) {
|
| for (ScaffoldSlots slot in ScaffoldSlots.values.reversed) {
|
| RenderBox box = _slots[slot];
|
| @@ -165,6 +173,7 @@ class RenderScaffold extends RenderBox {
|
| }
|
| }
|
|
|
| + @override
|
| String debugDescribeChildren(String prefix) {
|
| return _slots.keys.map((slot) => '${prefix}${slot}: ${_slots[slot].toString(prefix)}').join();
|
| }
|
| @@ -191,9 +200,13 @@ class Scaffold extends RenderObjectWrapper {
|
|
|
| Map<ScaffoldSlots, Widget> _slots = new Map<ScaffoldSlots, Widget>();
|
|
|
| + @override
|
| RenderScaffold get root => super.root;
|
| +
|
| + @override
|
| RenderScaffold createNode() => new RenderScaffold();
|
|
|
| + @override
|
| void walkChildren(WidgetTreeWalker walker) {
|
| for (ScaffoldSlots slot in ScaffoldSlots.values) {
|
| Widget widget = _slots[slot];
|
| @@ -202,10 +215,12 @@ class Scaffold extends RenderObjectWrapper {
|
| }
|
| }
|
|
|
| + @override
|
| void insertChildRoot(RenderObjectWrapper child, ScaffoldSlots slot) {
|
| root[slot] = child != null ? child.root : null;
|
| }
|
|
|
| + @override
|
| void detachChildRoot(RenderObjectWrapper child) {
|
| final root = this.root; // TODO(ianh): Remove this once the analyzer is cleverer
|
| assert(root is RenderScaffold);
|
| @@ -214,11 +229,13 @@ class Scaffold extends RenderObjectWrapper {
|
| assert(root == this.root); // TODO(ianh): Remove this once the analyzer is cleverer
|
| }
|
|
|
| + @override
|
| void remove() {
|
| walkChildren((Widget child) => removeChild(child));
|
| super.remove();
|
| }
|
|
|
| + @override
|
| void syncRenderObject(Widget old) {
|
| super.syncRenderObject(old);
|
| for (ScaffoldSlots slot in ScaffoldSlots.values) {
|
|
|