{"id":0,"registry":{"0":{"submorphs":[],"scripts":[],"id":"0BD342B9-ACA0-44AB-87B0-7EAD976E4423","shape":{"__isSmartRef__":true,"id":1},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"name":"PlomaChunkHandle","partsBinMetaInfo":{"__isSmartRef__":true,"id":2},"eventHandler":{"__isSmartRef__":true,"id":50},"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","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","527E27D5-C889-41E1-914C-04783707EA64","6B7B9EE6-86B7-4364-97FF-CE245DB3104E","FAF490BD-C249-4CE0-AE39-B445E9CD887A","3519F208-CDF1-4C70-B829-FD4E4570A428","B74D5D30-805D-4D9E-A00E-6B83AD92BFFD","FC66E161-20E7-4400-A6A2-D2C2CC54EB86","A3A3AFCC-6035-463E-B2C3-88F08E448C81","AD876095-8DAB-4BB9-86B8-55506860BC09","41022243-1ED0-4C61-9D82-C41940599942","7DB86FF6-DB48-4C1B-AF63-27C50E9D4AB8","92D8B255-DAE5-4799-8737-5F518201A772","6532C546-837B-427A-B373-F940DA95F508","7D72AEAC-6DED-42DE-A96D-097458AFCB72","E690AE25-7674-4F87-9374-FBEF1116CBB2","89A6CE1F-C4F4-44BF-9067-F8D9C938AA3B","0289E6CA-D69B-4AE7-B413-0FEDA1C8D62F","EEF5032A-1F92-44F9-AA11-44BFB314607B","E761F3F4-92B4-4780-B5B9-A17C3680DC15","11158191-9BC8-4F3A-9075-C6D2EB486F51","18973076-6B2F-4C0C-9493-BB1ED283D285","373B4CD0-E617-4137-8ECB-ABAE85D23FE1","EEA39CCB-5CBA-4382-98FD-834363EEC166","DC85BA91-FC86-474D-9735-55908874B12A","8C2EC5FB-55D6-4C23-8344-9EBE003B922F","D75B11CC-080B-4DBE-A6F1-D130C954FBE6","2B13F9EC-4EEE-44AA-AB8F-03A7345BA982","79218B91-FD84-48F0-9776-2929D1499587","FC974268-B022-470E-AE9D-5103B6B4CD5F","EE5BCB24-51A5-41E7-A9C3-CE5CD13D97CA","B4FCD87E-1B7E-4492-87C6-FFAF1EDA9091"],"partTests":{"__isSmartRef__":true,"id":51},"_ClipMode":"visible","moved":true,"strokes":[],"eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","grabbingEnabled":false,"draggingEnabled":false,"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":56},"showsHalos":false,"__serializedExpressions__":["distanceToDragEvent","_Position"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":57},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(42.0,-17.0)","_Position":"lively.pt(0.0,0.0)"},"1":{"_BorderWidth":3,"_ClipMode":"visible","_BorderRadius":4,"_Opacity":1,"_BorderStyle":"dashed","__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(94.0,94.0)","_BorderColor":"Color.rgba(204,204,204,0.7)","_Fill":"Color.rgba(255,255,255,0)","_Padding":"lively.rect(0,0,0,0)"},"2":{"partsSpaceName":"PartsBin/Astrid/","comment":"A shadowmorph like rectangle that allows transforming chunks that are associated with it. Special for ploma integration","migrationLevel":9,"partName":"PlomaChunkHandle","changes":[{"__isSmartRef__":true,"id":3},{"__isSmartRef__":true,"id":4},{"__isSmartRef__":true,"id":5},{"__isSmartRef__":true,"id":6},{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":9},{"__isSmartRef__":true,"id":10},{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":12},{"__isSmartRef__":true,"id":13},{"__isSmartRef__":true,"id":14},{"__isSmartRef__":true,"id":15},{"__isSmartRef__":true,"id":16},{"__isSmartRef__":true,"id":17},{"__isSmartRef__":true,"id":18},{"__isSmartRef__":true,"id":19},{"__isSmartRef__":true,"id":20},{"__isSmartRef__":true,"id":21},{"__isSmartRef__":true,"id":22},{"__isSmartRef__":true,"id":23},{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":25},{"__isSmartRef__":true,"id":26},{"__isSmartRef__":true,"id":27},{"__isSmartRef__":true,"id":28},{"__isSmartRef__":true,"id":29},{"__isSmartRef__":true,"id":30},{"__isSmartRef__":true,"id":31},{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":33},{"__isSmartRef__":true,"id":34},{"__isSmartRef__":true,"id":35},{"__isSmartRef__":true,"id":36},{"__isSmartRef__":true,"id":37},{"__isSmartRef__":true,"id":38},{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":40},{"__isSmartRef__":true,"id":41},{"__isSmartRef__":true,"id":42},{"__isSmartRef__":true,"id":43},{"__isSmartRef__":true,"id":44},{"__isSmartRef__":true,"id":45},{"__isSmartRef__":true,"id":46},{"__isSmartRef__":true,"id":47},{"__isSmartRef__":true,"id":48},{"__isSmartRef__":true,"id":49}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Dec 29 2014 16:54:44 GMT-0800 (PST)\")"},"3":{"author":"athomschke","message":"allowed export this in menu","id":"59802C96-6734-4CC4-9FE9-2451588ADD92","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 29 2014 16:54:43 GMT-0800 (PST)\")"},"4":{"author":"athomschke","message":"initially copied from ChunkHandle","id":"E2813BB9-2BB7-44E2-A01E-045A566C2943","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 29 2014 16:11:03 GMT-0800 (PST)\")"},"5":{"author":"athomschke","message":"minor refactoring","id":"D2B7284F-331F-47AF-BB5C-71C694047631","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 18 2014 17:24:34 GMT-0800 (PST)\")"},"6":{"author":"athomschke","message":"added hide functionality","id":"93089D37-18C9-4C01-88C7-FD23C73E1BE1","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 17 2014 23:15:20 GMT-0800 (PST)\")"},"7":{"author":"athomschke","message":"forwards fill, borderwidth and bordercolor to controlled morph.","id":"3D10F82F-A0AB-4F2C-9829-62DBD24A2C06","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 17:20:59 GMT-0800 (PST)\")"},"8":{"author":"athomschke","message":"redirect loop","id":"8C00DAC1-C980-4C8B-B80E-26B79BD5B37F","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 15:31:00 GMT-0800 (PST)\")"},"9":{"author":"athomschke","message":"removed the ellipsis","id":"FC43A9C3-865B-4269-8E17-8948D2F2209F","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 15:06:01 GMT-0800 (PST)\")"},"10":{"author":"athomschke","message":"layouting","id":"B0FA600D-EAC9-407D-8DEF-2D7F920EBA24","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 13:29:21 GMT-0800 (PST)\")"},"11":{"author":"athomschke","message":"no, you don't disable your own events. nooooooooo","id":"24AEFA3B-D6A9-4707-9730-A384AFB692E6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 11:04:11 GMT-0800 (PST)\")"},"12":{"author":"athomschke","message":"updating chunker again after updating said chunker","id":"51E1E8B4-45CD-48A9-9B5F-7B3585E836C8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 08 2014 17:59:30 GMT-0800 (PST)\")"},"13":{"author":"athomschke","message":"fixing propagation behavior","id":"3F3590A4-4A59-4836-B580-D74FCB7E4FF7","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 08 2014 17:44:55 GMT-0800 (PST)\")"},"14":{"author":"jenslincke","message":"no comment","id":"ADFBF069-513C-4DE6-95A9-8AD4985C6508","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:23:53 GMT-0800 (PST)\")"},"15":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"16":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"17":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"18":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"19":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"20":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"21":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"22":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"23":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"24":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"25":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"26":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"27":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"28":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"29":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"30":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"31":{"author":"jenslincke","message":"no comment","id":"ECD12BFF-E872-4918-8341-C6571E72F36D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:24:27 GMT-0800 (PST)\")"},"32":{"author":"lauritz","message":"dropping enabled for the blue rectangle","id":"81D350CB-D926-491F-8FF3-A6C9C831BDF2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"33":{"author":"robertkrahn","message":"no comment","id":"5AF36E70-7428-4762-9423-D7160E3DCBDC","__serializedExpressions__":["date"],"date":"new Date(\"Sat Nov 08 2014 15:34:45 GMT-0800 (PST)\")"},"34":{"author":"athomschke","message":"initial","id":"318308E7-D8B2-4C53-8C4A-F033B80A096F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 08 2014 16:34:35 GMT-0800 (PST)\")"},"35":{"author":"athomschke","message":"only connect to chunk, not whole history","id":"416BDB63-8350-4D64-9FEF-33A8F649EF5F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 08 2014 16:37:07 GMT-0800 (PST)\")"},"36":{"author":"athomschke","message":"regarding origin","id":"0F50D377-371A-41E9-9E13-7B30D236F2A6","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 09 2014 17:14:46 GMT-0800 (PST)\")"},"37":{"author":"athomschke","message":"removing from handles array of drawing canvas","id":"7130C1F1-3899-484E-B42E-23F8D7D3CD65","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 09 2014 17:16:53 GMT-0800 (PST)\")"},"38":{"author":"athomschke","message":"disabled grabbing and dragging, enabled events, removed borders","id":"07DCD69B-E33C-40F5-A6B1-20A4BF361ACE","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 10:17:34 GMT-0800 (PST)\")"},"39":{"author":"athomschke","message":"gave it visibility","id":"C93599D5-CFBE-4190-96F0-0745FFABABE4","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 13:27:34 GMT-0800 (PST)\")"},"40":{"author":"athomschke","message":"resetted and changed showHalosForMorphBeneath behavior","id":"8B37437C-9B8E-483E-8484-7751390A27EA","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 15:25:23 GMT-0800 (PST)\")"},"41":{"author":"athomschke","message":"switched handling of toggleHalos","id":"BD941E5F-8DF6-440D-88E6-F7539C6EB7F2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 15:41:47 GMT-0800 (PST)\")"},"42":{"author":"athomschke","message":"prepared for vice versa halo showing","id":"C9A06BC5-CEEA-49E5-AF7D-6F8A45AB762D","__serializedExpressions__":["date"],"date":"new Date(\"Fri Dec 12 2014 20:07:27 GMT-0800 (PST)\")"},"43":{"author":"athomschke","message":"added funcionality to hide all but this","id":"CA39BE19-6DAE-4EA7-A457-B8AA23F86D26","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 17 2014 22:09:46 GMT-0800 (PST)\")"},"44":{"author":"athomschke","message":"updating time slider when hiding all but this","id":"4C87D575-72FF-4833-995B-8443EFDDC704","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 17 2014 22:28:52 GMT-0800 (PST)\")"},"45":{"author":"athomschke","message":"updating time slider when hiding all but this","id":"02F0AE13-BCE6-4BAB-BAA5-3D3E739D8D2F","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 17 2014 23:03:51 GMT-0800 (PST)\")"},"46":{"author":"athomschke","message":"tagged new functionality for menu use","id":"3E33C314-6538-4863-9A08-F47BA3B5D2D4","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 17 2014 23:17:29 GMT-0800 (PST)\")"},"47":{"author":"athomschke","message":"added show on canvas functionality","id":"668ACBC2-BF13-46DE-B4EB-1F96A14F8B41","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 18 2014 18:07:31 GMT-0800 (PST)\")"},"48":{"author":"athomschke","message":"refactoring: no saved timeChunks anymore on canvas","id":"1B954231-22A6-4967-8718-F53F65914B27","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 22 2014 14:50:53 GMT-0800 (PST)\")"},"49":{"__serializedExpressions__":["date"],"author":"athomschke","message":"deactivated onmousemove etc.","id":"C6809DDC-E673-4567-8CAF-EA6C049A9704","date":"new Date(\"Fri Jan 02 2015 11:15:20 GMT-0800 (PST)\")"},"50":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"51":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":52}},"52":{"test01IsMorph":{"__isSmartRef__":true,"id":53}},"53":{"varMapping":{"__isSmartRef__":true,"id":54},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":55},"__LivelyClassName__":"lively.Closure"},"54":{"this":{"__isSmartRef__":true,"id":51}},"55":{},"56":{"adjustForNewBounds":true},"57":{"setup":{"__isSmartRef__":true,"id":58},"propagateTransform":{"__isSmartRef__":true,"id":61},"reset":{"__isSmartRef__":true,"id":64},"setupWith":{"__isSmartRef__":true,"id":67},"remove":{"__isSmartRef__":true,"id":70},"showHalosForMorphBeneath":{"__isSmartRef__":true,"id":77},"setBorderColor":{"__isSmartRef__":true,"id":84},"setBorderWidth":{"__isSmartRef__":true,"id":91},"setFill":{"__isSmartRef__":true,"id":98},"onShowHalos":{"__isSmartRef__":true,"id":105},"hideAllButThis":{"__isSmartRef__":true,"id":108},"morphMenuItems":{"__isSmartRef__":true,"id":111},"hide":{"__isSmartRef__":true,"id":118},"makeVisible":{"__isSmartRef__":true,"id":121},"exportContent":{"__isSmartRef__":true,"id":124},"onMouseDown":{"__isSmartRef__":true,"id":127},"onMouseMove":{"__isSmartRef__":true,"id":134},"onMouseUp":{"__isSmartRef__":true,"id":141}},"58":{"varMapping":{"__isSmartRef__":true,"id":59},"source":"function setup() {\n    this.drawingCanvas = $world.get('InteractiveDrawingCanvasMorph');\n    this.strokes = [];\n    this.drawingCanvas.history.each(function(ea) {\n        this.strokes.push({\n            originalFrom: Object.clone(ea.from).subPt(this.getPositionInWorld().subPt(this.drawingCanvas.getPositionInWorld())),\n            originalTo: Object.clone(ea.to).subPt(this.getPositionInWorld().subPt(this.drawingCanvas.getPositionInWorld())),\n            strokeReference: ea\n        });\n    }.bind(this));\n    Global.connect(this, '_Position', this, 'propagateTransform');\n    Global.connect(this, '_Scale', this, 'propagateTransform');\n    Global.connect(this, '_Rotation', this, 'propagateTransform');\n    Global.connect(this, 'showsHalos', this, 'onShowHalos');\n}","funcProperties":{"__isSmartRef__":true,"id":60},"__LivelyClassName__":"lively.Closure"},"59":{"this":{"__isSmartRef__":true,"id":0}},"60":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Fri Dec 12 2014 20:06:28 GMT-0800 (PST)\")"},"61":{"varMapping":{"__isSmartRef__":true,"id":62},"source":"function propagateTransform() {\n    var off = this.getPositionInWorld()\n        .subPt(this.drawingCanvas.getPositionInWorld());\n    var newPositions = this.strokes.collect(function(ea, idx) {\n        return {\n            from: ea.originalFrom\n                .subPt(this.getOrigin())\n                .matrixTransform(this.getGlobalTransform())\n                .subPt(this.getPositionInWorld()).addPt(off),\n            to: ea.originalTo\n                .subPt(this.getOrigin())\n                .matrixTransform(this.getGlobalTransform())\n                .subPt(this.getPositionInWorld()).addPt(off)\n            }\n    }.bind(this))\n    this.drawingCanvas.run('updateTransformForStrokes', [this.strokes.pluck('strokeReference'), newPositions])\n}","funcProperties":{"__isSmartRef__":true,"id":63},"__LivelyClassName__":"lively.Closure"},"62":{"this":{"__isSmartRef__":true,"id":0}},"63":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Mon Dec 29 2014 16:05:41 GMT-0800 (PST)\")"},"64":{"varMapping":{"__isSmartRef__":true,"id":65},"source":"function reset() {\n    this.attributeConnections && this.attributeConnections.invoke('disconnect')\n    delete this.drawingCanvas\n    this.strokes = [];\n}","funcProperties":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.Closure"},"65":{"this":{"__isSmartRef__":true,"id":0}},"66":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Wed Dec 10 2014 15:24:53 GMT-0800 (PST)\")"},"67":{"varMapping":{"__isSmartRef__":true,"id":68},"source":"function setupWith(aCanvas, strokes) {\n    this.drawingCanvas = aCanvas;\n    this.strokes = [];\n    strokes.each(function(ea) {\n        this.strokes.push({\n            originalFrom: Object.clone(ea.from).subPt(this.getPositionInWorld().subPt(this.drawingCanvas.getPositionInWorld())),\n            originalTo: Object.clone(ea.to).subPt(this.getPositionInWorld().subPt(this.drawingCanvas.getPositionInWorld())),\n            strokeReference: ea\n        });\n    }.bind(this));\n    Global.connect(this, '_Position', this, 'propagateTransform');\n    Global.connect(this, '_Scale', this, 'propagateTransform');\n    Global.connect(this, '_Rotation', this, 'propagateTransform');\n    Global.connect(this, 'showsHalos', this, 'onShowHalos');\n}","funcProperties":{"__isSmartRef__":true,"id":69},"__LivelyClassName__":"lively.Closure"},"68":{"this":{"__isSmartRef__":true,"id":0}},"69":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Fri Dec 12 2014 20:06:28 GMT-0800 (PST)\")"},"70":{"varMapping":{"__isSmartRef__":true,"id":71},"source":"function remove() {\n    this.drawingCanvas && this.drawingCanvas.handles && this.drawingCanvas.handles.remove(this);\n    $super();\n}","funcProperties":{"__isSmartRef__":true,"id":76},"__LivelyClassName__":"lively.Closure"},"71":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":72}},"72":{"$super":{"__isSmartRef__":true,"id":73}},"73":{"varMapping":{"__isSmartRef__":true,"id":74},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":75},"__LivelyClassName__":"lively.Closure"},"74":{"obj":{"__isSmartRef__":true,"id":0},"name":"remove"},"75":{},"76":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Tue Dec 09 2014 17:16:12 GMT-0800 (PST)\")"},"77":{"varMapping":{"__isSmartRef__":true,"id":78},"source":"function showHalosForMorphBeneath(evt) {\n    var morphBeneath = this.morphBeneath(evt.getPosition());\n    if (morphBeneath) morphBeneath.showHalos(evt);\n    return morphBeneath\n}","funcProperties":{"__isSmartRef__":true,"id":83},"__LivelyClassName__":"lively.Closure"},"78":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":79}},"79":{"$super":{"__isSmartRef__":true,"id":80}},"80":{"varMapping":{"__isSmartRef__":true,"id":81},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.Closure"},"81":{"obj":{"__isSmartRef__":true,"id":0},"name":"showHalosForMorphBeneath"},"82":{},"83":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Wed Dec 10 2014 15:35:40 GMT-0800 (PST)\")"},"84":{"varMapping":{"__isSmartRef__":true,"id":85},"source":"function setBorderColor(aColor) {\n    if (!this.strokes || !this.drawingCanvas) {\n        $super(aColor)\n    }\n    this.drawingCanvas.run('setColorForStrokes', [this.strokes.pluck('strokeReference'), aColor])\n}","funcProperties":{"__isSmartRef__":true,"id":90},"__LivelyClassName__":"lively.Closure"},"85":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":86}},"86":{"$super":{"__isSmartRef__":true,"id":87}},"87":{"varMapping":{"__isSmartRef__":true,"id":88},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":89},"__LivelyClassName__":"lively.Closure"},"88":{"obj":{"__isSmartRef__":true,"id":0},"name":"setBorderColor"},"89":{},"90":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Mon Dec 29 2014 16:05:41 GMT-0800 (PST)\")"},"91":{"varMapping":{"__isSmartRef__":true,"id":92},"source":"function setBorderWidth(aNum) {\n    if (!this.strokes || !this.drawingCanvas) {\n        $super(aNum)\n    }\n    this.drawingCanvas.run('setWidthForStrokes', [this.strokes.pluck('strokeReference'), aNum])\n}","funcProperties":{"__isSmartRef__":true,"id":97},"__LivelyClassName__":"lively.Closure"},"92":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":93}},"93":{"$super":{"__isSmartRef__":true,"id":94}},"94":{"varMapping":{"__isSmartRef__":true,"id":95},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":96},"__LivelyClassName__":"lively.Closure"},"95":{"obj":{"__isSmartRef__":true,"id":0},"name":"setBorderWidth"},"96":{},"97":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Mon Dec 29 2014 16:05:41 GMT-0800 (PST)\")"},"98":{"varMapping":{"__isSmartRef__":true,"id":99},"source":"function setFill(aColor) {\n    if (!this.strokes || !this.drawingCanvas) {\n        $super(aColor)\n    }\n    this.drawingCanvas.run('setFillForStrokes', [this.strokes.pluck('strokeReference'), aColor])\n}","funcProperties":{"__isSmartRef__":true,"id":104},"__LivelyClassName__":"lively.Closure"},"99":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":100}},"100":{"$super":{"__isSmartRef__":true,"id":101}},"101":{"varMapping":{"__isSmartRef__":true,"id":102},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":103},"__LivelyClassName__":"lively.Closure"},"102":{"obj":{"__isSmartRef__":true,"id":0},"name":"setFill"},"103":{},"104":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Mon Dec 29 2014 16:05:41 GMT-0800 (PST)\")"},"105":{"varMapping":{"__isSmartRef__":true,"id":106},"source":"function onShowHalos(bool) {\n    lively.bindings.signal(this.drawingCanvas, 'handles', {\n        from: this.drawingCanvas.history.indexOf(this.strokes.first().strokeReference),\n        to: this.drawingCanvas.history.indexOf(this.strokes.last().strokeReference),\n        show: bool,\n        history: this.drawingCanvas.history\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":107},"__LivelyClassName__":"lively.Closure"},"106":{"this":{"__isSmartRef__":true,"id":0}},"107":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Thu Dec 18 2014 17:23:54 GMT-0800 (PST)\")"},"108":{"varMapping":{"__isSmartRef__":true,"id":109},"source":"function hideAllButThis() {\n    this.drawingCanvas.run('hideAllBut', [this.strokes.pluck('strokeReference')]);\n}","funcProperties":{"__isSmartRef__":true,"id":110},"__LivelyClassName__":"lively.Closure"},"109":{"this":{"__isSmartRef__":true,"id":0}},"110":{"__serializedExpressions__":["timestamp"],"user":"athomschke","tags":["menu"],"timestamp":"new Date(\"Mon Dec 29 2014 16:05:41 GMT-0800 (PST)\")"},"111":{"varMapping":{"__isSmartRef__":true,"id":112},"source":"function morphMenuItems() {\n    var items = $super();\n    var menuFunctionNames = Functions.own(this).select(function(functionName) {\n        return this[functionName].tags && this[functionName].tags.include('menu')\n    }.bind(this))\n    return items.concat([['canvas ...', menuFunctionNames.collect(function(functionName) {\n        return [functionName, this[functionName].bind(this)];\n    }.bind(this))]])\n}","funcProperties":{"__isSmartRef__":true,"id":117},"__LivelyClassName__":"lively.Closure"},"112":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":113}},"113":{"$super":{"__isSmartRef__":true,"id":114}},"114":{"varMapping":{"__isSmartRef__":true,"id":115},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":116},"__LivelyClassName__":"lively.Closure"},"115":{"obj":{"__isSmartRef__":true,"id":0},"name":"morphMenuItems"},"116":{},"117":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Wed Dec 17 2014 22:08:36 GMT-0800 (PST)\")"},"118":{"varMapping":{"__isSmartRef__":true,"id":119},"source":"function hide() {\n    this.drawingCanvas.run('hide', [this.strokes.pluck('strokeReference')]);\n}","funcProperties":{"__isSmartRef__":true,"id":120},"__LivelyClassName__":"lively.Closure"},"119":{"this":{"__isSmartRef__":true,"id":0}},"120":{"__serializedExpressions__":["timestamp"],"user":"athomschke","tags":["menu"],"timestamp":"new Date(\"Mon Dec 29 2014 16:09:39 GMT-0800 (PST)\")"},"121":{"varMapping":{"__isSmartRef__":true,"id":122},"source":"function makeVisible() {\n    this.drawingCanvas.run('makeVisible', [this.strokes.pluck('strokeReference')]);\n}","funcProperties":{"__isSmartRef__":true,"id":123},"__LivelyClassName__":"lively.Closure"},"122":{"this":{"__isSmartRef__":true,"id":0}},"123":{"__serializedExpressions__":["timestamp"],"user":"athomschke","tags":["menu"],"timestamp":"new Date(\"Mon Dec 29 2014 16:05:41 GMT-0800 (PST)\")"},"124":{"varMapping":{"__isSmartRef__":true,"id":125},"source":"function exportContent() {\n    this.drawingCanvas.canvasFromStrokes(this.strokes.pluck('strokeReference')).openInHand();\n}","funcProperties":{"__isSmartRef__":true,"id":126},"__LivelyClassName__":"lively.Closure"},"125":{"this":{"__isSmartRef__":true,"id":0}},"126":{"__serializedExpressions__":["timestamp"],"user":"athomschke","tags":["menu"],"timestamp":"new Date(\"Mon Dec 29 2014 16:53:50 GMT-0800 (PST)\")"},"127":{"varMapping":{"__isSmartRef__":true,"id":128},"source":"function onMouseDown(evt) {\n    return this.drawingCanvas ? this.drawingCanvas.onMouseDown(evt) : $super(evt);\n}","funcProperties":{"__isSmartRef__":true,"id":133},"__LivelyClassName__":"lively.Closure"},"128":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":129}},"129":{"$super":{"__isSmartRef__":true,"id":130}},"130":{"varMapping":{"__isSmartRef__":true,"id":131},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":132},"__LivelyClassName__":"lively.Closure"},"131":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseDown"},"132":{},"133":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Fri Jan 02 2015 11:14:53 GMT-0800 (PST)\")"},"134":{"varMapping":{"__isSmartRef__":true,"id":135},"source":"function onMouseMove(evt) {\n    return this.drawingCanvas ? this.drawingCanvas.onMouseMove(evt) : $super(evt);\n}","funcProperties":{"__isSmartRef__":true,"id":140},"__LivelyClassName__":"lively.Closure"},"135":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":136}},"136":{"$super":{"__isSmartRef__":true,"id":137}},"137":{"varMapping":{"__isSmartRef__":true,"id":138},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":139},"__LivelyClassName__":"lively.Closure"},"138":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseMove"},"139":{},"140":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Fri Jan 02 2015 11:14:53 GMT-0800 (PST)\")"},"141":{"varMapping":{"__isSmartRef__":true,"id":142},"source":"function onMouseUp(evt) {\n    return this.drawingCanvas ? this.drawingCanvas.onMouseUp(evt) : $super(evt);\n}","funcProperties":{"__isSmartRef__":true,"id":147},"__LivelyClassName__":"lively.Closure"},"142":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":143}},"143":{"$super":{"__isSmartRef__":true,"id":144}},"144":{"varMapping":{"__isSmartRef__":true,"id":145},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":146},"__LivelyClassName__":"lively.Closure"},"145":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseUp"},"146":{},"147":{"__serializedExpressions__":["timestamp"],"user":"athomschke","timestamp":"new Date(\"Fri Jan 02 2015 11:14:53 GMT-0800 (PST)\")"},"isSimplifiedRegistry":true}}