{"id":0,"registry":{"0":{"submorphs":[{"__isSmartRef__":true,"id":1}],"scripts":[],"id":"7A032884-AF02-4445-8A56-69C717B8C470","shape":{"__isSmartRef__":true,"id":16},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"KeyboardTest","partsBinMetaInfo":{"__isSmartRef__":true,"id":17},"eventHandler":{"__isSmartRef__":true,"id":39},"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"],"partTests":{"__isSmartRef__":true,"id":40},"_ClipMode":"visible","moved":true,"__serializedExpressions__":["_Position"],"isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":45},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1":{"submorphs":[],"scripts":[],"id":"C25CD724-E372-4EE3-BF7F-9AC2B654BDEA","shape":{"__isSmartRef__":true,"id":2},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Log","partsBinMetaInfo":{"__isSmartRef__":true,"id":3},"textChunks":[{"__isSmartRef__":true,"id":12}],"charsReplaced":"foo!?","lastFindLoc":5,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":14},"_ClipMode":"hidden","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","59440FC5-E676-4B9B-A828-C150A05765C0"],"_WhiteSpaceHandling":"pre","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":15},"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"owner":{"__isSmartRef__":true,"id":0},"isLabel":true,"eventsAreIgnored":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(2.0,68.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(83.0,-29.0)"},"2":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"3":{"partsSpaceName":"PartsBin/Basic","migrationLevel":8,"comment":"a simple text morph","partName":"Text","changes":[{"__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}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sat Apr 05 2014 10:51:52 GMT+0200 (Central Europe Daylight Time)\")"},"4":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 17:31:56 GMT+0100 (Central Europe Standard Time)\")"},"5":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (Central Europe Daylight Time)\")"},"6":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (Central Europe Daylight Time)\")"},"7":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (Central Europe Daylight Time)\")"},"8":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (Central Europe Standard Time)\")"},"9":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (Central Europe Daylight Time)\")"},"10":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 18:36:22 GMT+0100 (Central Europe Standard Time)\")"},"11":{"author":"robertkrahn","message":"resizeWidth = true","id":"E402462A-7AB2-487B-82BD-A3369C1C1F75","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 05 2014 10:58:52 GMT+0200 (Central Europe Daylight Time)\")"},"12":{"style":{"__isSmartRef__":true,"id":13},"chunkOwner":{"__isSmartRef__":true,"id":1},"_id":"_5158","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"13":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"14":{"morph":{"__isSmartRef__":true,"id":1},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"15":{"resizeWidth":true},"16":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__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(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"17":{"partsSpaceName":"PartsBin/Jens/","comment":"A simple morph that reacts on keyboard....","migrationLevel":9,"partName":"KeyboardTest","changes":[{"__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}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sat Nov 29 2014 05:28:38 GMT+0100 (Central Europe Standard Time)\")"},"18":{"author":"jenslincke","message":"no comment","id":"ADFBF069-513C-4DE6-95A9-8AD4985C6508","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 10:23:53 GMT+0100 (Central Europe Standard Time)\")"},"19":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jul 30 2013 08:20:51 GMT+0200 (Central Europe Daylight Time)\")"},"20":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 20:49:27 GMT+0200 (Central Europe Daylight Time)\")"},"21":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:36:50 GMT+0200 (Central Europe Daylight Time)\")"},"22":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 16:47:05 GMT+0100 (Central Europe Standard Time)\")"},"23":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 16:42:31 GMT+0100 (Central Europe Standard Time)\")"},"24":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 10:35:51 GMT+0100 (Central Europe Standard Time)\")"},"25":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 19:35:08 GMT+0200 (Central Europe Daylight Time)\")"},"26":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 13:42:07 GMT+0200 (Central Europe Daylight Time)\")"},"27":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 10:42:26 GMT+0100 (Central Europe Standard Time)\")"},"28":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Sat Feb 25 2012 02:59:09 GMT+0100 (Central Europe Standard Time)\")"},"29":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 10:53:45 GMT+0100 (Central Europe Standard Time)\")"},"30":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 15:51:30 GMT+0200 (Central Europe Daylight Time)\")"},"31":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 15:51:36 GMT+0200 (Central Europe Daylight Time)\")"},"32":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 12:57:18 GMT+0100 (Central Europe Standard Time)\")"},"33":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 09:18:06 GMT+0200 (Central Europe Daylight Time)\")"},"34":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jun 21 2013 00:16:24 GMT+0200 (Central Europe Daylight Time)\")"},"35":{"author":"jenslincke","message":"no comment","id":"ECD12BFF-E872-4918-8341-C6571E72F36D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 10:24:27 GMT+0100 (Central Europe Standard Time)\")"},"36":{"author":"lauritz","message":"dropping enabled for the blue rectangle","id":"81D350CB-D926-491F-8FF3-A6C9C831BDF2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 12 2014 15:00:28 GMT+0100 (Central Europe Standard Time)\")"},"37":{"author":"robertkrahn","message":"no comment","id":"5AF36E70-7428-4762-9423-D7160E3DCBDC","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 09 2014 00:34:45 GMT+0100 (Central Europe Standard Time)\")"},"38":{"__serializedExpressions__":["date"],"author":"jenslincke","message":"no comment","id":"E41971D3-C9D4-452E-B2FD-78718CD4ACB3","date":"new Date(\"Tue Apr 28 2015 10:46:16 GMT+0200 (Central Europe Daylight Time)\")"},"39":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"40":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":41}},"41":{"test01IsMorph":{"__isSmartRef__":true,"id":42}},"42":{"varMapping":{"__isSmartRef__":true,"id":43},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":44},"__LivelyClassName__":"lively.Closure"},"43":{"this":{"__isSmartRef__":true,"id":40}},"44":{},"45":{"onKeyDown":{"__isSmartRef__":true,"id":46},"onKeyUp":{"__isSmartRef__":true,"id":53}},"46":{"varMapping":{"__isSmartRef__":true,"id":47},"source":"function onKeyDown(evt) {\n    this.get(\"Log\").textString = \"key \" + evt.getKeyCode()\n    this.setFill(Global.Color.green)\n}","funcProperties":{"__isSmartRef__":true,"id":52},"__LivelyClassName__":"lively.Closure"},"47":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":48}},"48":{"$super":{"__isSmartRef__":true,"id":49}},"49":{"varMapping":{"__isSmartRef__":true,"id":50},"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":51},"__LivelyClassName__":"lively.Closure"},"50":{"obj":{"__isSmartRef__":true,"id":0},"name":"onKeyDown"},"51":{},"52":{"__serializedExpressions__":["timestamp"],"user":"jenslincke","timestamp":"new Date(\"Tue Apr 28 2015 10:43:23 GMT+0200 (Central Europe Daylight Time)\")"},"53":{"varMapping":{"__isSmartRef__":true,"id":54},"source":"function onKeyUp(evt) {\n    this.get(\"Log\").textString = \"\"\n    this.setFill(Global.Color.white)\n}","funcProperties":{"__isSmartRef__":true,"id":59},"__LivelyClassName__":"lively.Closure"},"54":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":55}},"55":{"$super":{"__isSmartRef__":true,"id":56}},"56":{"varMapping":{"__isSmartRef__":true,"id":57},"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":58},"__LivelyClassName__":"lively.Closure"},"57":{"obj":{"__isSmartRef__":true,"id":0},"name":"onKeyUp"},"58":{},"59":{"__serializedExpressions__":["timestamp"],"user":"jenslincke","timestamp":"new Date(\"Tue Apr 28 2015 10:44:52 GMT+0200 (Central Europe Daylight Time)\")"},"isSimplifiedRegistry":true}}