{"id":0,"registry":{"0":{"submorphs":[],"scripts":[],"id":"5376E178-01B3-4369-B531-3B3DD4F6F015","shape":{"__isSmartRef__":true,"id":1},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"SpacerMorph","partsBinMetaInfo":{"__isSmartRef__":true,"id":2},"eventHandler":{"__isSmartRef__":true,"id":34},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","ED38E7CF-DBF8-44F7-8FCD-44556A95F525","2837627B-B301-45E3-BE2F-AE809626DE89","43E4DB05-C44F-44CB-A54B-72C9636B3396","D4A35074-DDE1-4EB5-AA93-C43A119497EB","CF518181-272E-4C27-B197-8293CC3C656D","B452D558-D948-42E3-A432-D47C514667B3","074439CA-3EBB-40B9-8DBF-B5CB7F0682A8"],"partTests":{"__isSmartRef__":true,"id":35},"_ClipMode":"visible","moved":true,"layout":{"__isSmartRef__":true,"id":40},"isBeingDragged":false,"originalTargetExtent":null,"morphA":null,"morphB":null,"originalMorphAExtent":null,"originalMorphBExtent":null,"prevScroll":[0,0],"isLayoutHelper":true,"__serializedExpressions__":["_Position","distanceToDragEvent","dragStartPoint","originalMorphBPosition"],"_Rotation":0,"_Scale":0.9803921568627452,"_PreviousBorderWidth":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":41},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(558.9,-9.3)","dragStartPoint":"lively.pt(201.0,475.0)","originalMorphBPosition":"lively.pt(0.0,295.8)"},"1":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.5557,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(854.6,7.9)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(167,167,173)","_Padding":"lively.rect(0,0,0,0)"},"2":{"partsSpaceName":"PartsBin/Widgets/","comment":"A general spacer morph, that can be used to adjust the extent of two morphs\n","migrationLevel":4,"partName":"SpacerMorph","changes":[{"__isSmartRef__":true,"id":3},{"__isSmartRef__":true,"id":5},{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":9},{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":13},{"__isSmartRef__":true,"id":15},{"__isSmartRef__":true,"id":17},{"__isSmartRef__":true,"id":19},{"__isSmartRef__":true,"id":21},{"__isSmartRef__":true,"id":23},{"__isSmartRef__":true,"id":25},{"__isSmartRef__":true,"id":27},{"__isSmartRef__":true,"id":29},{"__isSmartRef__":true,"id":31}],"revisionOnLoad":195028,"lastModifiedDate":{"__isSmartRef__":true,"id":33},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3":{"date":{"__isSmartRef__":true,"id":4},"author":"jenslincke","message":"no comment","id":"3FF2C8E3-9B5C-4846-B328-5B9DE699E342"},"4":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:01:17 GMT+0100 (CET)"},"5":{"date":{"__isSmartRef__":true,"id":6},"author":"jenslincke","message":"no comment","id":"4D8DFE4C-2980-4B5F-A1E9-E4C650CBA0C6"},"6":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:01:14 GMT+0100 (CET)"},"7":{"date":{"__isSmartRef__":true,"id":8},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"8":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"9":{"date":{"__isSmartRef__":true,"id":10},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"10":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"11":{"date":{"__isSmartRef__":true,"id":12},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"12":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"13":{"date":{"__isSmartRef__":true,"id":14},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"14":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"15":{"date":{"__isSmartRef__":true,"id":16},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"16":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"17":{"date":{"__isSmartRef__":true,"id":18},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"18":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"19":{"date":{"__isSmartRef__":true,"id":20},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"20":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"21":{"date":{"__isSmartRef__":true,"id":22},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"22":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"23":{"date":{"__isSmartRef__":true,"id":24},"author":"jenslincke","message":"no comment","id":"FA94CFD6-7DB4-4712-B4A0-E0BC45EF55E9"},"24":{"isSerializedDate":true,"string":"Fri Apr 12 2013 16:32:01 GMT+0200 (CEST)"},"25":{"date":{"__isSmartRef__":true,"id":26},"author":"jenslincke","message":"no comment","id":"C30C23D7-FEA0-4555-8C6C-47EBEF7E3BDF"},"26":{"isSerializedDate":true,"string":"Fri Apr 12 2013 16:32:56 GMT+0200 (CEST)"},"27":{"date":{"__isSmartRef__":true,"id":28},"author":"jenslincke","message":"no comment","id":"70CC7B49-36E9-4F2A-AC2B-FE752318592F"},"28":{"isSerializedDate":true,"string":"Fri Apr 12 2013 16:42:56 GMT+0200 (CEST)"},"29":{"date":{"__isSmartRef__":true,"id":30},"author":"jenslincke","message":"has a fixed width when layouting","id":"C1D4121E-E784-4EB0-AA62-C8937C828BCC"},"30":{"isSerializedDate":true,"string":"Fri Apr 12 2013 17:00:06 GMT+0200 (CEST)"},"31":{"date":{"__isSmartRef__":true,"id":32},"author":"jenslincke","message":"no comment","id":"C7F0E7F2-F8AD-4F7D-9D76-25DEC55C129D"},"32":{"isSerializedDate":true,"string":"Fri Apr 12 2013 17:12:28 GMT+0200 (CEST)"},"33":{"isSerializedDate":true,"string":"Fri Apr 12 2013 16:57:12 GMT+0200 (CEST)"},"34":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"35":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":36}},"36":{"test01IsMorph":{"__isSmartRef__":true,"id":37}},"37":{"varMapping":{"__isSmartRef__":true,"id":38},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":39},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"38":{"this":{"__isSmartRef__":true,"id":35}},"39":{},"40":{"moveVertical":false,"moveHorizontal":false,"fixedWidth":true,"resizeWidth":true},"41":{"onDrag":{"__isSmartRef__":true,"id":42},"onDragEnd":{"__isSmartRef__":true,"id":50},"onDragStart":{"__isSmartRef__":true,"id":58},"getSiblingsAtCorner":{"__isSmartRef__":true,"id":66},"isVerticalSpacer":{"__isSmartRef__":true,"id":70}},"42":{"varMapping":{"__isSmartRef__":true,"id":43},"source":"function onDrag(evt) {\n    var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n\n    if (this.isVerticalSpacer()) {\n        moveDelta.x = 0;\n    } else {\n        moveDelta.y = 0;\n    }\n    if (!this.morphA || !this.morphB) return;\n    \n    var newExtent = this.originalMorphAExtent.addPt(moveDelta);\n    this.morphA.setExtent(newExtent);\n\n    this.morphB.setPosition(this.originalMorphBPosition.addPt(moveDelta));\n\n    if (this.isVerticalSpacer()) {\n        moveDelta.y = - moveDelta.y;\n        this.morphB.setExtent(this.originalMorphBExtent.addPt(moveDelta));\n        this.align(\n            this.bounds().topLeft(),\n            this.morphA.bounds().bottomLeft())\n    } else {\n        moveDelta.x = - moveDelta.x;\n        this.morphB.setExtent(this.originalMorphBExtent.addPt(moveDelta));\n        this.align(\n            this.bounds().bottomLeft(),\n            this.morphA.bounds().bottomRight())\n    }\n\n}","funcProperties":{"__isSmartRef__":true,"id":48},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"43":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":44}},"44":{"$super":{"__isSmartRef__":true,"id":45}},"45":{"varMapping":{"__isSmartRef__":true,"id":46},"source":"function () {\n                    try {\n                        return obj.constructor.prototype[name].apply(obj, arguments)\n                    } catch (e) {\n                        if ($world)\n                            $world.logError(e, 'Error in $super call')\n                        else\n                            alert('Error in $super call: ' + e + '\\n' + e.stack);\n                        return null;\n                    }\n                }","funcProperties":{"__isSmartRef__":true,"id":47},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"46":{"obj":{"__isSmartRef__":true,"id":0},"name":"onDrag"},"47":{},"48":{"source":"function onDrag(evt) {\n    var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n\n    if (this.isVerticalSpacer()) {\n        moveDelta.x = 0;\n    } else {\n        moveDelta.y = 0;\n    }\n    if (!this.morphA || !this.morphB) return;\n    \n    var newExtent = this.originalMorphAExtent.addPt(moveDelta);\n    this.morphA.setExtent(newExtent);\n\n    this.morphB.setPosition(this.originalMorphBPosition.addPt(moveDelta));\n\n    if (this.isVerticalSpacer()) {\n        moveDelta.y = - moveDelta.y;\n        this.morphB.setExtent(this.originalMorphBExtent.addPt(moveDelta));\n        this.align(\n            this.bounds().topLeft(),\n            this.morphA.bounds().bottomLeft())\n    } else {\n        moveDelta.x = - moveDelta.x;\n        this.morphB.setExtent(this.originalMorphBExtent.addPt(moveDelta));\n        this.align(\n            this.bounds().bottomLeft(),\n            this.morphA.bounds().bottomRight())\n    }\n\n}","timestamp":{"__isSmartRef__":true,"id":49},"user":"jenslincke","tags":[]},"49":{"isSerializedDate":true,"string":"Fri Apr 12 2013 17:08:54 GMT+0200 (CEST)"},"50":{"varMapping":{"__isSmartRef__":true,"id":51},"source":"function onDragEnd(evt) {\n    this.morphA = null;\n    this.morphB = null;\n    this.originalMorphAExtent = null;\n    this.originalMorphBExtent = null;\n}","funcProperties":{"__isSmartRef__":true,"id":56},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"51":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":52}},"52":{"$super":{"__isSmartRef__":true,"id":53}},"53":{"varMapping":{"__isSmartRef__":true,"id":54},"source":"function () {\n                    try {\n                        return obj.constructor.prototype[name].apply(obj, arguments)\n                    } catch (e) {\n                        if ($world)\n                            $world.logError(e, 'Error in $super call')\n                        else\n                            alert('Error in $super call: ' + e + '\\n' + e.stack);\n                        return null;\n                    }\n                }","funcProperties":{"__isSmartRef__":true,"id":55},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"54":{"obj":{"__isSmartRef__":true,"id":0},"name":"onDragEnd"},"55":{},"56":{"timestamp":{"__isSmartRef__":true,"id":57},"user":"jenslincke","tags":[]},"57":{"isSerializedDate":true,"string":"Thu Nov 22 2012 12:32:59 GMT+0100 (CET)"},"58":{"varMapping":{"__isSmartRef__":true,"id":59},"source":"function onDragStart(evt) {\n    this.dragStartPoint = evt.mousePoint;\n    if (this.isVerticalSpacer()) {\n        this.morphA = this.getSiblingsAtCorner(\"topCenter\")[0]\n        this.morphB = this.getSiblingsAtCorner(\"bottomCenter\")[0]\n    } else {\n        this.morphA = this.getSiblingsAtCorner(\"leftCenter\")[0]\n        this.morphB = this.getSiblingsAtCorner(\"rightCenter\")[0]\n    }\n\n    if (!this.morphA || !this.morphB) return;\n\n    this.originalMorphAExtent = this.morphA.getExtent();\n    this.originalMorphBExtent = this.morphB.getExtent();\n    this.originalMorphBPosition = this.morphB.getPosition();\n\n}","funcProperties":{"__isSmartRef__":true,"id":64},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"59":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":60}},"60":{"$super":{"__isSmartRef__":true,"id":61}},"61":{"varMapping":{"__isSmartRef__":true,"id":62},"source":"function () {\n                    try {\n                        return obj.constructor.prototype[name].apply(obj, arguments)\n                    } catch (e) {\n                        if ($world)\n                            $world.logError(e, 'Error in $super call')\n                        else\n                            alert('Error in $super call: ' + e + '\\n' + e.stack);\n                        return null;\n                    }\n                }","funcProperties":{"__isSmartRef__":true,"id":63},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"62":{"obj":{"__isSmartRef__":true,"id":0},"name":"onDragStart"},"63":{},"64":{"source":"function onDragStart(evt) {\n    this.dragStartPoint = evt.mousePoint;\n    if (this.isVerticalSpacer()) {\n        this.morphA = this.getSiblingsAtCorner(\"topCenter\")[0]\n        this.morphB = this.getSiblingsAtCorner(\"bottomCenter\")[0]\n    } else {\n        this.morphA = this.getSiblingsAtCorner(\"leftCenter\")[0]\n        this.morphB = this.getSiblingsAtCorner(\"rightCenter\")[0]\n    }\n\n    if (!this.morphA || !this.morphB) return;\n\n    this.originalMorphAExtent = this.morphA.getExtent();\n    this.originalMorphBExtent = this.morphB.getExtent();\n    this.originalMorphBPosition = this.morphB.getPosition();\n\n}","timestamp":{"__isSmartRef__":true,"id":65},"user":"jenslincke","tags":[]},"65":{"isSerializedDate":true,"string":"Fri Apr 12 2013 17:09:28 GMT+0200 (CEST)"},"66":{"varMapping":{"__isSmartRef__":true,"id":67},"source":"function getSiblingsAtCorner(corner) {\n    // this.getSiblingsAtCorner(\"topLeft\")\n    var p = this.bounds()[corner]()\n    var self= this;\n    return this.owner.submorphs.select(function(ea) {\n        return (ea !== self) && ea.bounds().insetBy(-5).containsPoint(p)\n    })\n}","funcProperties":{"__isSmartRef__":true,"id":68},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"67":{"this":{"__isSmartRef__":true,"id":0}},"68":{"timestamp":{"__isSmartRef__":true,"id":69},"user":"jenslincke","tags":[]},"69":{"isSerializedDate":true,"string":"Fri Apr 12 2013 16:40:10 GMT+0200 (CEST)"},"70":{"varMapping":{"__isSmartRef__":true,"id":71},"source":"function isVerticalSpacer() {\n    var e = this.getExtent()\n    return e.x / e.y > 1\n}","funcProperties":{"__isSmartRef__":true,"id":72},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"71":{"this":{"__isSmartRef__":true,"id":0}},"72":{"source":"function isVerticalSpacer() {\n    var e = this.getExtent()\n    return e.x / e.y > 1\n}","timestamp":{"__isSmartRef__":true,"id":73},"user":"jenslincke","tags":[]},"73":{"isSerializedDate":true,"string":"Fri Apr 12 2013 17:01:58 GMT+0200 (CEST)"},"isSimplifiedRegistry":true}}