= 2) {\n console.log(this.getPosition());\n console.log(sketchPad.getPosition());\n var from = this.points[0].subPt(sketchPad.getPosition()).subPt(this.getPosition());\n var to = this.points[1].subPt(sketchPad.getPosition()).subPt(this.getPosition());\n console.log(\"Line between \" + from.x + \",\" + from.y + \" and \" + to.x + \",\" + to.y);\n var m = new lively.morphic.Path([from, to]);\n this.addMorph(m);\n this.points[0] = this.points.pop();\n }\n } else {\n this.points = new Array(evt.mousePoint);\n }\n console.log(\"MouseDown \" + evt.mousePoint);\n console.log(this.points);\n console.log(this);\n}","funcProperties":{"__isSmartRef__":true,"id":665},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"664":{"this":{"__isSmartRef__":true,"id":553}},"665":{"timestamp":{"__isSmartRef__":true,"id":666},"user":"daniel.hoffmann","tags":[]},"666":{"isSerializedDate":true,"string":"Sat Dec 01 2012 21:09:37 GMT+0100 (Mitteleuropäische Zeit)"},"667":{"varMapping":{"__isSmartRef__":true,"id":668},"source":"function mouseDown(element, evt) {\n console.log(element.name);\n console.log(evt);\n if(element.name != \"SketchPadCanvas\") {\n this.owner.select(element.name, this.partOfRectangle(element, evt));\n }\n}","funcProperties":{"__isSmartRef__":true,"id":669},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"668":{"this":{"__isSmartRef__":true,"id":553}},"669":{"timestamp":{"__isSmartRef__":true,"id":670},"user":"daniel.hoffmann","tags":[]},"670":{"isSerializedDate":true,"string":"Sun Dec 02 2012 17:49:03 GMT+0100 (Mitteleuropäische Zeit)"},"671":{"varMapping":{"__isSmartRef__":true,"id":672},"source":"function partOfRectangle(element, evt) {\n var pointClicked = lively.pt(evt.layerX, evt. layerY);\n var elementExtent = element.getExtent();\n if (pointClicked.x < elementExtent.x * 0.2) {\n if (pointClicked.y < elementExtent.y * 0.2) {\n return \"TL\";\n } else if (pointClicked.y > elementExtent.y * 0.8) {\n return \"BL\";\n } else {\n return \"L\";\n }\n } else if (pointClicked.x > elementExtent.x * 0.8) {\n if (pointClicked.y < elementExtent.y * 0.2) {\n return \"TR\";\n } else if (pointClicked.y > elementExtent.y * 0.8) {\n return \"BR\";\n } else {\n return \"R\";\n }\n } else {\n if (pointClicked.y < elementExtent.y * 0.2) {\n return \"T\";\n } else if (pointClicked.y > elementExtent.y * 0.8) {\n return \"B\";\n } else {\n return \"M\";\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":673},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"672":{"this":{"__isSmartRef__":true,"id":553}},"673":{"timestamp":{"__isSmartRef__":true,"id":674},"user":"daniel.hoffmann","tags":[]},"674":{"isSerializedDate":true,"string":"Sun Dec 02 2012 17:45:10 GMT+0100 (Mitteleuropäische Zeit)"},"675":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":676},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":677}],"eventHandler":{"__isSmartRef__":true,"id":679},"_ClipMode":"auto","derivationIds":["62424A55-8C49-4D20-85E3-32CFE0B094E6","692AAEB2-E3B2-429A-BD43-059D6BC7D53F","9F9E0E79-D469-449A-9A09-2AE06EE610E6","69D47636-83EF-46E0-A6A2-FD4DA6261F5D","94D102B5-9583-4038-AA05-311A5D1CD26E","95FF6204-C38E-49E7-835E-5B83D8435EFA","D37043D1-30B3-47EB-A8D1-BC1FF3CC8323"],"id":"9CA57677-3FD9-4D34-87F7-83826949C287","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":null,"allowInput":true,"_FontFamily":"Monaco,monospace","_FontSize":10,"evalEnabled":false,"layout":{"__isSmartRef__":true,"id":680},"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":681}],"doNotSerialize":["$$textString"],"doNotCopyProperties":["$$textString"],"accessibleInInactiveWindow":true,"parseErrors":null,"_lastSyntaxHighlightTime":16,"showsHalos":false,"isBeingDragged":false,"name":"SelectedText","text":"name","charsReplaced":"blueRect","lastFindLoc":16,"owner":{"__isSmartRef__":true,"id":1},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_TextColor","_Position"],"textString":"greenRect","__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(9.0,149.0)"},"676":{"_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(104.0,31.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(243,243,243)"},"677":{"style":{"__isSmartRef__":true,"id":678},"chunkOwner":{"__isSmartRef__":true,"id":675},"_id":"_8","storedString":"greenRect","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"678":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"679":{"morph":{"__isSmartRef__":true,"id":675},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"680":{"resizeWidth":true,"resizeHeight":true},"681":{"sourceObj":{"__isSmartRef__":true,"id":675},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":675},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":682},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"682":{"source":{"__isSmartRef__":true,"id":675},"target":{"__isSmartRef__":true,"id":675}},"683":{"submorphs":[{"__isSmartRef__":true,"id":684}],"scripts":[],"id":"DD4D84C6-0498-400C-A689-EF7786996824","shape":{"__isSmartRef__":true,"id":689},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":695},"lighterFill":{"__isSmartRef__":true,"id":700},"label":{"__isSmartRef__":true,"id":684},"name":"SketchAreaButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":705},"attributeConnections":[{"__isSmartRef__":true,"id":717}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":718},"derivationIds":[7251,"3F26258D-0EE1-4A94-8419-5EE2BB6065A6","B624295D-42E3-4E0A-B370-844C2B43F4F0","F5D160C8-1C2F-47D9-9BE1-2FD26C53BFB3","7D4A1972-76E5-4369-9964-2F6ACB87C81F","53250D98-1D56-45FC-AD4E-6816B90B0F9E","B0DC93F7-180A-4B95-A539-BFC8F1329718","70042416-60D9-43F5-AE39-6FF42B8EA5A2","9A040E3E-616F-4A08-AEC4-E35727C169CA"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":1},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":719},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(8.0,620.0)","distanceToDragEvent":"lively.pt(54.9,-11.0)"},"684":{"submorphs":[],"scripts":[],"id":"6E7A48FA-0EA9-4B37-B9B7-892120FB554D","shape":{"__isSmartRef__":true,"id":685},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":100,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":683},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":686}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":688},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"4881773E-A824-4992-B814-33C8D37580C6","EE955AA4-D648-4DFC-8E2D-08881D605170","7EC413DD-D34D-449D-B448-2F3904B04FA5","7939AA82-2A96-4559-9090-DD58B7C8868A","9DF72664-2B4F-4B28-986F-49B3401426E5","31475D00-8C5F-4CF3-8738-D2874FDE47BA","8A54B665-A7FA-4168-8476-FAE7EC691954","FE0BBCBD-3B8E-48E2-9236-5A733F89AF5C"],"_MinTextWidth":100,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"685":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(125.0,55.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"686":{"style":{"__isSmartRef__":true,"id":687},"chunkOwner":{"__isSmartRef__":true,"id":684},"_id":"_5885","storedString":"Setup SketchArea (in case mouse events don't work)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"687":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"688":{"morph":{"__isSmartRef__":true,"id":684},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"689":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":690},"_BorderRadius":5.2,"_ClipMode":"visible","__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(125.0,55.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"690":{"stops":[{"__isSmartRef__":true,"id":691},{"__isSmartRef__":true,"id":692},{"__isSmartRef__":true,"id":693},{"__isSmartRef__":true,"id":694}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"691":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"692":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"693":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"694":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"695":{"stops":[{"__isSmartRef__":true,"id":696},{"__isSmartRef__":true,"id":697},{"__isSmartRef__":true,"id":698},{"__isSmartRef__":true,"id":699}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"696":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"697":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"698":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"699":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"700":{"stops":[{"__isSmartRef__":true,"id":701},{"__isSmartRef__":true,"id":702},{"__isSmartRef__":true,"id":703},{"__isSmartRef__":true,"id":704}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"701":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"702":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"703":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"704":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"705":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":706},{"__isSmartRef__":true,"id":708},{"__isSmartRef__":true,"id":710},{"__isSmartRef__":true,"id":712},{"__isSmartRef__":true,"id":714}],"revisionOnLoad":171940,"lastModifiedDate":{"__isSmartRef__":true,"id":716},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"706":{"date":{"__isSmartRef__":true,"id":707},"author":"undefined","message":"","id":"7074B413-6CF0-4892-9D18-52009A2A2E03"},"707":{"isSerializedDate":true,"string":"Fri Apr 13 2012 21:04:01 GMT+0200 (Mitteleuropäische Sommerzeit)"},"708":{"date":{"__isSmartRef__":true,"id":709},"author":"sstamm","message":"reverted button","id":"9B7AA90A-42FC-4DE8-A4DE-51AB903A740E"},"709":{"isSerializedDate":true,"string":"Mon Apr 16 2012 10:36:21 GMT+0200 (Mitteleuropäische Sommerzeit)"},"710":{"date":{"__isSmartRef__":true,"id":711},"author":"robertkrahn","message":"no comment","id":"97D17254-EAC6-4494-8330-A347909590D6"},"711":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:08:58 GMT+0200 (Mitteleuropäische Sommerzeit)"},"712":{"date":{"__isSmartRef__":true,"id":713},"author":"robertkrahn","message":"no comment","id":"DDE22D44-9A6D-4485-80F3-262D5DA0CC07"},"713":{"isSerializedDate":true,"string":"Tue Jun 05 2012 14:03:19 GMT+0200 (Mitteleuropäische Sommerzeit)"},"714":{"date":{"__isSmartRef__":true,"id":715},"author":"bgnauk","message":"no comment","id":"FA43C1A3-19A9-4ED6-A014-82C74689A5C3"},"715":{"isSerializedDate":true,"string":"Tue Jun 19 2012 23:39:23 GMT+0200 (Mitteleuropäische Sommerzeit)"},"716":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (Mitteleuropäische Sommerzeit)"},"717":{"sourceObj":{"__isSmartRef__":true,"id":683},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":683},"targetMethodName":"doAction","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"718":{"morph":{"__isSmartRef__":true,"id":683},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"719":{"doAction":{"__isSmartRef__":true,"id":720}},"720":{"varMapping":{"__isSmartRef__":true,"id":721},"source":"function doAction() {\n //in case mouse events are not working\n cop.create('SketchArea').refineClass(lively.morphic.Morph, {\n onMouseDown: function(evt) {\n this.get('SketchPadCanvas').mouseDown(this, evt);\n return cop.proceed(evt);\n }\n })\n this.get('SketchPadCanvas').setWithLayers([SketchArea])\n}","funcProperties":{"__isSmartRef__":true,"id":722},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"721":{"this":{"__isSmartRef__":true,"id":683}},"722":{"timestamp":{"__isSmartRef__":true,"id":723},"user":"daniel.hoffmann","tags":[]},"723":{"isSerializedDate":true,"string":"Sun Dec 02 2012 13:52:42 GMT+0100 (Mitteleuropäische Zeit)"},"724":{"submorphs":[],"scripts":[],"id":"6EB15A1C-4F40-4442-B7B8-C89E32BB7969","shape":{"__isSmartRef__":true,"id":725},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Text3","partsBinMetaInfo":{"__isSmartRef__":true,"id":726},"textChunks":[{"__isSmartRef__":true,"id":738}],"charsReplaced":"Variablen","lastFindLoc":9,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":740},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","E3FA5A91-BF01-47C9-A727-751EA109270B","DC9ABF3E-7FF2-4651-8873-41ABA53C275F","6513CAFB-4D1C-4CBC-8F67-178A6CCFE302","BB1AE711-3F4C-48CC-8D6D-5EA3290535C4","4C6BFB68-F960-4E56-9B33-E997C8615D18","22109C55-E692-4A7F-B454-7B25795B02F7","F0D7DF05-7D09-4643-A949-7EBE2887185F","9F5B5210-26DD-413E-AE62-7D0E5282C8AA"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"owner":{"__isSmartRef__":true,"id":1},"priorSelectionRange":[0,9],"previousSelection":[1,1],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(953.0,4.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"725":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__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(128.7,27.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"726":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":727},{"__isSmartRef__":true,"id":729},{"__isSmartRef__":true,"id":731},{"__isSmartRef__":true,"id":733},{"__isSmartRef__":true,"id":735}],"lastModifiedDate":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"727":{"date":{"__isSmartRef__":true,"id":728},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"728":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (Mitteleuropäische Sommerzeit)"},"729":{"date":{"__isSmartRef__":true,"id":730},"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"},"730":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (Mitteleuropäische Zeit)"},"731":{"date":{"__isSmartRef__":true,"id":732},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"732":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (Mitteleuropäische Sommerzeit)"},"733":{"date":{"__isSmartRef__":true,"id":734},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"734":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (Mitteleuropäische Sommerzeit)"},"735":{"date":{"__isSmartRef__":true,"id":736},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"736":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (Mitteleuropäische Sommerzeit)"},"737":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (Mitteleuropäische Sommerzeit)"},"738":{"style":{"__isSmartRef__":true,"id":739},"morph":{"__isSmartRef__":true,"id":724},"chunkOwner":{"__isSmartRef__":true,"id":724},"storedString":"Tableau","_id":"_2157","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"739":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"740":{"morph":{"__isSmartRef__":true,"id":724},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"741":{"submorphs":[{"__isSmartRef__":true,"id":742}],"scripts":[],"id":"A2475486-D122-4968-97F8-307C609A7E48","shape":{"__isSmartRef__":true,"id":747},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":753},"lighterFill":{"__isSmartRef__":true,"id":758},"label":{"__isSmartRef__":true,"id":742},"name":"stepButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":763},"attributeConnections":[{"__isSmartRef__":true,"id":775}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":777},"derivationIds":[7251,"3F26258D-0EE1-4A94-8419-5EE2BB6065A6","B624295D-42E3-4E0A-B370-844C2B43F4F0","F5D160C8-1C2F-47D9-9BE1-2FD26C53BFB3","7D4A1972-76E5-4369-9964-2F6ACB87C81F","468167DF-C2A9-4D14-B344-4D183695DBF9","5DC89142-1E9D-4F9D-8CC7-4ACAD3FDB32D","16626E66-A841-4E0A-9692-2F2534B1F06F","96DBF6DD-3596-4554-98F4-BD1782C95ACB","8C059799-B938-4458-A054-0BF2C93DF1EC","57CDCC7B-37A6-4E9E-ACB9-192B3D578DA0"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":1},"prevScroll":[0,0],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":778},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(7.0,111.0)","distanceToDragEvent":"lively.pt(54.9,-11.0)"},"742":{"submorphs":[],"scripts":[],"id":"4A2EF52C-9722-462C-BDFF-8CDED286D21F","shape":{"__isSmartRef__":true,"id":743},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":100,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":741},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":744}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":746},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"4881773E-A824-4992-B814-33C8D37580C6","EE955AA4-D648-4DFC-8E2D-08881D605170","7EC413DD-D34D-449D-B448-2F3904B04FA5","7939AA82-2A96-4559-9090-DD58B7C8868A","CA0DC720-D350-40B1-B491-56053DD3ACEC","DFC25BA5-C55B-4BAD-A16C-ABAD9E6744DB","89EED327-F1A9-41E9-B5EE-C5D60824ECE0","84EE39A7-3564-46BE-9222-2D58CB507AA3","F21E1DD4-4613-461E-B90E-A804C251F8DD","A1F18994-7984-40E5-9655-187BA5721D53"],"_MinTextWidth":100,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"743":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(100.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"744":{"style":{"__isSmartRef__":true,"id":745},"chunkOwner":{"__isSmartRef__":true,"id":742},"_id":"_1246","storedString":"Schritt","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"745":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"746":{"morph":{"__isSmartRef__":true,"id":742},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"747":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":748},"_BorderRadius":5.2,"_ClipMode":"visible","__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(100.0,22.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"748":{"stops":[{"__isSmartRef__":true,"id":749},{"__isSmartRef__":true,"id":750},{"__isSmartRef__":true,"id":751},{"__isSmartRef__":true,"id":752}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"749":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"750":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"751":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"752":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"753":{"stops":[{"__isSmartRef__":true,"id":754},{"__isSmartRef__":true,"id":755},{"__isSmartRef__":true,"id":756},{"__isSmartRef__":true,"id":757}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"754":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"755":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"756":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"757":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"758":{"stops":[{"__isSmartRef__":true,"id":759},{"__isSmartRef__":true,"id":760},{"__isSmartRef__":true,"id":761},{"__isSmartRef__":true,"id":762}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"759":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"760":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"761":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"762":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"763":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":764},{"__isSmartRef__":true,"id":766},{"__isSmartRef__":true,"id":768},{"__isSmartRef__":true,"id":770},{"__isSmartRef__":true,"id":772}],"revisionOnLoad":171940,"lastModifiedDate":{"__isSmartRef__":true,"id":774},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"764":{"date":{"__isSmartRef__":true,"id":765},"author":"undefined","message":"","id":"7074B413-6CF0-4892-9D18-52009A2A2E03"},"765":{"isSerializedDate":true,"string":"Fri Apr 13 2012 21:04:01 GMT+0200 (Mitteleuropäische Sommerzeit)"},"766":{"date":{"__isSmartRef__":true,"id":767},"author":"sstamm","message":"reverted button","id":"9B7AA90A-42FC-4DE8-A4DE-51AB903A740E"},"767":{"isSerializedDate":true,"string":"Mon Apr 16 2012 10:36:21 GMT+0200 (Mitteleuropäische Sommerzeit)"},"768":{"date":{"__isSmartRef__":true,"id":769},"author":"robertkrahn","message":"no comment","id":"97D17254-EAC6-4494-8330-A347909590D6"},"769":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:08:58 GMT+0200 (Mitteleuropäische Sommerzeit)"},"770":{"date":{"__isSmartRef__":true,"id":771},"author":"robertkrahn","message":"no comment","id":"DDE22D44-9A6D-4485-80F3-262D5DA0CC07"},"771":{"isSerializedDate":true,"string":"Tue Jun 05 2012 14:03:19 GMT+0200 (Mitteleuropäische Sommerzeit)"},"772":{"date":{"__isSmartRef__":true,"id":773},"author":"bgnauk","message":"no comment","id":"FA43C1A3-19A9-4ED6-A014-82C74689A5C3"},"773":{"isSerializedDate":true,"string":"Tue Jun 19 2012 23:39:23 GMT+0200 (Mitteleuropäische Sommerzeit)"},"774":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (Mitteleuropäische Sommerzeit)"},"775":{"sourceObj":{"__isSmartRef__":true,"id":741},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1},"targetMethodName":"simplexStep","varMapping":{"__isSmartRef__":true,"id":776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"776":{"source":{"__isSmartRef__":true,"id":741},"target":{"__isSmartRef__":true,"id":1}},"777":{"morph":{"__isSmartRef__":true,"id":741},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"778":{"doAction":{"__isSmartRef__":true,"id":779}},"779":{"varMapping":{"__isSmartRef__":true,"id":780},"source":"function doAction() {\n \n}","funcProperties":{"__isSmartRef__":true,"id":781},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"780":{"this":{"__isSmartRef__":true,"id":741}},"781":{"timestamp":{"__isSmartRef__":true,"id":782},"user":"robertkrahn","tags":[]},"782":{"isSerializedDate":true,"string":"Tue Jun 05 2012 14:02:40 GMT+0200 (Mitteleuropäische Sommerzeit)"},"783":{"submorphs":[{"__isSmartRef__":true,"id":784}],"scripts":[],"id":"C1E1C431-73A9-4B45-AA79-F33D7C716811","shape":{"__isSmartRef__":true,"id":789},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":795},"lighterFill":{"__isSmartRef__":true,"id":800},"label":{"__isSmartRef__":true,"id":784},"name":"stopButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":805},"attributeConnections":[{"__isSmartRef__":true,"id":816},{"__isSmartRef__":true,"id":817},{"__isSmartRef__":true,"id":871}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":873},"derivationIds":[7251,"3F26258D-0EE1-4A94-8419-5EE2BB6065A6","B624295D-42E3-4E0A-B370-844C2B43F4F0","F5D160C8-1C2F-47D9-9BE1-2FD26C53BFB3","7D4A1972-76E5-4369-9964-2F6ACB87C81F","8B7A69E1-2842-4086-AAF1-C435517C4DA7","C2A72BC2-1B3C-4CB5-970E-F0D28763C62D","707149E7-9837-4996-BB84-9423A4404556","C479A54B-32C8-4A5E-A1FB-B5C5A35B70C7","8A891806-DFA1-4D9B-88D6-BBD4587F3D7B","BA252EA5-5572-411C-8BFC-41265BBA4CE8"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":1},"prevScroll":[0,0],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":874},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(5.0,81.0)","distanceToDragEvent":"lively.pt(54.9,-11.0)"},"784":{"submorphs":[],"scripts":[],"id":"35E05786-926D-42CB-88EF-CE38E8F2C86E","shape":{"__isSmartRef__":true,"id":785},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":100,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":783},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":786}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":788},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"4881773E-A824-4992-B814-33C8D37580C6","EE955AA4-D648-4DFC-8E2D-08881D605170","7EC413DD-D34D-449D-B448-2F3904B04FA5","7939AA82-2A96-4559-9090-DD58B7C8868A","E24E16C9-A02D-4DC4-89F3-9535E54A9BAE","6FD03EBD-9331-4021-99B7-298ADDFC8C33","53BAF5AF-5CBA-425B-A0BB-5E51D31867FA","BC8209BF-4E53-419D-9D86-49C971E6F754","464553B0-0A18-418A-8665-C128463D0EAD","D0F9E5D5-1EEB-4490-A36B-12CB104F01A9"],"_MinTextWidth":100,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"785":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(100.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"786":{"style":{"__isSmartRef__":true,"id":787},"chunkOwner":{"__isSmartRef__":true,"id":784},"_id":"_33507","storedString":"Stop","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"787":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"788":{"morph":{"__isSmartRef__":true,"id":784},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"789":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":790},"_BorderRadius":5.2,"_ClipMode":"visible","__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(100.0,22.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"790":{"stops":[{"__isSmartRef__":true,"id":791},{"__isSmartRef__":true,"id":792},{"__isSmartRef__":true,"id":793},{"__isSmartRef__":true,"id":794}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"791":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"792":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"793":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"794":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"795":{"stops":[{"__isSmartRef__":true,"id":796},{"__isSmartRef__":true,"id":797},{"__isSmartRef__":true,"id":798},{"__isSmartRef__":true,"id":799}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"796":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"797":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"798":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"799":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"800":{"stops":[{"__isSmartRef__":true,"id":801},{"__isSmartRef__":true,"id":802},{"__isSmartRef__":true,"id":803},{"__isSmartRef__":true,"id":804}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"801":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"802":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"803":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"804":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"805":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":806},{"__isSmartRef__":true,"id":808},{"__isSmartRef__":true,"id":810},{"__isSmartRef__":true,"id":812},{"__isSmartRef__":true,"id":814}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"806":{"date":{"__isSmartRef__":true,"id":807},"author":"undefined","message":"","id":"7074B413-6CF0-4892-9D18-52009A2A2E03"},"807":{"isSerializedDate":true,"string":"Fri Apr 13 2012 21:04:01 GMT+0200 (Mitteleuropäische Sommerzeit)"},"808":{"date":{"__isSmartRef__":true,"id":809},"author":"sstamm","message":"reverted button","id":"9B7AA90A-42FC-4DE8-A4DE-51AB903A740E"},"809":{"isSerializedDate":true,"string":"Mon Apr 16 2012 10:36:21 GMT+0200 (Mitteleuropäische Sommerzeit)"},"810":{"date":{"__isSmartRef__":true,"id":811},"author":"robertkrahn","message":"no comment","id":"97D17254-EAC6-4494-8330-A347909590D6"},"811":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:08:58 GMT+0200 (Mitteleuropäische Sommerzeit)"},"812":{"date":{"__isSmartRef__":true,"id":813},"author":"robertkrahn","message":"no comment","id":"DDE22D44-9A6D-4485-80F3-262D5DA0CC07"},"813":{"isSerializedDate":true,"string":"Tue Jun 05 2012 14:03:19 GMT+0200 (Mitteleuropäische Sommerzeit)"},"814":{"date":{"__isSmartRef__":true,"id":815},"author":"bgnauk","message":"no comment","id":"FA43C1A3-19A9-4ED6-A014-82C74689A5C3"},"815":{"isSerializedDate":true,"string":"Tue Jun 19 2012 23:39:23 GMT+0200 (Mitteleuropäische Sommerzeit)"},"816":{"sourceObj":{"__isSmartRef__":true,"id":783},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":783},"targetMethodName":"doAction","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"817":{"sourceObj":{"__isSmartRef__":true,"id":783},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":818},"targetMethodName":"stop","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"818":{"submorphs":[],"scripts":[],"id":"DFA99784-9469-437E-9259-5FE6DB274314","shape":{"__isSmartRef__":true,"id":819},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"Rectangle1","partsBinMetaInfo":{"__isSmartRef__":true,"id":820},"eventHandler":{"__isSmartRef__":true,"id":835},"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"],"partTests":{"__isSmartRef__":true,"id":836},"_ClipMode":"visible","moved":true,"owner":null,"algorithm":{"__isSmartRef__":true,"id":841},"result":false,"#startLetters":"init","isBeingDragged":false,"prevScroll":[0,0],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":842},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(2259.0,1431.0)"},"819":{"_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(250.0,252.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,143,0)","_Padding":"lively.rect(0,0,0,0)"},"820":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":821},{"__isSmartRef__":true,"id":823},{"__isSmartRef__":true,"id":825},{"__isSmartRef__":true,"id":827},{"__isSmartRef__":true,"id":829},{"__isSmartRef__":true,"id":831},{"__isSmartRef__":true,"id":833}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"821":{"date":{"__isSmartRef__":true,"id":822},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"822":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (Mitteleuropäische Sommerzeit)"},"823":{"date":{"__isSmartRef__":true,"id":824},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"824":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (Mitteleuropäische Sommerzeit)"},"825":{"date":{"__isSmartRef__":true,"id":826},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"826":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (Mitteleuropäische Zeit)"},"827":{"date":{"__isSmartRef__":true,"id":828},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"828":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (Mitteleuropäische Zeit)"},"829":{"date":{"__isSmartRef__":true,"id":830},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"830":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (Mitteleuropäische Zeit)"},"831":{"date":{"__isSmartRef__":true,"id":832},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"832":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (Mitteleuropäische Sommerzeit)"},"833":{"date":{"__isSmartRef__":true,"id":834},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"834":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (Mitteleuropäische Sommerzeit)"},"835":{"morph":{"__isSmartRef__":true,"id":818},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"836":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":837}},"837":{"test01IsMorph":{"__isSmartRef__":true,"id":838}},"838":{"varMapping":{"__isSmartRef__":true,"id":839},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":840},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"839":{"this":{"__isSmartRef__":true,"id":836}},"840":{},"841":{"__LivelyClassName__":"SimplexAlgorithmClass","__SourceModuleName__":"Global.projects.SketchPad.SimplexAlgorithm"},"842":{"solveConstraints":{"__isSmartRef__":true,"id":843},"start":{"__isSmartRef__":true,"id":847},"stop":{"__isSmartRef__":true,"id":851},"testFunc":{"__isSmartRef__":true,"id":855},"initSimplex":{"__isSmartRef__":true,"id":859},"simplexStep":{"__isSmartRef__":true,"id":863},"initializeTableau":{"__isSmartRef__":true,"id":867}},"843":{"varMapping":{"__isSmartRef__":true,"id":844},"source":"function solveConstraints() {\n // changed at Tue Oct 30 2012 17:26:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \n module('apps.dwarfcassowary.js.DwarfCassowary').load();\n module('projects.SketchPad.testModule').load();\n \n var solver = new ClSimplexSolver();\n var height1 = new ClVariable(5);\n var height2 = new ClVariable(10);\n \n var width1 = new ClVariable(5);\n var width2 = new ClVariable(10);\n \n solver.addConstraint(new ClLinearEquation((new ClLinearExpression(height1)).times(2), height2 ));\n \n solver.addConstraint(new ClLinearEquation((new ClLinearExpression(width1)).times(2), width2 ));\n \n solver. addStay(height2). addEditVar(height1). beginEdit();\n solver. addStay(width2). addEditVar(width1). beginEdit();\n \n solver. suggestValue(height1, this.get('Rectangle2').getExtent().y). resolve();\n solver. suggestValue(width1, this.get('Rectangle2').getExtent().x). resolve();\n \n solver.endEdit();\n \n var extent = this.get(\"Rectangle1\").getExtent();\n extent.y = height2.value();\n extent.x = width2.value();\n\n this.get(\"Rectangle1\").setExtent(extent);\n \n var ext1 = this.get(\"Rectangle1\").getExtent();\n var ext2 = this.get(\"Rectangle2\").getExtent();\n \n \n this.get(\"textfield\").setTextString(\"Extent 1: X: \" + ext1.x + \", Y: \" + ext1.y);\n this.get(\"textfield2\").setTextString(\"Extent 2: X: \" + ext2.x + \", Y: \" + ext2.y);\n this.get(\"ratio\").setTextString(\"Ratio: X: \" + (ext1.x/ext2.x) + \", Y: \" +(ext1.y/ext2.y) );\n}","funcProperties":{"__isSmartRef__":true,"id":845},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"844":{"this":{"__isSmartRef__":true,"id":818}},"845":{"timestamp":{"__isSmartRef__":true,"id":846},"user":"lisa.pfisterer","tags":[]},"846":{"isSerializedDate":true,"string":"Wed Nov 07 2012 18:48:40 GMT+0100 (Mitteleuropäische Zeit)"},"847":{"varMapping":{"__isSmartRef__":true,"id":848},"source":"function start() {\n this.initSimplex();\n this.startStepping(1000, \"simplexStep\")\n}","funcProperties":{"__isSmartRef__":true,"id":849},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"848":{"this":{"__isSmartRef__":true,"id":818}},"849":{"timestamp":{"__isSmartRef__":true,"id":850},"user":"lisa.pfisterer","tags":[]},"850":{"isSerializedDate":true,"string":"Mon Nov 19 2012 12:49:43 GMT+0100 (Mitteleuropäische Zeit)"},"851":{"varMapping":{"__isSmartRef__":true,"id":852},"source":"function stop() {\n this.stopStepping()\n}","funcProperties":{"__isSmartRef__":true,"id":853},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"852":{"this":{"__isSmartRef__":true,"id":818}},"853":{"timestamp":{"__isSmartRef__":true,"id":854},"user":"lisa.pfisterer","tags":[]},"854":{"isSerializedDate":true,"string":"Mon Nov 05 2012 09:16:36 GMT+0100 (Mitteleuropäische Zeit)"},"855":{"varMapping":{"__isSmartRef__":true,"id":856},"source":"function testFunc() {\n module('projects.SketchPad.SimplexAlgorithm').load();\n var object = new SimplexAlgorithmClass();\n object.main();\n //var x = height1.init();\n //this.get(\"textfield\").setTextString(\"Value for X: \" + x);\n //var solver = new testObject();\n //solver.testFunction();\n}","funcProperties":{"__isSmartRef__":true,"id":857},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"856":{"this":{"__isSmartRef__":true,"id":818}},"857":{"timestamp":{"__isSmartRef__":true,"id":858},"user":"lisa.pfisterer","tags":[]},"858":{"isSerializedDate":true,"string":"Tue Nov 13 2012 18:13:02 GMT+0100 (Mitteleuropäische Zeit)"},"859":{"varMapping":{"__isSmartRef__":true,"id":860},"source":"function initSimplex() {\n module('projects.SketchPad.SimplexAlgorithm').load();\n JSLoader.loadJs('http://lively-kernel.org/repository/webwerkstatt/projects/SketchPad/SimplexAlgorithm.js');\n \n this.algorithm = new SimplexAlgorithmClass();\n this.get(\"solutionString\").setTextString(\"\");\n \n all = new Array(\"x1\", \"x2\", \"x3\", \"x4\", \"x5\", \"x6\", \"x7\", \"x8\");\n schlupf = new Array(\"x5\", \"x6\", \"x7\", \"x8\", \"F\");\n needed = new Array(\"x1\", \"x2\", \"x3\", \"x4\");\n \n this.initializeTableau();\n\n this.algorithm.initSimplex(all, schlupf, needed);\n \n \n\n var extent = this.get(\"optangle\").getExtent();\n extent.x = 0;\n extent.y = 0;\n this.get(\"optangle\").setExtent(extent);\n \n var extent2 = this.get(\"optangle2\").getExtent();\n extent2.x = 0;\n extent2.y = 0;\n this.get(\"optangle2\").setExtent(extent2);\n \n this.result = false;\n}","funcProperties":{"__isSmartRef__":true,"id":861},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"860":{"this":{"__isSmartRef__":true,"id":818}},"861":{"timestamp":{"__isSmartRef__":true,"id":862},"user":"lisa.pfisterer","tags":[]},"862":{"isSerializedDate":true,"string":"Mon Nov 19 2012 12:22:46 GMT+0100 (Mitteleuropäische Zeit)"},"863":{"varMapping":{"__isSmartRef__":true,"id":864},"source":"function simplexStep() {\n if(!this.algorithm.result) {\n this.algorithm.simplexIteration();\n console.log(\"Result: \" + this.algorithm.resultString);\n console.log(\"Array x1: \" + this.algorithm.resultArray[0]);\n console.log(\"Array x2: \" + this.algorithm.resultArray[1]);\n console.log(\"Array x3: \" + this.algorithm.resultArray[2]);\n console.log(\"Array x4: \" + this.algorithm.resultArray[3]);\n \n this.get(\"solutionString\").setTextString(this.algorithm.needed[0] + \": \" + this.algorithm.resultArray[0] + \" \" + this.algorithm.needed[1] + \": \" + this.algorithm.resultArray[1] + \" \" + this.algorithm.needed[2] + \": \" + this.algorithm.resultArray[2] + \" \" + this.algorithm.needed[3] + \": \" + this.algorithm.resultArray[3]);\n \n\tvar extent = this.get(\"optangle\").getExtent();\n\textent[\"x\"] = this.algorithm.resultArray[0] * 1;\n\textent[\"y\"] = this.algorithm.resultArray[1] * 1;\n\tthis.get(\"optangle\").setExtent(extent);\n\t\n\tvar extent2 = this.get(\"optangle2\").getExtent();\n\textent2.x = this.algorithm.resultArray[2] * 1;\n\textent2.y = this.algorithm.resultArray[3] * 1;\n\tthis.get(\"optangle2\").setExtent(extent2);\n } else {\n this.stop();\n console.log(\"ALGORITHM FINISHED.\");\n }\n \n\n}","funcProperties":{"__isSmartRef__":true,"id":865},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"864":{"this":{"__isSmartRef__":true,"id":818}},"865":{"timestamp":{"__isSmartRef__":true,"id":866},"user":"lisa.pfisterer","tags":[]},"866":{"isSerializedDate":true,"string":"Mon Nov 19 2012 12:50:17 GMT+0100 (Mitteleuropäische Zeit)"},"867":{"varMapping":{"__isSmartRef__":true,"id":868},"source":"function initializeTableau() {\n var tableau = new Array(8);\n\n tableau[0] = new Array( 1, 0, 0, 0, 1, 0, 0, 0, 500 );\n \n tableau[1] = new Array( 0, 1, 0, 0, 0, 1, 0, 0, 500 );\n \n tableau[2] = new Array( 0, 0, 1, 0, 0, 0, 1, 0, 500 );\n\n tableau[3] = new Array( 0, 0, 0, 1, 0, 0, 0, 1, 500 );\n \n tableau[4] = new Array( 1, - 2, 0, 0, 0, 0, 0, 0, 0 );\n \n tableau[5] = new Array( 0, 0, 1, -3, 0, 0, 0, 0, 0 );\n \n tableau[6] = new Array( 1, 0, -3, 0, 0, 0, 0, 0, 0 );\n \n tableau[7] = new Array( -1, -1, -1, -1, 0, 0, 0, 0, 0 );\n\t\t\t\n this.algorithm.tableau = tableau;\t\n}","funcProperties":{"__isSmartRef__":true,"id":869},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"868":{"this":{"__isSmartRef__":true,"id":818}},"869":{"timestamp":{"__isSmartRef__":true,"id":870},"user":"lisa.pfisterer","tags":[]},"870":{"isSerializedDate":true,"string":"Mon Nov 19 2012 12:24:52 GMT+0100 (Mitteleuropäische Zeit)"},"871":{"sourceObj":{"__isSmartRef__":true,"id":783},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1},"targetMethodName":"stop","varMapping":{"__isSmartRef__":true,"id":872},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"872":{"source":{"__isSmartRef__":true,"id":783},"target":{"__isSmartRef__":true,"id":1}},"873":{"morph":{"__isSmartRef__":true,"id":783},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"874":{"doAction":{"__isSmartRef__":true,"id":875}},"875":{"varMapping":{"__isSmartRef__":true,"id":876},"source":"function doAction() {\n \n}","funcProperties":{"__isSmartRef__":true,"id":877},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"876":{"this":{"__isSmartRef__":true,"id":783}},"877":{"timestamp":{"__isSmartRef__":true,"id":878},"user":"robertkrahn","tags":[]},"878":{"isSerializedDate":true,"string":"Tue Jun 05 2012 14:02:40 GMT+0200 (Mitteleuropäische Sommerzeit)"},"879":{"submorphs":[{"__isSmartRef__":true,"id":880}],"scripts":[],"id":"DDC9CFD1-04BD-45AD-A355-E9619E645903","shape":{"__isSmartRef__":true,"id":885},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":891},"lighterFill":{"__isSmartRef__":true,"id":896},"label":{"__isSmartRef__":true,"id":880},"name":"startButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":805},"attributeConnections":[{"__isSmartRef__":true,"id":901}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":903},"derivationIds":[7251,"3F26258D-0EE1-4A94-8419-5EE2BB6065A6","B624295D-42E3-4E0A-B370-844C2B43F4F0","F5D160C8-1C2F-47D9-9BE1-2FD26C53BFB3","7D4A1972-76E5-4369-9964-2F6ACB87C81F","55E09D28-A9CA-4965-825E-F64F08933541","52575A31-EA4C-4E6E-B44F-37DE54D09554","09D0A760-52C4-4A3D-874C-137EBF1EC476","5EBC15A1-E19A-4FBD-8DBD-A2314C23B003","3B9E867B-0475-4602-BACF-0E82334A96D5","C0402D4B-0FBE-4555-8D28-FD88F7380060"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":1},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(7.0,53.0)","distanceToDragEvent":"lively.pt(54.9,-11.0)"},"880":{"submorphs":[],"scripts":[],"id":"1F94C037-3802-4323-B400-ECC60F8AAD7E","shape":{"__isSmartRef__":true,"id":881},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":100,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":879},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":882}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":884},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"4881773E-A824-4992-B814-33C8D37580C6","EE955AA4-D648-4DFC-8E2D-08881D605170","7EC413DD-D34D-449D-B448-2F3904B04FA5","7939AA82-2A96-4559-9090-DD58B7C8868A","FA375CFB-4C21-4DC8-8F83-823F12C471E2","765CA998-A11D-4244-9112-E02C3E6D6E08","73AA2975-57A2-4F12-A71A-171D2BDC5ECA","A017DA43-1B33-4E3C-8DB3-97FE48F0C491","67CE02E1-7A8E-4984-998C-BCF6A77C546C","8FEAD123-5CF2-46BB-A565-CB274595BC73"],"_MinTextWidth":100,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"881":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(100.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"882":{"style":{"__isSmartRef__":true,"id":883},"chunkOwner":{"__isSmartRef__":true,"id":880},"_id":"_33410","storedString":"Start","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"883":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"884":{"morph":{"__isSmartRef__":true,"id":880},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"885":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":886},"_BorderRadius":5.2,"_ClipMode":"visible","__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(100.0,22.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"886":{"stops":[{"__isSmartRef__":true,"id":887},{"__isSmartRef__":true,"id":888},{"__isSmartRef__":true,"id":889},{"__isSmartRef__":true,"id":890}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"887":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"888":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"889":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"890":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"891":{"stops":[{"__isSmartRef__":true,"id":892},{"__isSmartRef__":true,"id":893},{"__isSmartRef__":true,"id":894},{"__isSmartRef__":true,"id":895}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"892":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"893":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"894":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"895":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"896":{"stops":[{"__isSmartRef__":true,"id":897},{"__isSmartRef__":true,"id":898},{"__isSmartRef__":true,"id":899},{"__isSmartRef__":true,"id":900}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"897":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"898":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"899":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"900":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"901":{"sourceObj":{"__isSmartRef__":true,"id":879},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1},"targetMethodName":"start","varMapping":{"__isSmartRef__":true,"id":902},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"902":{"source":{"__isSmartRef__":true,"id":879},"target":{"__isSmartRef__":true,"id":1}},"903":{"morph":{"__isSmartRef__":true,"id":879},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"904":{"submorphs":[{"__isSmartRef__":true,"id":905}],"scripts":[],"id":"A3AFCD3D-15BC-4425-B5F2-EAD7B426D22F","shape":{"__isSmartRef__":true,"id":910},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":916},"lighterFill":{"__isSmartRef__":true,"id":921},"label":{"__isSmartRef__":true,"id":905},"name":"initButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":926},"eventHandler":{"__isSmartRef__":true,"id":937},"derivationIds":[7251,"3F26258D-0EE1-4A94-8419-5EE2BB6065A6","B624295D-42E3-4E0A-B370-844C2B43F4F0","F5D160C8-1C2F-47D9-9BE1-2FD26C53BFB3","7D4A1972-76E5-4369-9964-2F6ACB87C81F","55E09D28-A9CA-4965-825E-F64F08933541","52575A31-EA4C-4E6E-B44F-37DE54D09554","09D0A760-52C4-4A3D-874C-137EBF1EC476","5EBC15A1-E19A-4FBD-8DBD-A2314C23B003","3B9E867B-0475-4602-BACF-0E82334A96D5","C0402D4B-0FBE-4555-8D28-FD88F7380060","2929A139-A361-4843-91ED-C8C25247D03B"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":1},"attributeConnections":[{"__isSmartRef__":true,"id":938}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(4.0,18.0)","distanceToDragEvent":"lively.pt(54.9,-11.0)"},"905":{"submorphs":[],"scripts":[],"id":"BEE45CC0-D0B8-4749-A965-A1EBC53E76B2","shape":{"__isSmartRef__":true,"id":906},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":100,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":904},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":907}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":909},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"4881773E-A824-4992-B814-33C8D37580C6","EE955AA4-D648-4DFC-8E2D-08881D605170","7EC413DD-D34D-449D-B448-2F3904B04FA5","7939AA82-2A96-4559-9090-DD58B7C8868A","FA375CFB-4C21-4DC8-8F83-823F12C471E2","765CA998-A11D-4244-9112-E02C3E6D6E08","73AA2975-57A2-4F12-A71A-171D2BDC5ECA","A017DA43-1B33-4E3C-8DB3-97FE48F0C491","67CE02E1-7A8E-4984-998C-BCF6A77C546C","8FEAD123-5CF2-46BB-A565-CB274595BC73","12C45DC5-CE8C-449A-8A20-1CC7DD2423FC"],"_MinTextWidth":100,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"906":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(100.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"907":{"style":{"__isSmartRef__":true,"id":908},"chunkOwner":{"__isSmartRef__":true,"id":905},"_id":"_1120","storedString":"Initialisieren","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"908":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"909":{"morph":{"__isSmartRef__":true,"id":905},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"910":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":911},"_BorderRadius":5.2,"_ClipMode":"visible","__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(100.0,22.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"911":{"stops":[{"__isSmartRef__":true,"id":912},{"__isSmartRef__":true,"id":913},{"__isSmartRef__":true,"id":914},{"__isSmartRef__":true,"id":915}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"912":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"913":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"914":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"915":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"916":{"stops":[{"__isSmartRef__":true,"id":917},{"__isSmartRef__":true,"id":918},{"__isSmartRef__":true,"id":919},{"__isSmartRef__":true,"id":920}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"917":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"918":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"919":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"920":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"921":{"stops":[{"__isSmartRef__":true,"id":922},{"__isSmartRef__":true,"id":923},{"__isSmartRef__":true,"id":924},{"__isSmartRef__":true,"id":925}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"922":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"923":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"924":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"925":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"926":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":927},{"__isSmartRef__":true,"id":929},{"__isSmartRef__":true,"id":931},{"__isSmartRef__":true,"id":933},{"__isSmartRef__":true,"id":935}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"927":{"date":{"__isSmartRef__":true,"id":928},"author":"undefined","message":"","id":"7074B413-6CF0-4892-9D18-52009A2A2E03"},"928":{"isSerializedDate":true,"string":"Fri Apr 13 2012 21:04:01 GMT+0200 (Mitteleuropäische Sommerzeit)"},"929":{"date":{"__isSmartRef__":true,"id":930},"author":"sstamm","message":"reverted button","id":"9B7AA90A-42FC-4DE8-A4DE-51AB903A740E"},"930":{"isSerializedDate":true,"string":"Mon Apr 16 2012 10:36:21 GMT+0200 (Mitteleuropäische Sommerzeit)"},"931":{"date":{"__isSmartRef__":true,"id":932},"author":"robertkrahn","message":"no comment","id":"97D17254-EAC6-4494-8330-A347909590D6"},"932":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:08:58 GMT+0200 (Mitteleuropäische Sommerzeit)"},"933":{"date":{"__isSmartRef__":true,"id":934},"author":"robertkrahn","message":"no comment","id":"DDE22D44-9A6D-4485-80F3-262D5DA0CC07"},"934":{"isSerializedDate":true,"string":"Tue Jun 05 2012 14:03:19 GMT+0200 (Mitteleuropäische Sommerzeit)"},"935":{"date":{"__isSmartRef__":true,"id":936},"author":"bgnauk","message":"no comment","id":"FA43C1A3-19A9-4ED6-A014-82C74689A5C3"},"936":{"isSerializedDate":true,"string":"Tue Jun 19 2012 23:39:23 GMT+0200 (Mitteleuropäische Sommerzeit)"},"937":{"morph":{"__isSmartRef__":true,"id":904},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"938":{"sourceObj":{"__isSmartRef__":true,"id":904},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1},"targetMethodName":"initSimplex","varMapping":{"__isSmartRef__":true,"id":939},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"939":{"source":{"__isSmartRef__":true,"id":904},"target":{"__isSmartRef__":true,"id":1}},"940":{"submorphs":[{"__isSmartRef__":true,"id":941}],"scripts":[],"id":"E6D1D7AC-9308-4911-AFA7-EAD5A99AC31F","shape":{"__isSmartRef__":true,"id":946},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":952},"lighterFill":{"__isSmartRef__":true,"id":957},"label":{"__isSmartRef__":true,"id":941},"name":"parseConstraintsButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":962},"attributeConnections":[{"__isSmartRef__":true,"id":974},{"__isSmartRef__":true,"id":975}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":977},"derivationIds":[7251,"3F26258D-0EE1-4A94-8419-5EE2BB6065A6","B624295D-42E3-4E0A-B370-844C2B43F4F0","F5D160C8-1C2F-47D9-9BE1-2FD26C53BFB3","7D4A1972-76E5-4369-9964-2F6ACB87C81F","468167DF-C2A9-4D14-B344-4D183695DBF9","A507628C-314F-4CA3-90BE-D9B88F8447E9","D1AF90C8-F667-4D9B-B3A4-6FA707BF0583","A9ABAF28-AE0D-42E5-B1EC-27B990856CBA","F60C6C80-53D4-4D5C-9ED3-95605C4D56DC","95F3A13F-AAEB-4908-91C0-B87713A5E6E3","9176FC8B-F37B-4188-9B2E-E718C3D9B12A","8239B60C-680A-4E8E-8F48-398028228535","A99A9AB5-FDC1-43E4-85F0-D69BD20223F9","3A28F1F7-C0A5-4346-AA70-54B5FECACF9A"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":1},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":978},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(1627.0,662.0)","distanceToDragEvent":"lively.pt(54.9,-11.0)"},"941":{"submorphs":[],"scripts":[],"id":"022F059B-EAD1-46A6-98D7-1518240E6E80","shape":{"__isSmartRef__":true,"id":942},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":100,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":940},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":943}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":945},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"4881773E-A824-4992-B814-33C8D37580C6","EE955AA4-D648-4DFC-8E2D-08881D605170","7EC413DD-D34D-449D-B448-2F3904B04FA5","7939AA82-2A96-4559-9090-DD58B7C8868A","CA0DC720-D350-40B1-B491-56053DD3ACEC","0D350F67-43D3-4011-A7FE-BB6073758DFE","F3992590-AD3D-47A5-8663-6C72C72B45C4","B722D102-4490-4B08-96D9-95A987C54713","A3C83808-0F33-4DE8-B768-9D3D321F6DCF","84D29350-B39A-4D78-8D8C-0C782E69F01E","A8E991FE-CE35-42D0-899D-84A971A8EA24","8584DD1A-DDE5-4456-9B8F-92C3D5D16FD1","A012064E-9881-45AC-873B-9FCEB952B7DD","9360CF78-F02C-4B5B-B0B9-E0DBF495EF21"],"_MinTextWidth":100,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"942":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(100.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"943":{"style":{"__isSmartRef__":true,"id":944},"chunkOwner":{"__isSmartRef__":true,"id":941},"_id":"_2456","storedString":"Einlesen","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"944":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"945":{"morph":{"__isSmartRef__":true,"id":941},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"946":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":947},"_BorderRadius":5.2,"_ClipMode":"visible","__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(100.0,22.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"947":{"stops":[{"__isSmartRef__":true,"id":948},{"__isSmartRef__":true,"id":949},{"__isSmartRef__":true,"id":950},{"__isSmartRef__":true,"id":951}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"948":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"949":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"950":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"951":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"952":{"stops":[{"__isSmartRef__":true,"id":953},{"__isSmartRef__":true,"id":954},{"__isSmartRef__":true,"id":955},{"__isSmartRef__":true,"id":956}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"953":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"954":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"955":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"956":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"957":{"stops":[{"__isSmartRef__":true,"id":958},{"__isSmartRef__":true,"id":959},{"__isSmartRef__":true,"id":960},{"__isSmartRef__":true,"id":961}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"958":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"959":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"960":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"961":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"962":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":963},{"__isSmartRef__":true,"id":965},{"__isSmartRef__":true,"id":967},{"__isSmartRef__":true,"id":969},{"__isSmartRef__":true,"id":971}],"revisionOnLoad":171940,"lastModifiedDate":{"__isSmartRef__":true,"id":973},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"963":{"date":{"__isSmartRef__":true,"id":964},"author":"undefined","message":"","id":"7074B413-6CF0-4892-9D18-52009A2A2E03"},"964":{"isSerializedDate":true,"string":"Fri Apr 13 2012 21:04:01 GMT+0200 (Mitteleuropäische Sommerzeit)"},"965":{"date":{"__isSmartRef__":true,"id":966},"author":"sstamm","message":"reverted button","id":"9B7AA90A-42FC-4DE8-A4DE-51AB903A740E"},"966":{"isSerializedDate":true,"string":"Mon Apr 16 2012 10:36:21 GMT+0200 (Mitteleuropäische Sommerzeit)"},"967":{"date":{"__isSmartRef__":true,"id":968},"author":"robertkrahn","message":"no comment","id":"97D17254-EAC6-4494-8330-A347909590D6"},"968":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:08:58 GMT+0200 (Mitteleuropäische Sommerzeit)"},"969":{"date":{"__isSmartRef__":true,"id":970},"author":"robertkrahn","message":"no comment","id":"DDE22D44-9A6D-4485-80F3-262D5DA0CC07"},"970":{"isSerializedDate":true,"string":"Tue Jun 05 2012 14:03:19 GMT+0200 (Mitteleuropäische Sommerzeit)"},"971":{"date":{"__isSmartRef__":true,"id":972},"author":"bgnauk","message":"no comment","id":"FA43C1A3-19A9-4ED6-A014-82C74689A5C3"},"972":{"isSerializedDate":true,"string":"Tue Jun 19 2012 23:39:23 GMT+0200 (Mitteleuropäische Sommerzeit)"},"973":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (Mitteleuropäische Sommerzeit)"},"974":{"sourceObj":{"__isSmartRef__":true,"id":940},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":940},"targetMethodName":"doAction","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"975":{"sourceObj":{"__isSmartRef__":true,"id":940},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1},"targetMethodName":"parseConstraints","varMapping":{"__isSmartRef__":true,"id":976},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"976":{"source":{"__isSmartRef__":true,"id":940},"target":{"__isSmartRef__":true,"id":1}},"977":{"morph":{"__isSmartRef__":true,"id":940},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"978":{"doAction":{"__isSmartRef__":true,"id":979}},"979":{"varMapping":{"__isSmartRef__":true,"id":980},"source":"function doAction() {\n \n}","funcProperties":{"__isSmartRef__":true,"id":981},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"980":{"this":{"__isSmartRef__":true,"id":940}},"981":{"timestamp":{"__isSmartRef__":true,"id":982},"user":"robertkrahn","tags":[]},"982":{"isSerializedDate":true,"string":"Tue Jun 05 2012 14:02:40 GMT+0200 (Mitteleuropäische Sommerzeit)"},"983":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__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(1774.0,712.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"984":{"partsSpaceName":"PartsBin/sd1213/","comment":"Constraint-based layouting with the Simplex algorithm. Still under construction!","migrationLevel":4,"partName":"SketchPad","changes":[{"__isSmartRef__":true,"id":985},{"__isSmartRef__":true,"id":987},{"__isSmartRef__":true,"id":989},{"__isSmartRef__":true,"id":991},{"__isSmartRef__":true,"id":993},{"__isSmartRef__":true,"id":995},{"__isSmartRef__":true,"id":997},{"__isSmartRef__":true,"id":999},{"__isSmartRef__":true,"id":1001},{"__isSmartRef__":true,"id":1003},{"__isSmartRef__":true,"id":1005},{"__isSmartRef__":true,"id":1007},{"__isSmartRef__":true,"id":1009},{"__isSmartRef__":true,"id":1011},{"__isSmartRef__":true,"id":1013},{"__isSmartRef__":true,"id":1015},{"__isSmartRef__":true,"id":1017},{"__isSmartRef__":true,"id":1019}],"lastModifiedDate":{"__isSmartRef__":true,"id":1021},"revisionOnLoad":185855,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"985":{"date":{"__isSmartRef__":true,"id":986},"author":"lisa.pfisterer","message":"Umsetzen der height-Constraints ins Tableau jetzt möglich. auch die zu maximierende F-Funktion. Außerdem Anzeige der aktuellen Werte","id":"0E43FD81-95AA-4810-BF4D-5132C4CB5430"},"986":{"isSerializedDate":true,"string":"Sun Dec 02 2012 19:09:22 GMT+0100 (Mitteleuropäische Zeit)"},"987":{"date":{"__isSmartRef__":true,"id":988},"author":"lisa.pfisterer","message":"Änderungen von Lisa. Array Util, Tableau-Anzeige, erste Schritte für Setter.","id":"5E3055D8-ECFA-4BEE-A27D-35F84A422A00"},"988":{"isSerializedDate":true,"string":"Sun Dec 02 2012 14:28:16 GMT+0100 (Mitteleuropäische Zeit)"},"989":{"date":{"__isSmartRef__":true,"id":990},"author":"daniel.hoffmann","message":"Added support for adding constraints manually","id":"09ABA022-2B1A-4B91-8B3B-31A5752DD828"},"990":{"isSerializedDate":true,"string":"Sun Dec 02 2012 12:38:16 GMT+0100 (Mitteleuropäische Zeit)"},"991":{"date":{"__isSmartRef__":true,"id":992},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"992":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (Mitteleuropäische Sommerzeit)"},"993":{"date":{"__isSmartRef__":true,"id":994},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"994":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (Mitteleuropäische Sommerzeit)"},"995":{"date":{"__isSmartRef__":true,"id":996},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"996":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (Mitteleuropäische Zeit)"},"997":{"date":{"__isSmartRef__":true,"id":998},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"998":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (Mitteleuropäische Zeit)"},"999":{"date":{"__isSmartRef__":true,"id":1000},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"1000":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (Mitteleuropäische Zeit)"},"1001":{"date":{"__isSmartRef__":true,"id":1002},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"1002":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1003":{"date":{"__isSmartRef__":true,"id":1004},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"1004":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1005":{"date":{"__isSmartRef__":true,"id":1006},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"1006":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (Mitteleuropäische Zeit)"},"1007":{"date":{"__isSmartRef__":true,"id":1008},"author":"lisa.pfisterer","message":"first draft. Still under construction!","id":"2B13E2A0-6DC9-4EDF-82E7-F541EB7D78BF"},"1008":{"isSerializedDate":true,"string":"Sat Dec 01 2012 21:43:10 GMT+0100 (Mitteleuropäische Zeit)"},"1009":{"date":{"__isSmartRef__":true,"id":1010},"author":"lisa.pfisterer","message":"Zwischenstand. Util-Funktionen für das Arbeiten mit Arrays (Zeile und Spalte hinzufügen für neue Constraints im Tableau)","id":"09B63D24-0A8C-46E0-9DB0-CEDE9AF8690B"},"1010":{"isSerializedDate":true,"string":"Sat Dec 01 2012 22:57:06 GMT+0100 (Mitteleuropäische Zeit)"},"1011":{"date":{"__isSmartRef__":true,"id":1012},"author":"daniel.hoffmann","message":"Fixed bug to get current value of constraint type (width, height) \nAdded button to set up sketch area","id":"97C976C9-4DA1-40D1-8108-57DD86CA3BA2"},"1012":{"isSerializedDate":true,"string":"Sun Dec 02 2012 14:00:42 GMT+0100 (Mitteleuropäische Zeit)"},"1013":{"date":{"__isSmartRef__":true,"id":1014},"author":"daniel.hoffmann","message":"ratio button works as well","id":"855AF291-AD64-458B-9689-798C7B7C95B5"},"1014":{"isSerializedDate":true,"string":"Sun Dec 02 2012 14:06:02 GMT+0100 (Mitteleuropäische Zeit)"},"1015":{"date":{"__isSmartRef__":true,"id":1016},"author":"daniel.hoffmann","message":"get side of rectangle","id":"0E2DB143-F8A6-4DEA-A29B-8B814B27984E"},"1016":{"isSerializedDate":true,"string":"Sun Dec 02 2012 17:49:43 GMT+0100 (Mitteleuropäische Zeit)"},"1017":{"date":{"__isSmartRef__":true,"id":1018},"author":"daniel.hoffmann","message":"read value of ratio","id":"1534C786-A4CB-4E28-8341-71AEBC1C796B"},"1018":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:15:07 GMT+0100 (Mitteleuropäische Zeit)"},"1019":{"date":{"__isSmartRef__":true,"id":1020},"author":"lisa.pfisterer","message":"Ratio implementiert (richtig herum??)","id":"37F523CF-DD2D-4A29-96F1-E50E32CD8D94"},"1020":{"isSerializedDate":true,"string":"Mon Dec 03 2012 23:26:16 GMT+0100 (Mitteleuropäische Zeit)"},"1021":{"isSerializedDate":true,"string":"Mon Dec 03 2012 23:23:12 GMT+0100 (Mitteleuropäische Zeit)"},"1022":{"morph":{"__isSmartRef__":true,"id":1},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1023":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1024}},"1024":{"test01IsMorph":{"__isSmartRef__":true,"id":1025}},"1025":{"varMapping":{"__isSmartRef__":true,"id":1026},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":1027},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1026":{"this":{"__isSmartRef__":true,"id":1023}},"1027":{},"1028":{"tableau":[[1,1,0,0,0,0,0,0,0,0,"150"],[0,0,1,1,0,0,0,0,0,0,"50"],[-1,0,0,0,"1.5",0,0,0,0,0,0],[0,0,0,0,"2",0,-1,0,0,0,0],[0,0,"4",0,0,0,0,0,-1,0,0],[-1,0,-1,0,-1,0,-1,0,-1,0,0]],"all":["green.h","x0","green.w","x1","blue.h","x2","red.h","x3","red.w","x4"],"schlupf":["x0","x1","x2","x3","x4"],"needed":["green.h","green.w","blue.h","red.h","red.w"],"resultArray":[0,0],"result":false,"__LivelyClassName__":"SimplexAlgorithmClass","__SourceModuleName__":"Global.projects.SketchPad.SimplexAlgorithm"},"1029":{"initializeTableau":{"__isSmartRef__":true,"id":1030},"initSimplex":{"__isSmartRef__":true,"id":1034},"simplexStep":{"__isSmartRef__":true,"id":1038},"start":{"__isSmartRef__":true,"id":1042},"stop":{"__isSmartRef__":true,"id":1046},"parseConstraints":{"__isSmartRef__":true,"id":1050},"testTableau":{"__isSmartRef__":true,"id":1054},"addConstraintArray":{"__isSmartRef__":true,"id":1058},"extendArrayWithZeros":{"__isSmartRef__":true,"id":1062},"height":{"__isSmartRef__":true,"id":1066},"addConstraint":{"__isSmartRef__":true,"id":1070},"getValueForConstraintType":{"__isSmartRef__":true,"id":1074},"select":{"__isSmartRef__":true,"id":1078},"setCurrentConstraintType":{"__isSmartRef__":true,"id":1082},"roundTableau":{"__isSmartRef__":true,"id":1086},"setValue":{"__isSmartRef__":true,"id":1090},"stepping":{"__isSmartRef__":true,"id":1094},"testStuff":{"__isSmartRef__":true,"id":1098},"getRatioSide":{"__isSmartRef__":true,"id":1102},"addRatioConstraint":{"__isSmartRef__":true,"id":1106},"length":{"__isSmartRef__":true,"id":1110},"printTableau":{"__isSmartRef__":true,"id":1114},"showVariableValues":{"__isSmartRef__":true,"id":1118},"getValue":{"__isSmartRef__":true,"id":1122},"width":{"__isSmartRef__":true,"id":1126},"ratio":{"__isSmartRef__":true,"id":1130},"position":{"__isSmartRef__":true,"id":1134}},"1030":{"varMapping":{"__isSmartRef__":true,"id":1031},"source":"function initializeTableau() {\n var tableau = new Array();\n tableau[0] = new Array();\n\t\t\t\n this.algorithm.tableau = tableau;\t\n}","funcProperties":{"__isSmartRef__":true,"id":1032},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1031":{"this":{"__isSmartRef__":true,"id":1}},"1032":{"timestamp":{"__isSmartRef__":true,"id":1033},"user":"lisa.pfisterer","tags":[]},"1033":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:59:12 GMT+0100 (Mitteleuropäische Zeit)"},"1034":{"varMapping":{"__isSmartRef__":true,"id":1035},"source":"function initSimplex() {\n module('projects.SketchPad.SimplexAlgorithm').load();\n JSLoader.loadJs('http://lively-kernel.org/repository/webwerkstatt/projects/SketchPad/SimplexAlgorithm.js');\n \n this.algorithm = new SimplexAlgorithmClass();\n \n all = new Array();\n schlupf = new Array();\n needed = new Array();\n \n this.initializeTableau();\n\n this.algorithm.initSimplex(all, schlupf, needed);\n \n this.result = false;\n this.parseConstraints();\n \n this.printTableau();\n \n //this.startStepping(100, \"showVariableValues\");\n}","funcProperties":{"__isSmartRef__":true,"id":1036},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1035":{"this":{"__isSmartRef__":true,"id":1}},"1036":{"timestamp":{"__isSmartRef__":true,"id":1037},"user":"lisa.pfisterer","tags":[]},"1037":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1038":{"varMapping":{"__isSmartRef__":true,"id":1039},"source":"function simplexStep() {\n if(!this.algorithm.result) {\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n var index = this.algorithm.schlupf.indexOf(this.algorithm.needed[i]);\n if (index >= 0) {\n var val = this.algorithm.resultArray[i];\n //this.algorithm.tableau[index][this.algorithm.tableau[0].length] = this.getValue(this.algorithm.needed[i]);\n console.log(\"Current Value: \" + this.algorithm.schlupf[index] + \" \" + val + \" GET VALUE: \" + this.getValue(this.algorithm.needed[i]));\n }\n \n }\n \n // SIMPLEX ITERATION STEP\n this.algorithm.simplexIteration();\n // ----------------------\n \n for (var i = 0; i < this.algorithm.resultArray.length; i++) {\n console.log(\"Result \" + this.algorithm.needed[i] + \": \" + this.algorithm.resultArray[i]);\n }\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n this.setValue(this.algorithm.needed[i], this.algorithm.resultArray[i]);\n }\n \n this.printTableau();\n\n } else {\n console.log(\"ALGORITHM FINISHED.\");\n\n this.printTableau(); \n this.stop();\n }\n \n\n}","funcProperties":{"__isSmartRef__":true,"id":1040},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1039":{"this":{"__isSmartRef__":true,"id":1}},"1040":{"timestamp":{"__isSmartRef__":true,"id":1041},"user":"lisa.pfisterer","tags":[]},"1041":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1042":{"varMapping":{"__isSmartRef__":true,"id":1043},"source":"function start() {\n this.initSimplex();\n this.startStepping(1000, \"simplexStep\")\n}","funcProperties":{"__isSmartRef__":true,"id":1044},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1043":{"this":{"__isSmartRef__":true,"id":1}},"1044":{"timestamp":{"__isSmartRef__":true,"id":1045},"user":"lisa.pfisterer","tags":[]},"1045":{"isSerializedDate":true,"string":"Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit)"},"1046":{"varMapping":{"__isSmartRef__":true,"id":1047},"source":"function stop() {\n this.stopStepping()\n}","funcProperties":{"__isSmartRef__":true,"id":1048},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1047":{"this":{"__isSmartRef__":true,"id":1}},"1048":{"timestamp":{"__isSmartRef__":true,"id":1049},"user":"lisa.pfisterer","tags":[]},"1049":{"isSerializedDate":true,"string":"Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit)"},"1050":{"varMapping":{"__isSmartRef__":true,"id":1051},"source":"function parseConstraints() {\n console.log(\"function: parseConstraints\");\n var constraintString = this.get(\"constraintsTextField\").getTextString();\n var constraints = constraintString.split(\"\\n\");\n this.get(\"variablesTextField\").setTextString(\"\");\n this.constraintsArray = new Array();\n \n for (var i = 0; i < constraints.length; i++) {\n if (constraints[i].trim() != \"\") {\n var prior = this.get(\"variablesTextField\").getTextString();\n\n var base = constraints[i].split(\")\")[0];\n var parts = base.split(\"(\");\n var methodName = parts[0];\n // console.log(\"methodName: \" + methodName);\n var variables = parts[1].split(\",\"); \n \n for (var j = 0; j < variables.length; j++) {\n variables[j] = variables[j].trim();\n }\n \n this.constraintsArray[i] = new Array(methodName, variables);\n \n switch (methodName) {\n case \"height\":\n this.height(variables);\n break;\n case \"width\":\n this.width(variables);\n break;\n case \"ratio\":\n this.ratio(variables);\n break;\n case \"position\":\n this.position(variables);\n break;\n default:\n break;\n }\n }\n }\n console.log(\"Constraints Array: \" + this.constraintsArray);\n this.get(\"variablesTextField\").setTextString(\"Arr: \" + this.constraintsArray);\n}","funcProperties":{"__isSmartRef__":true,"id":1052},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1051":{"this":{"__isSmartRef__":true,"id":1}},"1052":{"timestamp":{"__isSmartRef__":true,"id":1053},"user":"lisa.pfisterer","tags":[]},"1053":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1054":{"varMapping":{"__isSmartRef__":true,"id":1055},"source":"function testTableau() {\n var array = new Array();\n \n array[0] = new Array(0, 4, 4, 1, 1, 1);\n array[1] = new Array(0, 3, 1, 6, 5, 0);\n array[2] = new Array(\"x\", \"y\", \"x\", \"x\", \"x\", \"x\");\n //var test = new Array();\n //test[0] = new Array(4, 2, 3, 0);\n //array = array.concat(test);\n //array = this.extendArray(array);\n var xxx = new Array(9, 9);\n array = this.addConstraintArray(xxx, array);\n \n this.get(\"tableauTextField\").setTextString(array.join(\"\\n\"));\n}","funcProperties":{"__isSmartRef__":true,"id":1056},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1055":{"this":{"__isSmartRef__":true,"id":1}},"1056":{"timestamp":{"__isSmartRef__":true,"id":1057},"user":"lisa.pfisterer","tags":[]},"1057":{"isSerializedDate":true,"string":"Sat Dec 01 2012 22:53:18 GMT+0100 (Mitteleuropäische Zeit)"},"1058":{"varMapping":{"__isSmartRef__":true,"id":1059},"source":"function addConstraintArray(variables, sum) {\n \n var length = this.algorithm.tableau[0].length;\n console.log(\"function: addConstraintArray\");\n \n var helper = new Array();\n for (var i = 0; i < length; i++) {\n helper[i] = 0;\n }\n\n var maxFunct = this.algorithm.tableau.pop();\n \n for (var i = 0; i < variables.length; i++) {\n // console.log(\"variable: \" + variables[i][0]);\n var index = this.algorithm.all.indexOf(variables[i][0]);\n helper[index] = variables[i][1];\n if (variables[i][0].indexOf(\"x\") < 0) { // Schlupfvariable\n maxFunct[index] = -1;\n }\n }\n\n helper[length - 1] = sum;\n this.algorithm.tableau.push(helper);\n this.algorithm.tableau.push(maxFunct);\n // console.log(\"tableau: \" + this.algorithm.tableau);\n}","funcProperties":{"__isSmartRef__":true,"id":1060},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1059":{"this":{"__isSmartRef__":true,"id":1}},"1060":{"timestamp":{"__isSmartRef__":true,"id":1061},"user":"lisa.pfisterer","tags":[]},"1061":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1062":{"varMapping":{"__isSmartRef__":true,"id":1063},"source":"function extendArrayWithZeros(array) {\n for (var i = 0; i < array.length; i++) {\n var subarray = array[i];\n var last = subarray.pop();\n subarray.push(0);\n if (last == undefined) {\n subarray.push(0);\n } else {\n subarray.push(last);\n }\n }\n return array;\n}","funcProperties":{"__isSmartRef__":true,"id":1064},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1063":{"this":{"__isSmartRef__":true,"id":1}},"1064":{"timestamp":{"__isSmartRef__":true,"id":1065},"user":"lisa.pfisterer","tags":[]},"1065":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:58:45 GMT+0100 (Mitteleuropäische Zeit)"},"1066":{"varMapping":{"__isSmartRef__":true,"id":1067},"source":"function height(variables) {\n console.log(\"function: height\");\n var variable = variables[0] + \".h\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}","funcProperties":{"__isSmartRef__":true,"id":1068},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1067":{"this":{"__isSmartRef__":true,"id":1}},"1068":{"timestamp":{"__isSmartRef__":true,"id":1069},"user":"lisa.pfisterer","tags":[]},"1069":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1070":{"varMapping":{"__isSmartRef__":true,"id":1071},"source":"function addConstraint(type, element, value) {\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + element + \", \" + value + \");\");\n this.currentConstraintType = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1072},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1071":{"this":{"__isSmartRef__":true,"id":1}},"1072":{"timestamp":{"__isSmartRef__":true,"id":1073},"user":"daniel.hoffmann","tags":[]},"1073":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:03:07 GMT+0100 (Mitteleuropäische Zeit)"},"1074":{"varMapping":{"__isSmartRef__":true,"id":1075},"source":"function getValueForConstraintType(type, name1, name2) {\n debugger;\n if (type == \"width\"){\n return this.get(name1).getExtent().x;\n } else if (type == \"height\"){\n return this.get(name1).getExtent().y;\n } else if (type == \"ratio\"){\n return this.getValueForConstraintType(name1.split(\".\")[1],name1.split(\".\")[0]) / this.getValueForConstraintType(name2.split(\".\")[1],name2.split(\".\")[0]);\n } else {\n return \"?\"\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1076},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1075":{"this":{"__isSmartRef__":true,"id":1}},"1076":{"timestamp":{"__isSmartRef__":true,"id":1077},"user":"daniel.hoffmann","tags":[]},"1077":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:13:56 GMT+0100 (Mitteleuropäische Zeit)"},"1078":{"varMapping":{"__isSmartRef__":true,"id":1079},"source":"function select(name, part) {\n console.log(\"selected \" + name + \" \" + part);\n this.get(\"SelectedText\").setTextString(name);\n if(this.currentConstraintType != null){\n if(this.currentConstraintType != \"ratio\"){\n var value = this.getValueForConstraintType(this.currentConstraintType, name);\n this.addConstraint(this.currentConstraintType, name, value);\n } else {\n if (this.firstRatioSide == null) {\n this.firstRatioSide = this.getRatioSide(name, part);\n } else {\n debugger;\n this.addRatioConstraint(this.currentConstraintType, \n this.firstRatioSide, this.getRatioSide(name, part), 1);\n }\n } \n }\n}","funcProperties":{"__isSmartRef__":true,"id":1080},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1079":{"this":{"__isSmartRef__":true,"id":1}},"1080":{"timestamp":{"__isSmartRef__":true,"id":1081},"user":"daniel.hoffmann","tags":[]},"1081":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:08:48 GMT+0100 (Mitteleuropäische Zeit)"},"1082":{"varMapping":{"__isSmartRef__":true,"id":1083},"source":"function setCurrentConstraintType(type) {\n this.currentConstraintType = type;\n if(type == \"ratio\") {\n this.firstRatioSide = null;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1084},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1083":{"this":{"__isSmartRef__":true,"id":1}},"1084":{"timestamp":{"__isSmartRef__":true,"id":1085},"user":"daniel.hoffmann","tags":[]},"1085":{"isSerializedDate":true,"string":"Sun Dec 02 2012 17:53:45 GMT+0100 (Mitteleuropäische Zeit)"},"1086":{"varMapping":{"__isSmartRef__":true,"id":1087},"source":"function roundTableau(array) {\n var roundedArray = new Array();\n for (var i = 0; i < array.length; i++) {\n roundedArray[i] = new Array();\n for (var j = 0; j < array[0].length; j++) {\n \n roundedArray[i][j] = Math.round(array[i][j] * 100) / 100;\n }\n }\n return roundedArray;\n}","funcProperties":{"__isSmartRef__":true,"id":1088},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1087":{"this":{"__isSmartRef__":true,"id":1}},"1088":{"timestamp":{"__isSmartRef__":true,"id":1089},"user":"lisa.pfisterer","tags":[]},"1089":{"isSerializedDate":true,"string":"Sun Dec 02 2012 14:25:12 GMT+0100 (Mitteleuropäische Zeit)"},"1090":{"varMapping":{"__isSmartRef__":true,"id":1091},"source":"function setValue(attribute, value) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n var extent = object.getExtent();\n extent.y = value;\n object.setExtent(extent);\n break;\n case \"w\":\n var extent = object.getExtent();\n extent.x = value;\n object.setExtent(extent);\n break;\n case \"x\":\n var position = object.getPosition();\n position.x = value;\n object.setPosition(position);\n break;\n case \"y\":\n var position= object.getPosition();\n position.y = value;\n object.setPosition(position);\n break;\n default:\n break;\n }\n \n}","funcProperties":{"__isSmartRef__":true,"id":1092},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1091":{"this":{"__isSmartRef__":true,"id":1}},"1092":{"timestamp":{"__isSmartRef__":true,"id":1093},"user":"lisa.pfisterer","tags":[]},"1093":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1094":{"varMapping":{"__isSmartRef__":true,"id":1095},"source":"function stepping() {\n this.startStepping(100, \"testStuff\")\n}","funcProperties":{"__isSmartRef__":true,"id":1096},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1095":{"this":{"__isSmartRef__":true,"id":1}},"1096":{"timestamp":{"__isSmartRef__":true,"id":1097},"user":"lisa.pfisterer","tags":[]},"1097":{"isSerializedDate":true,"string":"Sun Dec 02 2012 14:26:27 GMT+0100 (Mitteleuropäische Zeit)"},"1098":{"varMapping":{"__isSmartRef__":true,"id":1099},"source":"function testStuff() {\n //this.setValue(\"greenRect.height\", 300);\n //this.setValue(\"greenRect.width\", 150);\n var position = this.get(\"green\").getPosition();\n position.x = 300;\n this.get(\"green\").setPosition(position);\n \n}","funcProperties":{"__isSmartRef__":true,"id":1100},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1099":{"this":{"__isSmartRef__":true,"id":1}},"1100":{"timestamp":{"__isSmartRef__":true,"id":1101},"user":"lisa.pfisterer","tags":[]},"1101":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1102":{"varMapping":{"__isSmartRef__":true,"id":1103},"source":"function getRatioSide(name, part) {\n debugger;\n if (part == \"T\" || part == \"B\") {\n return name + \".width\";\n } else if (part == \"L\" || part == \"R\") {\n return name + \".height\";\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1104},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1103":{"this":{"__isSmartRef__":true,"id":1}},"1104":{"timestamp":{"__isSmartRef__":true,"id":1105},"user":"daniel.hoffmann","tags":[]},"1105":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:10:50 GMT+0100 (Mitteleuropäische Zeit)"},"1106":{"varMapping":{"__isSmartRef__":true,"id":1107},"source":"function addRatioConstraint(type, side1, side2) {\n var value = this.getValueForConstraintType(type, side1, side2);\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + side1 + \", \" + side2 + \", \" + value + \");\");\n this.currentConstraintType = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1108},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1107":{"this":{"__isSmartRef__":true,"id":1}},"1108":{"timestamp":{"__isSmartRef__":true,"id":1109},"user":"daniel.hoffmann","tags":[]},"1109":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:07:42 GMT+0100 (Mitteleuropäische Zeit)"},"1110":{"varMapping":{"__isSmartRef__":true,"id":1111},"source":"function length(word) {\n var corrected = \"\";\n \n for (var i = 0; i <= 7 - word.length; i++) {\n corrected += \" \";\n }\n corrected += word;\n return corrected;\n}","funcProperties":{"__isSmartRef__":true,"id":1112},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1111":{"this":{"__isSmartRef__":true,"id":1}},"1112":{"timestamp":{"__isSmartRef__":true,"id":1113},"user":"lisa.pfisterer","tags":[]},"1113":{"isSerializedDate":true,"string":"Sun Dec 02 2012 18:59:34 GMT+0100 (Mitteleuropäische Zeit)"},"1114":{"varMapping":{"__isSmartRef__":true,"id":1115},"source":"function printTableau() {\n console.log(\"function: printTableau\");\n this.get(\"tableauTextField\").setTextString(\"\");\n var textString = \"Variablen: \" + this.algorithm.all + \"\\n\";\n textString += \"Gesucht: \" + this.algorithm.needed + \"\\n\";\n textString += \"Schlupfvariablen: \" + this.algorithm.schlupf + \"\\n\\n\";\n textString += \"Results: \" + this.algorithm.resultArray + \"\\n\\n\";\n \n var title = this.length(\"\");\n for (var i = 0; i < this.algorithm.all.length; i++) {\n title += this.length(this.algorithm.all[i]);\n }\n textString += title + \"\\n\";\n \n for (var i = 0; i < this.algorithm.tableau.length; i++) {\n var line = \"\";\n if (i < this.algorithm.schlupf.length) {\n line = this.length(this.algorithm.schlupf[i]);\n } else {\n line = this.length(\"F\");\n }\n \n for (var j = 0; j < this.algorithm.tableau[0].length; j++) {\n line += this.length(\"\" + (Math.round(this.algorithm.tableau[i][j] * 100) / 100));\n }\n textString += line + \"\\n\";\n }\n \n this.get(\"tableauTextField\").setTextString(textString);\n}","funcProperties":{"__isSmartRef__":true,"id":1116},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1115":{"this":{"__isSmartRef__":true,"id":1}},"1116":{"timestamp":{"__isSmartRef__":true,"id":1117},"user":"lisa.pfisterer","tags":[]},"1117":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1118":{"varMapping":{"__isSmartRef__":true,"id":1119},"source":"function showVariableValues() {\n console.log(\"showVariableValues\");\n var textString = \"\";\n for (var i = 0; i < this.algorithm.needed.length; i++) {\n textString += this.algorithm.needed[i] + \" \" + this.getValue(this.algorithm.needed[i] + \".height\") + \"\\n\";\n }\n this.get(\"variablesTextField\").setTextString(textString);\n \n}","funcProperties":{"__isSmartRef__":true,"id":1120},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1119":{"this":{"__isSmartRef__":true,"id":1}},"1120":{"timestamp":{"__isSmartRef__":true,"id":1121},"user":"lisa.pfisterer","tags":[]},"1121":{"isSerializedDate":true,"string":"Sun Dec 02 2012 19:00:43 GMT+0100 (Mitteleuropäische Zeit)"},"1122":{"varMapping":{"__isSmartRef__":true,"id":1123},"source":"function getValue(attribute) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n return object.getExtent().y;\n break;\n case \"w\":\n return object.getExtent().x;\n break;\n default:\n break;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1124},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1123":{"this":{"__isSmartRef__":true,"id":1}},"1124":{"timestamp":{"__isSmartRef__":true,"id":1125},"user":"lisa.pfisterer","tags":[]},"1125":{"isSerializedDate":true,"string":"Mon Dec 03 2012 22:42:08 GMT+0100 (Mitteleuropäische Zeit)"},"1126":{"varMapping":{"__isSmartRef__":true,"id":1127},"source":"function width(variables) {\n var variable = variables[0] + \".w\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}","funcProperties":{"__isSmartRef__":true,"id":1128},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1127":{"this":{"__isSmartRef__":true,"id":1}},"1128":{"timestamp":{"__isSmartRef__":true,"id":1129},"user":"lisa.pfisterer","tags":[]},"1129":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1130":{"varMapping":{"__isSmartRef__":true,"id":1131},"source":"function ratio(variables) {\n var variable1 = variables[0];\n var variable2 = variables[1];\n var value = variables[2];\n // console.log(\"Objectreference: \" + variable1 + \", \" + variable2);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable1) < 0) {\n this.algorithm.all.push(variable1);\n this.algorithm.needed.push(variable1);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n if (this.algorithm.all.indexOf(variable2) < 0) {\n this.algorithm.all.push(variable2);\n this.algorithm.needed.push(variable2);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable1, value), new Array(variable2, -1)), 0);\n}","funcProperties":{"__isSmartRef__":true,"id":1132},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1131":{"this":{"__isSmartRef__":true,"id":1}},"1132":{"timestamp":{"__isSmartRef__":true,"id":1133},"user":"lisa.pfisterer","tags":[]},"1133":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1134":{"varMapping":{"__isSmartRef__":true,"id":1135},"source":"function position(variables) {\n console.log(\"function: position\");\n var variableX = variables[0] + \".x\";\n var variableY = variables[0] + \".y\";\n var valueX = variables[1];\n var valueY = variables[2];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variableX) < 0) {\n this.algorithm.all.push(variableX);\n this.algorithm.needed.push(variableX);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableX, 1), new Array(schlupfVar, 1)), valueX);\n \n \n if (this.algorithm.all.indexOf(variableY) < 0) {\n this.algorithm.all.push(variableY);\n this.algorithm.needed.push(variableY);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableY, 1), new Array(schlupfVar, 1)), valueY);\n}","funcProperties":{"__isSmartRef__":true,"id":1136},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1135":{"this":{"__isSmartRef__":true,"id":1}},"1136":{"timestamp":{"__isSmartRef__":true,"id":1137},"user":"lisa.pfisterer","tags":[]},"1137":{"isSerializedDate":true,"string":"Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit)"},"1138":{"submorphs":[{"__isSmartRef__":true,"id":1139},{"__isSmartRef__":true,"id":2266},{"__isSmartRef__":true,"id":2297}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2345},"id":"CD69E75F-8AC8-47BF-B8F7-F18C69BE2E26","eventHandler":{"__isSmartRef__":true,"id":2346},"droppingEnabled":true,"halosEnabled":true,"__layered_draggingEnabled__":true,"layout":{"__isSmartRef__":true,"id":2347},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":1139},"titleBar":{"__isSmartRef__":true,"id":2297},"collapsedTransform":{"__isSmartRef__":true,"id":2348},"expandedTransform":{"__isSmartRef__":true,"id":2349},"ignoreEventsOnExpand":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2350},"name":"ObjectEditor","highlighted":false,"cameForward":false,"showsHalos":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isBeingDragged":false,"prevScroll":[0,0],"isCopyMorphRef":true,"morphRefId":16,"derivationIds":[205,"2951753B-EB95-4093-A0DD-249E83AC2204","A32DE788-E06D-492C-B2E6-19C3710B5AE0","96D56291-98FB-42C4-A247-0A20B4183B14","1E6BCC46-3FE3-4950-AE50-9751458F7E18","22248328-5B04-4E39-ADDE-460C107C790F","2F4F6161-9F4C-469E-AF56-24765FF03B72","88EF08D5-C1E7-4B5B-B393-FFF5921009D7","FF731ED6-5217-4053-9B85-77F1BF344BF3","496332F8-A328-4625-A7D5-0DCE90C3D2AE","E57F1D4E-AE08-4CAA-A62D-4E69FC0BFF47","94783CDE-55B0-4198-8477-C0756F2C812F","F03206B8-2964-470C-A335-FF321C7743E5","C60ABA94-4D2A-4524-9239-9B7EA074A0B5","D3FBB0FA-2BFF-4D8C-9632-41EEEDB053AE","FDF9A68D-1149-4666-9946-600CCA238B76","118B9F76-0089-47CC-9C18-9F9FF646339B","B0FFB231-7805-4F89-B4B3-4ACD87687613","76631A8F-F752-4DB8-93ED-1496BC458DF0","04D3062E-744B-4E3D-8B25-5602772A307B","89687ECD-A53A-4C95-B6E8-235EBB9198E9","612A25B8-60DC-488D-AD81-1BFA6E48A0D4","08ED6CF8-0A8B-4DC5-AA4D-6499033DFCEC","9771786C-46ED-4C4F-A876-F8CF0B84E769","5DCB36B2-C2B7-49A2-AB12-014B2944C328","D05AAF5D-5660-4158-8BBA-3F564F04AF6F","885F1822-564C-4189-9B13-6D3D8D7CEFCF","8BEEB84F-C547-44B8-9A1E-4586D5236462","5F90A8DF-CB92-4CD6-803F-F082D3A5C1E1","75E80C8F-4DC1-4C89-8CA2-23A70FDEB44F","776DB695-E9C5-410B-9B3D-A492EE5196F1"],"moved":true,"_ClipMode":"visible","_Rotation":0,"_Scale":1.0100552207170073,"__serializedExpressions__":["contentOffset","collapsedExtent","expandedExtent","prevDragPos","expandedPosition","collapsedPosition","minSize","minExtent","_Position"],"owner":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2498},"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"contentOffset":"lively.pt(0.0,22.0)","collapsedExtent":"lively.pt(723.0,268.0)","expandedExtent":"lively.pt(729.0,365.0)","prevDragPos":"lively.pt(1898.2,4098.7)","expandedPosition":"lively.pt(26.0,125.0)","collapsedPosition":"lively.pt(21.0,92.9)","minSize":"lively.pt(500.0,300.0)","minExtent":"lively.pt(455.0,268.0)","_Position":"lively.pt(543.0,251.7)"},"1139":{"submorphs":[{"__isSmartRef__":true,"id":1140},{"__isSmartRef__":true,"id":1626},{"__isSmartRef__":true,"id":1461},{"__isSmartRef__":true,"id":1632},{"__isSmartRef__":true,"id":1639},{"__isSmartRef__":true,"id":1661},{"__isSmartRef__":true,"id":1682},{"__isSmartRef__":true,"id":1709},{"__isSmartRef__":true,"id":1374},{"__isSmartRef__":true,"id":1382},{"__isSmartRef__":true,"id":1740},{"__isSmartRef__":true,"id":1831},{"__isSmartRef__":true,"id":1837},{"__isSmartRef__":true,"id":1899},{"__isSmartRef__":true,"id":1942},{"__isSmartRef__":true,"id":1985},{"__isSmartRef__":true,"id":2006}],"scripts":[{"__isSmartRef__":true,"id":2153}],"id":"A11BBC9A-C9A2-43C4-AFF0-6534B74B46B1","shape":{"__isSmartRef__":true,"id":2154},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ObjectEditorPane","partsBinMetaInfo":{"__isSmartRef__":true,"id":2155},"eventHandler":{"__isSmartRef__":true,"id":2158},"layout":{"__isSmartRef__":true,"id":2159},"target":{"__isSmartRef__":true,"id":1},"scriptPane":{"__isSmartRef__":true,"id":1374},"scriptList":{"__isSmartRef__":true,"id":1140},"connectionList":{"__isSmartRef__":true,"id":1461},"morphSelector":{"__isSmartRef__":true,"id":1740},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"changeIndicator":{"__isSmartRef__":true,"id":1382},"isBeingDragged":false,"prevScroll":[0,0],"grabbingEnabled":false,"draggingEnabled":false,"currentCategory":null,"tagChooser":{"__isSmartRef__":true,"id":1837},"currentTag":null,"derivationIds":[206,"3BDE080D-3D60-4BB9-A690-E6001350F596","00E28CBF-E803-4BC0-93CC-651AC21008A5","1B7E7936-0145-47E4-8433-DFE58134E74B","422B98E3-E52B-4057-9C28-865873682DE1","BCDE8D30-ECC2-4883-9587-2518B6822233","BA6D5198-5AC2-4A63-9597-D4CF98A99CA9","17E22972-5EBC-4511-9779-05E9E665D899","C6F34039-F423-4223-8D6A-85611A138372","7EC3BECE-1BDA-471D-B14C-C4FB822AA55C","88F702A6-6067-4160-8561-54FAD27ADB17","738F5E09-C109-4CD0-B5F5-418A6227ABA0","0DC59884-6397-4391-A9A7-FB6F9F97E5AD","14C76016-3134-4E27-8E8F-AF9EE6ACCF4E","FEB1641E-DEA0-449B-B5E5-D3946457A986","5A09E61D-0939-46DD-B099-6337F45EAD81","42A37CDC-8F21-49BA-A701-B98418EF4AEC","FCE84B47-1667-482B-B035-D2C3C7F53837","F49E6D79-2AEB-41FC-8057-A25A4C7D4F92","7B115C74-E409-42A1-9FCB-2DEB53C88CD6","1D3B45A6-5E60-4FD3-900A-288DB80F5262","5BC7B59B-3F80-49C6-BF71-F3777B7D4867","22651992-9C38-474F-B720-F2FC4B1D9A0E","80BF85C2-6727-4766-861C-09C225341FEA","ADC6838F-0BD6-456E-8BD7-A62A9A80285C","9BBAD88A-5DC6-4051-A7CA-4C3F918DD733","0C73D724-E7A5-4AAE-9449-D414B1F3E04E","B341D9BF-D6FF-4ED9-A0AE-A8BDA4C1C35F","19CCEF38-2A49-48DF-BEFD-D5096BA3A758","CB78359F-A158-4EA7-8E3D-8F2C1B6580E5","AB0C1CCE-1EC7-4625-84BF-C9306D62D81B"],"owner":{"__isSmartRef__":true,"id":1138},"partTests":{"__isSmartRef__":true,"id":2160},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2161},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(350.2,-3.2)","_Position":"lively.pt(1.0,21.5)"},"1140":{"submorphs":[],"scripts":[],"id":"8B1DA22E-F8FE-4F86-A16B-CEB975AF9F8E","shape":{"__isSmartRef__":true,"id":1141},"droppingEnabled":true,"halosEnabled":true,"itemList":["-- ALL --","addConstraint","addConstraintArray","addRatioConstraint","extendArrayWithZeros","getRatioSide","getValue","getValueForConstraintType","height","initializeTableau","initSimplex","length","parseConstraints","position","printTableau","ratio","roundTableau","select","setCurrentConstraintType","setValue","showVariableValues","simplexStep","start","stepping","stop","testStuff","testTableau","width"],"selectedLineNo":0,"showsHalos":false,"name":"ObjectEditorScriptList","partsBinMetaInfo":{"__isSmartRef__":true,"id":1142},"_ClipMode":"auto","owner":{"__isSmartRef__":true,"id":1139},"prevScroll":[0,16],"attributeConnections":[{"__isSmartRef__":true,"id":1143}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"layout":{"__isSmartRef__":true,"id":1145},"doitContext":{"__isSmartRef__":true,"id":1146},"eventHandler":{"__isSmartRef__":true,"id":1617},"_FontSize":10,"isBeingDragged":false,"grabbingEnabled":false,"draggingEnabled":false,"isCopyMorphRef":true,"morphRefId":17,"currentCategory":null,"derivationIds":[207,"D87334B5-DFB8-438D-8038-D2C55A798E3B","4242A24B-D284-4130-BB19-C1AB8C7E96CB","1F2230C1-4745-4EED-8827-5D3FC0EA8D8A","1260A8AA-AD41-451A-A761-BE75A33282E8","11AABB24-1595-4EDC-95DF-8BC66785F47A","CA99FFE7-13DD-4721-8DE2-6A587B0C65D9","E01A3DAA-0001-4C7C-A6A7-449C3945A3E6","8C3C70BF-E1CE-4FB9-8407-24EA990D4E49","D70897C1-82FA-42AD-9D81-A0698E9072CC","69BB0838-2830-4831-A681-185E03308396","434D4493-4DD6-466F-A202-7364A5829C52","93D99F39-CC07-45EB-9459-5230A80A20D2","4756DE7D-3422-46FC-B24B-5565F597D490","7AF59BEC-20A9-4451-AD6E-39E86979D18D","07109F49-B19B-4C20-8632-697478AA1FFB","DD6C1E85-89E4-4619-A9B8-6CF6A5E7AD71","C9C566DA-2167-4866-B606-6D9467CC5763","43A75FC1-E0E6-4B7B-84B5-382D18881361","1EE4A800-07BC-4687-B972-0360A139A335","52766A7B-F1AC-4B5D-AFA9-3CBEC45A4175","500ABFF2-CC61-403C-B40B-C38B13EB829E","CCC6F1D7-B08E-4106-A54C-3CB27FAE885A","DD77BBCF-FA2D-4EEF-80E5-DFD0CFAC257E","FBF51FE1-3F15-48F1-9968-35CE0F17558A","0435127D-922E-4618-BBE2-72674C58772C","7A26603F-1566-41BE-B32D-6B17A7FAF107","236EA689-19AE-4C3D-BA95-EA5786184C70","331932E3-0E70-4FF1-8CD0-11921E2FF30E","B826CD75-9134-4A06-BC7D-791974BC6735","63898451-C4BE-41C7-B09C-31F71CA4B63C"],"selection":"-- ALL --","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1618},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(10.0,63.0)","distanceToDragEvent":"lively.pt(126.0,-14.4)"},"1141":{"_BorderWidth":1,"_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(180.0,242.8)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"1142":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":2,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1143":{"sourceObj":{"__isSmartRef__":true,"id":1140},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":1139},"targetMethodName":"displaySourceForScript","converterString":"function (value) {\n return (value === '-- ALL --') ? null : value;\n}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1144},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1144":{"source":{"__isSmartRef__":true,"id":1140},"target":{"__isSmartRef__":true,"id":1139}},"1145":{"resizeHeight":true},"1146":{"submorphs":[],"scripts":[],"id":836,"shape":{"__isSmartRef__":true,"id":1147},"droppingEnabled":true,"halosEnabled":true,"__layered_draggingEnabled__":true,"layout":{"__isSmartRef__":true,"id":1148},"titleBar":{"__isSmartRef__":true,"id":1149},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":{"__isSmartRef__":true,"id":1214},"highlighted":true,"_Rotation":0,"_Scale":1,"showsHalos":false,"name":"ObjectEditor","target":{"__isSmartRef__":true,"id":1215},"partsBinMetaInfo":{"__isSmartRef__":true,"id":1373},"scriptList":{"__isSmartRef__":true,"id":1140},"scriptPane":{"__isSmartRef__":true,"id":1374},"classButton":{"__isSmartRef__":true,"id":1441},"connectionList":{"__isSmartRef__":true,"id":1461},"targetButton":{"__isSmartRef__":true,"id":1473},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"morphSelector":{"__isSmartRef__":true,"id":1491},"eventHandler":{"__isSmartRef__":true,"id":1564},"cameForward":false,"isCopyMorphRef":true,"morphRefId":1,"__serializedExpressions__":["contentOffset","expandedExtent","prevDragPos","expandedPosition","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1565},"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"contentOffset":"lively.pt(0.0,22.0)","expandedExtent":"lively.pt(861.5,575.2)","prevDragPos":"lively.pt(613.0,129.0)","expandedPosition":"lively.pt(377.7,419.5)","_Position":"lively.pt(715.5,73.9)"},"1147":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":9.25,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Fill","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Fill":"Color.rgb(255,255,255)","_Extent":"lively.pt(981.0,585.2)","_BorderColor":"Color.rgb(0,0,0)"},"1148":{"adjustForNewBounds":true},"1149":{"submorphs":[{"__isSmartRef__":true,"id":1150},{"__isSmartRef__":true,"id":1155},{"__isSmartRef__":true,"id":1176},{"__isSmartRef__":true,"id":1191}],"scripts":[],"id":837,"shape":{"__isSmartRef__":true,"id":1207},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1212},"eventsAreIgnored":true,"windowMorph":{"__isSmartRef__":true,"id":1146},"label":{"__isSmartRef__":true,"id":1150},"closeButton":{"__isSmartRef__":true,"id":1155},"menuButton":{"__isSmartRef__":true,"id":1176},"collapseButton":{"__isSmartRef__":true,"id":1191},"owner":null,"name":"ObjectEditorTitleBar","_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1213},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"1150":{"submorphs":[],"scripts":[],"id":838,"shape":{"__isSmartRef__":true,"id":1151},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":false,"_WhiteSpaceHandling":"pre","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":null,"_MaxTextHeight":17,"textChunks":[{"__isSmartRef__":true,"id":1152}],"evalEnabled":false,"isLabel":true,"eventsAreIgnored":true,"_FontSize":10,"_Align":"center","owner":{"__isSmartRef__":true,"id":1149},"_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1154},"_HandStyle":"default","_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(20.0,3.0)"},"1151":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(922.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1152":{"style":{"__isSmartRef__":true,"id":1153},"chunkOwner":{"__isSmartRef__":true,"id":1150},"storedString":"","_id":"_1341","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1153":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1154":{"morph":{"__isSmartRef__":true,"id":1150},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1155":{"submorphs":[{"__isSmartRef__":true,"id":1156}],"scripts":[],"id":839,"shape":{"__isSmartRef__":true,"id":1161},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1162},"lighterFill":{"__isSmartRef__":true,"id":1167},"label":{"__isSmartRef__":true,"id":1156},"owner":{"__isSmartRef__":true,"id":1149},"layout":{"__isSmartRef__":true,"id":1172},"attributeConnections":[{"__isSmartRef__":true,"id":1173},{"__isSmartRef__":true,"id":1174}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1175},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(961.0,3.0)"},"1156":{"submorphs":[],"scripts":[],"id":840,"shape":{"__isSmartRef__":true,"id":1157},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":false,"_WhiteSpaceHandling":"pre","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":null,"_MaxTextHeight":17,"textChunks":[{"__isSmartRef__":true,"id":1158}],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1155},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1160},"_HandStyle":"default","_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(5,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"1157":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1158":{"style":{"__isSmartRef__":true,"id":1159},"chunkOwner":{"__isSmartRef__":true,"id":1156},"storedString":"","_id":"_1342","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1159":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1160":{"morph":{"__isSmartRef__":true,"id":1156},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1161":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1162},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1162":{"stops":[{"__isSmartRef__":true,"id":1163},{"__isSmartRef__":true,"id":1164},{"__isSmartRef__":true,"id":1165},{"__isSmartRef__":true,"id":1166}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1163":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1164":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1165":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1166":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1167":{"stops":[{"__isSmartRef__":true,"id":1168},{"__isSmartRef__":true,"id":1169},{"__isSmartRef__":true,"id":1170},{"__isSmartRef__":true,"id":1171}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1168":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1169":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1170":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1171":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1172":{"moveHorizontal":true},"1173":{"sourceObj":{"__isSmartRef__":true,"id":1155},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1146},"targetMethodName":"getCloseHelp","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1174":{"sourceObj":{"__isSmartRef__":true,"id":1155},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1146},"targetMethodName":"initiateShutdown","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1175":{"morph":{"__isSmartRef__":true,"id":1155},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1176":{"submorphs":[{"__isSmartRef__":true,"id":1177}],"scripts":[],"id":841,"shape":{"__isSmartRef__":true,"id":1182},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1162},"lighterFill":{"__isSmartRef__":true,"id":1183},"label":{"__isSmartRef__":true,"id":1177},"owner":{"__isSmartRef__":true,"id":1149},"attributeConnections":[{"__isSmartRef__":true,"id":1188},{"__isSmartRef__":true,"id":1189}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"showsHalos":false,"_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1190},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"1177":{"submorphs":[],"scripts":[],"id":842,"shape":{"__isSmartRef__":true,"id":1178},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":false,"_WhiteSpaceHandling":"pre","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":null,"_MaxTextHeight":17,"textChunks":[{"__isSmartRef__":true,"id":1179}],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1176},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1181},"_HandStyle":"default","_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(5,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"1178":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1179":{"style":{"__isSmartRef__":true,"id":1180},"chunkOwner":{"__isSmartRef__":true,"id":1177},"storedString":"","_id":"_1343","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1180":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1181":{"morph":{"__isSmartRef__":true,"id":1177},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1182":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1162},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1183":{"stops":[{"__isSmartRef__":true,"id":1184},{"__isSmartRef__":true,"id":1185},{"__isSmartRef__":true,"id":1186},{"__isSmartRef__":true,"id":1187}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1184":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1185":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1186":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1187":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1188":{"sourceObj":{"__isSmartRef__":true,"id":1176},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1146},"targetMethodName":"getMenuHelp","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1189":{"sourceObj":{"__isSmartRef__":true,"id":1176},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1146},"targetMethodName":"showTargetMorphMenu","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1190":{"morph":{"__isSmartRef__":true,"id":1176},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1191":{"submorphs":[{"__isSmartRef__":true,"id":1192}],"scripts":[],"id":843,"shape":{"__isSmartRef__":true,"id":1197},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1162},"lighterFill":{"__isSmartRef__":true,"id":1198},"label":{"__isSmartRef__":true,"id":1192},"owner":{"__isSmartRef__":true,"id":1149},"layout":{"__isSmartRef__":true,"id":1203},"attributeConnections":[{"__isSmartRef__":true,"id":1204},{"__isSmartRef__":true,"id":1205}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1206},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(942.0,3.0)"},"1192":{"submorphs":[],"scripts":[],"id":844,"shape":{"__isSmartRef__":true,"id":1193},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":false,"_WhiteSpaceHandling":"pre","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":null,"_MaxTextHeight":17,"textChunks":[{"__isSmartRef__":true,"id":1194}],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1191},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1196},"_HandStyle":"default","_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(5,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"1193":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1194":{"style":{"__isSmartRef__":true,"id":1195},"chunkOwner":{"__isSmartRef__":true,"id":1192},"storedString":"","_id":"_1344","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1195":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1196":{"morph":{"__isSmartRef__":true,"id":1192},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1197":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1162},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1198":{"stops":[{"__isSmartRef__":true,"id":1199},{"__isSmartRef__":true,"id":1200},{"__isSmartRef__":true,"id":1201},{"__isSmartRef__":true,"id":1202}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1199":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1200":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1201":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1202":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1203":{"moveHorizontal":true},"1204":{"sourceObj":{"__isSmartRef__":true,"id":1191},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1146},"targetMethodName":"getCollapseHelp","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1205":{"sourceObj":{"__isSmartRef__":true,"id":1191},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1146},"targetMethodName":"toggleCollapse","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1206":{"morph":{"__isSmartRef__":true,"id":1191},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1207":{"_BorderWidth":2,"_Fill":{"__isSmartRef__":true,"id":1208},"_StrokeOpacity":1,"_BorderRadius":"8px 8px 0px 0px","__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(981.0,22.0)","_BorderColor":"Color.rgb(102,102,102)"},"1208":{"stops":[{"__isSmartRef__":true,"id":1209},{"__isSmartRef__":true,"id":1210},{"__isSmartRef__":true,"id":1211}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,1,0,-1)"},"1209":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(184,184,184)"},"1210":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(230,230,230)"},"1211":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(184,184,184)"},"1212":{"resizeWidth":true,"adjustForNewBounds":true},"1213":{"morph":{"__isSmartRef__":true,"id":1149},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1214":{"a":1,"b":0,"c":0,"d":1,"e":377.6609726943286,"f":419.5142810783999,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1215":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1216},"id":394,"textChunks":[{"__isSmartRef__":true,"id":1217}],"eventHandler":{"__isSmartRef__":true,"id":1219},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"auto","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Helvetica","_MaxTextWidth":500,"_MaxTextHeight":200,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1220},"layout":{"__isSmartRef__":true,"id":1292},"doitContext":{"__isSmartRef__":true,"id":1293},"priorSelectionRange":[0,36],"charsReplaced":"","lastFindLoc":20,"showsHalos":false,"__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(2,1,0,0)","_Position":"lively.pt(0.0,22.0)"},"1216":{"_BorderWidth":2,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(500.0,200.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"1217":{"style":{"__isSmartRef__":true,"id":1218},"chunkOwner":{"__isSmartRef__":true,"id":1215},"storedString":"","_id":"_1353","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1218":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1219":{"morph":{"__isSmartRef__":true,"id":1215},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1220":{"submorphs":[{"__isSmartRef__":true,"id":1215},{"__isSmartRef__":true,"id":1221}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1289},"id":395,"eventHandler":{"__isSmartRef__":true,"id":1290},"droppingEnabled":true,"halosEnabled":true,"__layered_draggingEnabled__":true,"layout":{"__isSmartRef__":true,"id":1291},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":1215},"titleBar":{"__isSmartRef__":true,"id":1221},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"highlighted":true,"_Rotation":0,"_Scale":1,"cameForward":false,"showsHalos":false,"__serializedExpressions__":["_Position","contentOffset","prevDragPos"],"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(1234.0,448.0)","contentOffset":"lively.pt(0.0,22.0)","prevDragPos":"lively.pt(1478.0,453.0)"},"1221":{"submorphs":[{"__isSmartRef__":true,"id":1222},{"__isSmartRef__":true,"id":1228},{"__isSmartRef__":true,"id":1251},{"__isSmartRef__":true,"id":1268}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1286},"id":396,"eventHandler":{"__isSmartRef__":true,"id":1287},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1288},"windowMorph":{"__isSmartRef__":true,"id":1220},"label":{"__isSmartRef__":true,"id":1222},"closeButton":{"__isSmartRef__":true,"id":1228},"menuButton":{"__isSmartRef__":true,"id":1251},"collapseButton":{"__isSmartRef__":true,"id":1268},"owner":{"__isSmartRef__":true,"id":1220},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"1222":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1223},"id":397,"textChunks":[{"__isSmartRef__":true,"id":1224}],"eventHandler":{"__isSmartRef__":true,"id":1226},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","evalEnabled":false,"isLabel":true,"_HandStyle":"default","layout":{"__isSmartRef__":true,"id":1227},"_FontSize":10,"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","owner":{"__isSmartRef__":true,"id":1221},"_MaxTextWidth":441,"_MaxTextHeight":17,"__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(20.0,3.0)"},"1223":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(441.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1224":{"style":{"__isSmartRef__":true,"id":1225},"chunkOwner":{"__isSmartRef__":true,"id":1222},"storedString":"","_id":"_1345","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1225":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1226":{"morph":{"__isSmartRef__":true,"id":1222},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1227":{"resizeWidth":true},"1228":{"submorphs":[{"__isSmartRef__":true,"id":1229}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1234},"id":398,"eventHandler":{"__isSmartRef__":true,"id":1240},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1235},"lighterFill":{"__isSmartRef__":true,"id":1241},"label":{"__isSmartRef__":true,"id":1229},"owner":{"__isSmartRef__":true,"id":1221},"layout":{"__isSmartRef__":true,"id":1246},"attributeConnections":[{"__isSmartRef__":true,"id":1247},{"__isSmartRef__":true,"id":1249}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(480.0,3.0)"},"1229":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1230},"id":399,"textChunks":[{"__isSmartRef__":true,"id":1231}],"eventHandler":{"__isSmartRef__":true,"id":1233},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":17,"_MaxTextHeight":17,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1228},"isLabel":true,"_HandStyle":"default","_FontSize":8,"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,3,0,0)","_Position":"lively.pt(0.0,0.0)"},"1230":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1231":{"style":{"__isSmartRef__":true,"id":1232},"chunkOwner":{"__isSmartRef__":true,"id":1229},"storedString":"","_id":"_1346","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1232":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1233":{"morph":{"__isSmartRef__":true,"id":1229},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1234":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1235},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1235":{"stops":[{"__isSmartRef__":true,"id":1236},{"__isSmartRef__":true,"id":1237},{"__isSmartRef__":true,"id":1238},{"__isSmartRef__":true,"id":1239}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1236":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1237":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1238":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1239":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1240":{"morph":{"__isSmartRef__":true,"id":1228},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1241":{"stops":[{"__isSmartRef__":true,"id":1242},{"__isSmartRef__":true,"id":1243},{"__isSmartRef__":true,"id":1244},{"__isSmartRef__":true,"id":1245}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1242":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1243":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1244":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1245":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1246":{"moveHorizontal":true},"1247":{"sourceObj":{"__isSmartRef__":true,"id":1228},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1220},"targetMethodName":"getCloseHelp","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1248":{"source":{"__isSmartRef__":true,"id":1228},"target":{"__isSmartRef__":true,"id":1220}},"1249":{"sourceObj":{"__isSmartRef__":true,"id":1228},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1220},"targetMethodName":"initiateShutdown","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1250},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1250":{"source":{"__isSmartRef__":true,"id":1228},"target":{"__isSmartRef__":true,"id":1220}},"1251":{"submorphs":[{"__isSmartRef__":true,"id":1252}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1257},"id":400,"eventHandler":{"__isSmartRef__":true,"id":1258},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1235},"lighterFill":{"__isSmartRef__":true,"id":1259},"label":{"__isSmartRef__":true,"id":1252},"owner":{"__isSmartRef__":true,"id":1221},"attributeConnections":[{"__isSmartRef__":true,"id":1264},{"__isSmartRef__":true,"id":1266}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"1252":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1253},"id":401,"textChunks":[{"__isSmartRef__":true,"id":1254}],"eventHandler":{"__isSmartRef__":true,"id":1256},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":17,"_MaxTextHeight":17,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1251},"isLabel":true,"_HandStyle":"default","_FontSize":8,"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,3,0,0)","_Position":"lively.pt(0.0,0.0)"},"1253":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1254":{"style":{"__isSmartRef__":true,"id":1255},"chunkOwner":{"__isSmartRef__":true,"id":1252},"storedString":"","_id":"_1347","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1255":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1256":{"morph":{"__isSmartRef__":true,"id":1252},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1257":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1235},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1258":{"morph":{"__isSmartRef__":true,"id":1251},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1259":{"stops":[{"__isSmartRef__":true,"id":1260},{"__isSmartRef__":true,"id":1261},{"__isSmartRef__":true,"id":1262},{"__isSmartRef__":true,"id":1263}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1260":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1261":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1262":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1263":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1264":{"sourceObj":{"__isSmartRef__":true,"id":1251},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1220},"targetMethodName":"getMenuHelp","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1265},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1265":{"source":{"__isSmartRef__":true,"id":1251},"target":{"__isSmartRef__":true,"id":1220}},"1266":{"sourceObj":{"__isSmartRef__":true,"id":1251},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1220},"targetMethodName":"showTargetMorphMenu","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1267},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1267":{"source":{"__isSmartRef__":true,"id":1251},"target":{"__isSmartRef__":true,"id":1220}},"1268":{"submorphs":[{"__isSmartRef__":true,"id":1269}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1274},"id":402,"eventHandler":{"__isSmartRef__":true,"id":1275},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1235},"lighterFill":{"__isSmartRef__":true,"id":1276},"label":{"__isSmartRef__":true,"id":1269},"owner":{"__isSmartRef__":true,"id":1221},"layout":{"__isSmartRef__":true,"id":1281},"attributeConnections":[{"__isSmartRef__":true,"id":1282},{"__isSmartRef__":true,"id":1284}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(461.0,3.0)"},"1269":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1270},"id":403,"textChunks":[{"__isSmartRef__":true,"id":1271}],"eventHandler":{"__isSmartRef__":true,"id":1273},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":17,"_MaxTextHeight":17,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1268},"isLabel":true,"_HandStyle":"default","_FontSize":8,"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,3,0,0)","_Position":"lively.pt(0.0,0.0)"},"1270":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1271":{"style":{"__isSmartRef__":true,"id":1272},"chunkOwner":{"__isSmartRef__":true,"id":1269},"storedString":"","_id":"_1348","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1272":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1273":{"morph":{"__isSmartRef__":true,"id":1269},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1274":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1235},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1275":{"morph":{"__isSmartRef__":true,"id":1268},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1276":{"stops":[{"__isSmartRef__":true,"id":1277},{"__isSmartRef__":true,"id":1278},{"__isSmartRef__":true,"id":1279},{"__isSmartRef__":true,"id":1280}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1277":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1278":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1279":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1280":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1281":{"moveHorizontal":true},"1282":{"sourceObj":{"__isSmartRef__":true,"id":1268},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1220},"targetMethodName":"getCollapseHelp","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1283},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1283":{"source":{"__isSmartRef__":true,"id":1268},"target":{"__isSmartRef__":true,"id":1220}},"1284":{"sourceObj":{"__isSmartRef__":true,"id":1268},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1220},"targetMethodName":"toggleCollapse","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1285},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1285":{"source":{"__isSmartRef__":true,"id":1268},"target":{"__isSmartRef__":true,"id":1220}},"1286":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":1208},"_StrokeOpacity":1,"_BorderRadius":"8px 8px 0px 0px","__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(500.0,22.0)","_BorderColor":"Color.rgb(102,102,102)"},"1287":{"morph":{"__isSmartRef__":true,"id":1221},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1288":{"resizeWidth":true,"adjustForNewBounds":true},"1289":{"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"__serializedExpressions__":["_Extent"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Extent":"lively.pt(500.0,222.0)"},"1290":{"morph":{"__isSmartRef__":true,"id":1220},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1291":{"adjustForNewBounds":true},"1292":{"resizeWidth":true,"resizeHeight":true},"1293":{"submorphs":[{"__isSmartRef__":true,"id":1294},{"__isSmartRef__":true,"id":1301}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1368},"id":361,"eventHandler":{"__isSmartRef__":true,"id":1369},"droppingEnabled":true,"halosEnabled":true,"__layered_draggingEnabled__":true,"layout":{"__isSmartRef__":true,"id":1370},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":1294},"titleBar":{"__isSmartRef__":true,"id":1301},"collapsedTransform":{"__isSmartRef__":true,"id":1371},"expandedTransform":{"__isSmartRef__":true,"id":1372},"ignoreEventsOnExpand":false,"owner":null,"showsHalos":false,"highlighted":true,"_Rotation":0,"_Scale":1,"state":"shutdown","__serializedExpressions__":["_Position","contentOffset","collapsedExtent","expandedExtent","prevDragPos","expandedPosition","collapsedPosition"],"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(1131.0,79.0)","contentOffset":"lively.pt(0.0,22.0)","collapsedExtent":"lively.pt(500.0,22.0)","expandedExtent":"lively.pt(500.0,222.0)","prevDragPos":"lively.pt(1507.0,76.0)","expandedPosition":"lively.pt(1131.0,79.0)","collapsedPosition":"lively.pt(1131.0,79.0)"},"1294":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1295},"id":360,"textChunks":[{"__isSmartRef__":true,"id":1296}],"eventHandler":{"__isSmartRef__":true,"id":1298},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"auto","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco,monospace","_MaxTextWidth":500,"_MaxTextHeight":0,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1293},"layout":{"__isSmartRef__":true,"id":1299},"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":1300}],"doNotSerialize":["$$textString"],"doNotCopyProperties":["$$textString"],"lastSyntaxHighlightTime":1307282796737,"accessibleInInactiveWindow":true,"eventsAreIgnored":false,"_HandStyle":"default","_PointerEvents":"auto","_Visible":true,"charsReplaced":"","lastFindLoc":15,"__serializedExpressions__":["_Padding","_Position"],"textString":"undefined","__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(2,1,0,0)","_Position":"lively.pt(0.0,22.0)"},"1295":{"_BorderWidth":2,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(500.0,0.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"1296":{"style":{"__isSmartRef__":true,"id":1297},"chunkOwner":{"__isSmartRef__":true,"id":1294},"_id":"_219","storedString":"undefined","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1297":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1298":{"morph":{"__isSmartRef__":true,"id":1294},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1299":{"resizeWidth":true,"resizeHeight":true},"1300":{"sourceObj":{"__isSmartRef__":true,"id":1294},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":1294},"targetMethodName":"highlightJavaScriptSyntax","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1301":{"submorphs":[{"__isSmartRef__":true,"id":1302},{"__isSmartRef__":true,"id":1308},{"__isSmartRef__":true,"id":1326},{"__isSmartRef__":true,"id":1343}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1361},"id":362,"eventHandler":{"__isSmartRef__":true,"id":1366},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1367},"windowMorph":{"__isSmartRef__":true,"id":1293},"label":{"__isSmartRef__":true,"id":1302},"closeButton":{"__isSmartRef__":true,"id":1308},"menuButton":{"__isSmartRef__":true,"id":1326},"collapseButton":{"__isSmartRef__":true,"id":1343},"owner":{"__isSmartRef__":true,"id":1293},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"1302":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1303},"id":363,"textChunks":[{"__isSmartRef__":true,"id":1304}],"eventHandler":{"__isSmartRef__":true,"id":1306},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","evalEnabled":false,"isLabel":true,"_HandStyle":"default","layout":{"__isSmartRef__":true,"id":1307},"_FontSize":10,"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","owner":{"__isSmartRef__":true,"id":1301},"_MaxTextWidth":441,"_MaxTextHeight":17,"__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(20.0,3.0)"},"1303":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(441.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1304":{"style":{"__isSmartRef__":true,"id":1305},"chunkOwner":{"__isSmartRef__":true,"id":1302},"storedString":"","_id":"_1349","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1305":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1306":{"morph":{"__isSmartRef__":true,"id":1302},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1307":{"resizeWidth":true},"1308":{"submorphs":[{"__isSmartRef__":true,"id":1309}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1314},"id":364,"eventHandler":{"__isSmartRef__":true,"id":1315},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1235},"lighterFill":{"__isSmartRef__":true,"id":1316},"label":{"__isSmartRef__":true,"id":1309},"owner":{"__isSmartRef__":true,"id":1301},"layout":{"__isSmartRef__":true,"id":1321},"attributeConnections":[{"__isSmartRef__":true,"id":1322},{"__isSmartRef__":true,"id":1324}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(480.0,3.0)"},"1309":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1310},"id":365,"textChunks":[{"__isSmartRef__":true,"id":1311}],"eventHandler":{"__isSmartRef__":true,"id":1313},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":17,"_MaxTextHeight":17,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1308},"isLabel":true,"_HandStyle":"default","_FontSize":8,"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,3,0,0)","_Position":"lively.pt(0.0,0.0)"},"1310":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1311":{"style":{"__isSmartRef__":true,"id":1312},"chunkOwner":{"__isSmartRef__":true,"id":1309},"storedString":"","_id":"_1350","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1312":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1313":{"morph":{"__isSmartRef__":true,"id":1309},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1314":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1235},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1315":{"morph":{"__isSmartRef__":true,"id":1308},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1316":{"stops":[{"__isSmartRef__":true,"id":1317},{"__isSmartRef__":true,"id":1318},{"__isSmartRef__":true,"id":1319},{"__isSmartRef__":true,"id":1320}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1317":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1318":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1319":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1320":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1321":{"moveHorizontal":true},"1322":{"sourceObj":{"__isSmartRef__":true,"id":1308},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1293},"targetMethodName":"getCloseHelp","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1323},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1323":{"source":{"__isSmartRef__":true,"id":1308},"target":{"__isSmartRef__":true,"id":1293}},"1324":{"sourceObj":{"__isSmartRef__":true,"id":1308},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1293},"targetMethodName":"initiateShutdown","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1325},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1325":{"source":{"__isSmartRef__":true,"id":1308},"target":{"__isSmartRef__":true,"id":1293}},"1326":{"submorphs":[{"__isSmartRef__":true,"id":1327}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1332},"id":366,"eventHandler":{"__isSmartRef__":true,"id":1333},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1235},"lighterFill":{"__isSmartRef__":true,"id":1334},"label":{"__isSmartRef__":true,"id":1327},"owner":{"__isSmartRef__":true,"id":1301},"attributeConnections":[{"__isSmartRef__":true,"id":1339},{"__isSmartRef__":true,"id":1341}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"1327":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1328},"id":367,"textChunks":[{"__isSmartRef__":true,"id":1329}],"eventHandler":{"__isSmartRef__":true,"id":1331},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":17,"_MaxTextHeight":17,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1326},"isLabel":true,"_HandStyle":"default","_FontSize":8,"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,3,0,0)","_Position":"lively.pt(0.0,0.0)"},"1328":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1329":{"style":{"__isSmartRef__":true,"id":1330},"chunkOwner":{"__isSmartRef__":true,"id":1327},"storedString":"","_id":"_1351","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1330":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1331":{"morph":{"__isSmartRef__":true,"id":1327},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1332":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1235},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1333":{"morph":{"__isSmartRef__":true,"id":1326},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1334":{"stops":[{"__isSmartRef__":true,"id":1335},{"__isSmartRef__":true,"id":1336},{"__isSmartRef__":true,"id":1337},{"__isSmartRef__":true,"id":1338}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1335":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1336":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1337":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1338":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1339":{"sourceObj":{"__isSmartRef__":true,"id":1326},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1293},"targetMethodName":"getMenuHelp","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1340},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1340":{"source":{"__isSmartRef__":true,"id":1326},"target":{"__isSmartRef__":true,"id":1293}},"1341":{"sourceObj":{"__isSmartRef__":true,"id":1326},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1293},"targetMethodName":"showTargetMorphMenu","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1342},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1342":{"source":{"__isSmartRef__":true,"id":1326},"target":{"__isSmartRef__":true,"id":1293}},"1343":{"submorphs":[{"__isSmartRef__":true,"id":1344}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1349},"id":368,"eventHandler":{"__isSmartRef__":true,"id":1350},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1235},"lighterFill":{"__isSmartRef__":true,"id":1351},"label":{"__isSmartRef__":true,"id":1344},"owner":{"__isSmartRef__":true,"id":1301},"layout":{"__isSmartRef__":true,"id":1356},"attributeConnections":[{"__isSmartRef__":true,"id":1357},{"__isSmartRef__":true,"id":1359}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(461.0,3.0)"},"1344":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1345},"id":369,"textChunks":[{"__isSmartRef__":true,"id":1346}],"eventHandler":{"__isSmartRef__":true,"id":1348},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_MaxTextWidth":17,"_MaxTextHeight":17,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1343},"isLabel":true,"_HandStyle":"default","_FontSize":8,"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__serializedExpressions__":["_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,3,0,0)","_Position":"lively.pt(0.0,0.0)"},"1345":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(0,0,0)"},"1346":{"style":{"__isSmartRef__":true,"id":1347},"chunkOwner":{"__isSmartRef__":true,"id":1344},"storedString":"","_id":"_1352","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1347":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1348":{"morph":{"__isSmartRef__":true,"id":1344},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1349":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":1235},"_StrokeOpacity":0,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_BorderColor":"Color.rgb(189,190,192)"},"1350":{"morph":{"__isSmartRef__":true,"id":1343},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1351":{"stops":[{"__isSmartRef__":true,"id":1352},{"__isSmartRef__":true,"id":1353},{"__isSmartRef__":true,"id":1354},{"__isSmartRef__":true,"id":1355}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1352":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1353":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1354":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1355":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1356":{"moveHorizontal":true},"1357":{"sourceObj":{"__isSmartRef__":true,"id":1343},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1293},"targetMethodName":"getCollapseHelp","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1358},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1358":{"source":{"__isSmartRef__":true,"id":1343},"target":{"__isSmartRef__":true,"id":1293}},"1359":{"sourceObj":{"__isSmartRef__":true,"id":1343},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1293},"targetMethodName":"toggleCollapse","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1360},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1360":{"source":{"__isSmartRef__":true,"id":1343},"target":{"__isSmartRef__":true,"id":1293}},"1361":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":1362},"_StrokeOpacity":1,"_BorderRadius":"8px 8px 0px 0px","__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(500.0,22.0)","_BorderColor":"Color.rgb(102,102,102)"},"1362":{"stops":[{"__isSmartRef__":true,"id":1363},{"__isSmartRef__":true,"id":1364},{"__isSmartRef__":true,"id":1365}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1363":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(220,220,220)"},"1364":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(243,243,243)"},"1365":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(220,220,220)"},"1366":{"morph":{"__isSmartRef__":true,"id":1301},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1367":{"resizeWidth":true,"adjustForNewBounds":true},"1368":{"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"__serializedExpressions__":["_Extent","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Extent":"lively.pt(500.0,222.0)","_Position":"lively.pt(0.0,0.0)"},"1369":{"morph":{"__isSmartRef__":true,"id":1293},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1370":{"adjustForNewBounds":true},"1371":{"a":1,"b":0,"c":0,"d":1,"e":1131,"f":79,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1372":{"a":1,"b":0,"c":0,"d":1,"e":1131,"f":79,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1373":{"requiredModules":[],"migrationLevel":2,"partsSpaceName":"PartsBin/Tools","comment":"Edit scripts and connections of a specific morph. Early version.","partName":"ObjectEditor","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1374":{"submorphs":[],"scripts":[],"id":"AB4B4A0D-278F-4546-B48A-AA89C2BDBD99","shape":{"__isSmartRef__":true,"id":1375},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco,courier","_MaxTextWidth":588.0166612695056,"_MaxTextHeight":null,"textChunks":[{"__isSmartRef__":true,"id":1376}],"layout":{"__isSmartRef__":true,"id":1378},"showsHalos":false,"prevScroll":[0,0],"name":"ObjectEditorScriptPane","charsReplaced":"// changed at Sun Dec 02 2012 18:03:07 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addConstraint(type, element, value) {\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + element + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 23:14:07 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function addConstraintArray(variables, sum) {\n \n var length = this.algorithm.tableau[0].length;\n console.log(\"function: addConstraintArray\");\n \n var helper = new Array();\n for (var i = 0; i < length; i++) {\n helper[i] = 0;\n }\n\n var maxFunct = this.algorithm.tableau.pop();\n \n for (var i = 0; i < variables.length; i++) {\n console.log(\"variable: \" + variables[i][0]);\n var index = this.algorithm.all.indexOf(variables[i][0]);\n helper[index] = variables[i][1];\n if (variables[i][0].indexOf(\"x\") < 0) { // Schlupfvariable\n maxFunct[index] = -1;\n }\n }\n\n helper[length - 1] = sum;\n this.algorithm.tableau.push(helper);\n this.algorithm.tableau.push(maxFunct);\n console.log(\"tableau: \" + this.algorithm.tableau);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:07:42 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addRatioConstraint(type, side1, side2) {\n var value = this.getValueForConstraintType(type, side1, side2);\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + side1 + \", \" + side2 + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:58:45 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function extendArrayWithZeros(array) {\n for (var i = 0; i < array.length; i++) {\n var subarray = array[i];\n var last = subarray.pop();\n subarray.push(0);\n if (last == undefined) {\n subarray.push(0);\n } else {\n subarray.push(last);\n }\n }\n return array;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:10:50 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getRatioSide(name, part) {\n debugger;\n if (part == \"T\" || part == \"B\") {\n return name + \".width\";\n } else if (part == \"L\" || part == \"R\") {\n return name + \".height\";\n }\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 22:42:08 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function getValue(attribute) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n return object.getExtent().y;\n break;\n case \"w\":\n return object.getExtent().x;\n break;\n default:\n break;\n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:13:56 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getValueForConstraintType(type, name1, name2) {\n debugger;\n if (type == \"width\"){\n return this.get(name1).getExtent().x;\n } else if (type == \"height\"){\n return this.get(name1).getExtent().y;\n } else if (type == \"ratio\"){\n return this.getValueForConstraintType(name1.split(\".\")[1],name1.split(\".\")[0]) / this.getValueForConstraintType(name2.split(\".\")[1],name2.split(\".\")[0]);\n } else {\n return \"?\"\n }\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 23:06:26 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function height(variables) {\n console.log(\"function: \" + height);\n var variable = variables[0] + \".h\";\n var value = variables[1];\n console.log(\"Objectreference: \" + variable);\n console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initializeTableau() {\n var tableau = new Array();\n tableau[0] = new Array();\n\t\t\t\n this.algorithm.tableau = tableau;\t\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:23 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initSimplex() {\n module('projects.SketchPad.SimplexAlgorithm').load();\n JSLoader.loadJs('http://lively-kernel.org/repository/webwerkstatt/projects/SketchPad/SimplexAlgorithm.js');\n \n this.algorithm = new SimplexAlgorithmClass();\n \n all = new Array();\n schlupf = new Array();\n needed = new Array();\n \n this.initializeTableau();\n\n this.algorithm.initSimplex(all, schlupf, needed);\n \n this.result = false;\n this.parseConstraints();\n \n this.printTableau();\n \n this.startStepping(100, \"showVariableValues\");\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:34 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function length(word) {\n var corrected = \"\";\n \n for (var i = 0; i <= 7 - word.length; i++) {\n corrected += \" \";\n }\n corrected += word;\n return corrected;\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 23:03:02 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function parseConstraints() {\n console.log(\"function: parseConstraints\");\n var constraintString = this.get(\"constraintsTextField\").getTextString();\n var constraints = constraintString.split(\"\\n\");\n this.get(\"variablesTextField\").setTextString(\"\");\n \n for (var i = 0; i < constraints.length; i++) {\n if (constraints[i].trim() != \"\") {\n var prior = this.get(\"variablesTextField\").getTextString();\n\n var base = constraints[i].split(\")\")[0];\n var parts = base.split(\"(\");\n var methodName = parts[0];\n console.log(\"methodName: \" + methodName);\n var variables = parts[1].split(\",\"); \n \n for (var j = 0; j < variables.length; j++) {\n variables[j] = variables[j].trim();\n }\n \n switch (methodName) {\n case \"height\":\n this.height(variables);\n break;\n case \"width\":\n this.width(variables);\n break;\n case \"ratio\":\n this.ratio(variables);\n break;\n default:\n break;\n }\n }\n }\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 23:17:30 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function printTableau() {\n console.log(\"function: printTableau\");\n this.get(\"tableauTextField\").setTextString(\"\");\n var textString = \"Variablen: \" + this.algorithm.all + \"\\n\";\n textString += \"Gesucht: \" + this.algorithm.needed + \"\\n\";\n textString += \"Schlupfvariablen: \" + this.algorithm.schlupf + \"\\n\\n\";\n \n var title = this.length(\"\");\n for (var i = 0; i < this.algorithm.all.length; i++) {\n title += this.length(this.algorithm.all[i]);\n }\n textString += title + \"\\n\";\n \n for (var i = 0; i < this.algorithm.tableau.length; i++) {\n var line = \"\";\n if (i < this.algorithm.schlupf.length) {\n line = this.length(this.algorithm.schlupf[i]);\n } else {\n line = this.length(\"F\");\n }\n \n for (var j = 0; j < this.algorithm.tableau[0].length; j++) {\n line += this.length(\"\" + (Math.round(this.algorithm.tableau[i][j] * 100) / 100));\n }\n textString += line + \"\\n\";\n }\n \n this.get(\"tableauTextField\").setTextString(textString);\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 23:05:47 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function ratio(variables) {\n var variable1 = variables[0];\n var variable2 = variables[1];\n var value = variables[2];\n console.log(\"Objectreference: \" + variable1 + \", \" + variable2);\n console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable1) < 0) {\n this.algorithm.all.push(variable1);\n this.algorithm.needed.push(variable1);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n if (this.algorithm.all.indexOf(variable2) < 0) {\n this.algorithm.all.push(variable2);\n this.algorithm.needed.push(variable2);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable1, value), new Array(variable2, -1)), 0);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:25:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function roundTableau(array) {\n var roundedArray = new Array();\n for (var i = 0; i < array.length; i++) {\n roundedArray[i] = new Array();\n for (var j = 0; j < array[0].length; j++) {\n \n roundedArray[i][j] = Math.round(array[i][j] * 100) / 100;\n }\n }\n return roundedArray;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:08:48 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function select(name, part) {\n console.log(\"selected \" + name + \" \" + part);\n this.get(\"SelectedText\").setTextString(name);\n if(this.currentConstraintType != null){\n if(this.currentConstraintType != \"ratio\"){\n var value = this.getValueForConstraintType(this.currentConstraintType, name);\n this.addConstraint(this.currentConstraintType, name, value);\n } else {\n if (this.firstRatioSide == null) {\n this.firstRatioSide = this.getRatioSide(name, part);\n } else {\n debugger;\n this.addRatioConstraint(this.currentConstraintType, \n this.firstRatioSide, this.getRatioSide(name, part), 1);\n }\n } \n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 17:53:45 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function setCurrentConstraintType(type) {\n this.currentConstraintType = type;\n if(type == \"ratio\") {\n this.firstRatioSide = null;\n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 19:00:30 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function setValue(attribute, value) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n var extent = object.getExtent();\n extent.y = value;\n object.setExtent(extent);\n break;\n case \"w\":\n var extent = object.getExtent();\n extent.x = value;\n object.setExtent(extent);\n break;\n default:\n break;\n }\n \n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 19:00:43 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function showVariableValues() {\n console.log(\"showVariableValues\");\n var textString = \"\";\n for (var i = 0; i < this.algorithm.needed.length; i++) {\n textString += this.algorithm.needed[i] + \" \" + this.getValue(this.algorithm.needed[i] + \".height\") + \"\\n\";\n }\n this.get(\"variablesTextField\").setTextString(textString);\n \n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 19:00:55 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function simplexStep() {\n if(!this.algorithm.result) {\n this.algorithm.simplexIteration();\n \n console.log(\"Result: \" + this.algorithm.resultString);\n console.log(\"Array x1: \" + this.algorithm.resultArray[0]);\n console.log(\"Array x2: \" + this.algorithm.resultArray[1]);\n console.log(\"Array x3: \" + this.algorithm.resultArray[2]);\n console.log(\"Array x4: \" + this.algorithm.resultArray[3]);\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n this.setValue(this.algorithm.needed[i], this.algorithm.resultArray[i]);\n }\n \n this.printTableau();\n\n } else {\n console.log(\"ALGORITHM FINISHED.\");\n\n this.printTableau(); \n this.stop();\n }\n \n\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function start() {\n this.initSimplex();\n this.startStepping(1000, \"simplexStep\")\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:26:27 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stepping() {\n this.startStepping(100, \"testStuff\")\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stop() {\n this.stopStepping()\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:26:51 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testStuff() {\n this.setValue(\"greenRect.height\", 300);\n this.setValue(\"greenRect.width\", 150);\n \n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 22:53:18 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testTableau() {\n var array = new Array();\n \n array[0] = new Array(0, 4, 4, 1, 1, 1);\n array[1] = new Array(0, 3, 1, 6, 5, 0);\n array[2] = new Array(\"x\", \"y\", \"x\", \"x\", \"x\", \"x\");\n //var test = new Array();\n //test[0] = new Array(4, 2, 3, 0);\n //array = array.concat(test);\n //array = this.extendArray(array);\n var xxx = new Array(9, 9);\n array = this.addConstraintArray(xxx, array);\n \n this.get(\"tableauTextField\").setTextString(array.join(\"\\n\"));\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 23:05:55 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function width(variables) {\n var variable = variables[0] + \".w\";\n var value = variables[1];\n console.log(\"Objectreference: \" + variable);\n console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([])","lastFindLoc":18415,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1379},"_ClipMode":"auto","_FontSize":9,"lastSyntaxHighlightTime":1,"doitContext":{"__isSmartRef__":true,"id":1},"savedTextString":"// changed at Sun Dec 02 2012 18:03:07 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addConstraint(type, element, value) {\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + element + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 16:32:34 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function addConstraintArray(variables, sum) {\n \n var length = this.algorithm.tableau[0].length;\n console.log(\"function: addConstraintArray\");\n \n var helper = new Array();\n for (var i = 0; i < length; i++) {\n helper[i] = 0;\n }\n\n var maxFunct = this.algorithm.tableau.pop();\n \n for (var i = 0; i < variables.length; i++) {\n // console.log(\"variable: \" + variables[i][0]);\n var index = this.algorithm.all.indexOf(variables[i][0]);\n helper[index] = variables[i][1];\n if (variables[i][0].indexOf(\"x\") < 0) { // Schlupfvariable\n maxFunct[index] = -1;\n }\n }\n\n helper[length - 1] = sum;\n this.algorithm.tableau.push(helper);\n this.algorithm.tableau.push(maxFunct);\n // console.log(\"tableau: \" + this.algorithm.tableau);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:07:42 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addRatioConstraint(type, side1, side2) {\n var value = this.getValueForConstraintType(type, side1, side2);\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + side1 + \", \" + side2 + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:58:45 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function extendArrayWithZeros(array) {\n for (var i = 0; i < array.length; i++) {\n var subarray = array[i];\n var last = subarray.pop();\n subarray.push(0);\n if (last == undefined) {\n subarray.push(0);\n } else {\n subarray.push(last);\n }\n }\n return array;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:10:50 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getRatioSide(name, part) {\n debugger;\n if (part == \"T\" || part == \"B\") {\n return name + \".width\";\n } else if (part == \"L\" || part == \"R\") {\n return name + \".height\";\n }\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 22:42:08 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function getValue(attribute) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n return object.getExtent().y;\n break;\n case \"w\":\n return object.getExtent().x;\n break;\n default:\n break;\n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:13:56 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getValueForConstraintType(type, name1, name2) {\n debugger;\n if (type == \"width\"){\n return this.get(name1).getExtent().x;\n } else if (type == \"height\"){\n return this.get(name1).getExtent().y;\n } else if (type == \"ratio\"){\n return this.getValueForConstraintType(name1.split(\".\")[1],name1.split(\".\")[0]) / this.getValueForConstraintType(name2.split(\".\")[1],name2.split(\".\")[0]);\n } else {\n return \"?\"\n }\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 16:34:23 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function height(variables) {\n console.log(\"function: height\");\n var variable = variables[0] + \".h\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initializeTableau() {\n var tableau = new Array();\n tableau[0] = new Array();\n\t\t\t\n this.algorithm.tableau = tableau;\t\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:04:00 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initSimplex() {\n module('projects.SketchPad.SimplexAlgorithm').load();\n JSLoader.loadJs('http://lively-kernel.org/repository/webwerkstatt/projects/SketchPad/SimplexAlgorithm.js');\n \n this.algorithm = new SimplexAlgorithmClass();\n \n all = new Array();\n schlupf = new Array();\n needed = new Array();\n \n this.initializeTableau();\n\n this.algorithm.initSimplex(all, schlupf, needed);\n \n this.result = false;\n this.parseConstraints();\n \n this.printTableau();\n \n //this.startStepping(100, \"showVariableValues\");\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:34 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function length(word) {\n var corrected = \"\";\n \n for (var i = 0; i <= 7 - word.length; i++) {\n corrected += \" \";\n }\n corrected += word;\n return corrected;\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:17:11 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function parseConstraints() {\n console.log(\"function: parseConstraints\");\n var constraintString = this.get(\"constraintsTextField\").getTextString();\n var constraints = constraintString.split(\"\\n\");\n this.get(\"variablesTextField\").setTextString(\"\");\n this.constraintsArray = new Array();\n \n for (var i = 0; i < constraints.length; i++) {\n if (constraints[i].trim() != \"\") {\n var prior = this.get(\"variablesTextField\").getTextString();\n\n var base = constraints[i].split(\")\")[0];\n var parts = base.split(\"(\");\n var methodName = parts[0];\n // console.log(\"methodName: \" + methodName);\n var variables = parts[1].split(\",\"); \n \n for (var j = 0; j < variables.length; j++) {\n variables[j] = variables[j].trim();\n }\n \n this.constraintsArray[i] = new Array(methodName, variables);\n \n switch (methodName) {\n case \"height\":\n this.height(variables);\n break;\n case \"width\":\n this.width(variables);\n break;\n case \"ratio\":\n this.ratio(variables);\n break;\n case \"position\":\n this.position(variables);\n break;\n default:\n break;\n }\n }\n }\n console.log(\"Constraints Array: \" + this.constraintsArray);\n this.get(\"variablesTextField\").setTextString(\"Arr: \" + this.constraintsArray);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:16:46 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function position(variables) {\n console.log(\"function: position\");\n var variableX = variables[0] + \".x\";\n var variableY = variables[0] + \".y\";\n var valueX = variables[1];\n var valueY = variables[2];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variableX) < 0) {\n this.algorithm.all.push(variableX);\n this.algorithm.needed.push(variableX);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableX, 1), new Array(schlupfVar, 1)), valueX);\n \n \n if (this.algorithm.all.indexOf(variableY) < 0) {\n this.algorithm.all.push(variableY);\n this.algorithm.needed.push(variableY);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableY, 1), new Array(schlupfVar, 1)), valueY);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 16:38:52 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function printTableau() {\n console.log(\"function: printTableau\");\n this.get(\"tableauTextField\").setTextString(\"\");\n var textString = \"Variablen: \" + this.algorithm.all + \"\\n\";\n textString += \"Gesucht: \" + this.algorithm.needed + \"\\n\";\n textString += \"Schlupfvariablen: \" + this.algorithm.schlupf + \"\\n\\n\";\n textString += \"Results: \" + this.algorithm.resultArray + \"\\n\\n\";\n \n var title = this.length(\"\");\n for (var i = 0; i < this.algorithm.all.length; i++) {\n title += this.length(this.algorithm.all[i]);\n }\n textString += title + \"\\n\";\n \n for (var i = 0; i < this.algorithm.tableau.length; i++) {\n var line = \"\";\n if (i < this.algorithm.schlupf.length) {\n line = this.length(this.algorithm.schlupf[i]);\n } else {\n line = this.length(\"F\");\n }\n \n for (var j = 0; j < this.algorithm.tableau[0].length; j++) {\n line += this.length(\"\" + (Math.round(this.algorithm.tableau[i][j] * 100) / 100));\n }\n textString += line + \"\\n\";\n }\n \n this.get(\"tableauTextField\").setTextString(textString);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 16:35:22 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function ratio(variables) {\n var variable1 = variables[0];\n var variable2 = variables[1];\n var value = variables[2];\n // console.log(\"Objectreference: \" + variable1 + \", \" + variable2);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable1) < 0) {\n this.algorithm.all.push(variable1);\n this.algorithm.needed.push(variable1);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n if (this.algorithm.all.indexOf(variable2) < 0) {\n this.algorithm.all.push(variable2);\n this.algorithm.needed.push(variable2);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable1, value), new Array(variable2, -1)), 0);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:25:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function roundTableau(array) {\n var roundedArray = new Array();\n for (var i = 0; i < array.length; i++) {\n roundedArray[i] = new Array();\n for (var j = 0; j < array[0].length; j++) {\n \n roundedArray[i][j] = Math.round(array[i][j] * 100) / 100;\n }\n }\n return roundedArray;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:08:48 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function select(name, part) {\n console.log(\"selected \" + name + \" \" + part);\n this.get(\"SelectedText\").setTextString(name);\n if(this.currentConstraintType != null){\n if(this.currentConstraintType != \"ratio\"){\n var value = this.getValueForConstraintType(this.currentConstraintType, name);\n this.addConstraint(this.currentConstraintType, name, value);\n } else {\n if (this.firstRatioSide == null) {\n this.firstRatioSide = this.getRatioSide(name, part);\n } else {\n debugger;\n this.addRatioConstraint(this.currentConstraintType, \n this.firstRatioSide, this.getRatioSide(name, part), 1);\n }\n } \n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 17:53:45 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function setCurrentConstraintType(type) {\n this.currentConstraintType = type;\n if(type == \"ratio\") {\n this.firstRatioSide = null;\n }\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:21:42 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function setValue(attribute, value) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n var extent = object.getExtent();\n extent.y = value;\n object.setExtent(extent);\n break;\n case \"w\":\n var extent = object.getExtent();\n extent.x = value;\n object.setExtent(extent);\n break;\n case \"x\":\n var position = object.getPosition();\n position.x = value;\n object.setPosition(position);\n break;\n case \"y\":\n var position= object.getPosition();\n position.y = value;\n object.setPosition(position);\n break;\n default:\n break;\n }\n \n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 19:00:43 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function showVariableValues() {\n console.log(\"showVariableValues\");\n var textString = \"\";\n for (var i = 0; i < this.algorithm.needed.length; i++) {\n textString += this.algorithm.needed[i] + \" \" + this.getValue(this.algorithm.needed[i] + \".height\") + \"\\n\";\n }\n this.get(\"variablesTextField\").setTextString(textString);\n \n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:03:34 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function simplexStep() {\n if(!this.algorithm.result) {\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n var index = this.algorithm.schlupf.indexOf(this.algorithm.needed[i]);\n if (index >= 0) {\n var val = this.algorithm.resultArray[i];\n //this.algorithm.tableau[index][this.algorithm.tableau[0].length] = this.getValue(this.algorithm.needed[i]);\n console.log(\"Current Value: \" + this.algorithm.schlupf[index] + \" \" + val + \" GET VALUE: \" + this.getValue(this.algorithm.needed[i]));\n }\n \n }\n \n // SIMPLEX ITERATION STEP\n this.algorithm.simplexIteration();\n // ----------------------\n \n for (var i = 0; i < this.algorithm.resultArray.length; i++) {\n console.log(\"Result \" + this.algorithm.needed[i] + \": \" + this.algorithm.resultArray[i]);\n }\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n this.setValue(this.algorithm.needed[i], this.algorithm.resultArray[i]);\n }\n \n this.printTableau();\n\n } else {\n console.log(\"ALGORITHM FINISHED.\");\n\n this.printTableau(); \n this.stop();\n }\n \n\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function start() {\n this.initSimplex();\n this.startStepping(1000, \"simplexStep\")\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:26:27 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stepping() {\n this.startStepping(100, \"testStuff\")\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stop() {\n this.stopStepping()\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:20:13 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testStuff() {\n //this.setValue(\"greenRect.height\", 300);\n //this.setValue(\"greenRect.width\", 150);\n var position = this.get(\"green\").getPosition();\n position.x = 300;\n this.get(\"green\").setPosition(position);\n \n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 22:53:18 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testTableau() {\n var array = new Array();\n \n array[0] = new Array(0, 4, 4, 1, 1, 1);\n array[1] = new Array(0, 3, 1, 6, 5, 0);\n array[2] = new Array(\"x\", \"y\", \"x\", \"x\", \"x\", \"x\");\n //var test = new Array();\n //test[0] = new Array(4, 2, 3, 0);\n //array = array.concat(test);\n //array = this.extendArray(array);\n var xxx = new Array(9, 9);\n array = this.addConstraintArray(xxx, array);\n \n this.get(\"tableauTextField\").setTextString(array.join(\"\\n\"));\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 16:33:29 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function width(variables) {\n var variable = variables[0] + \".w\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([])","_Align":"left","lastSearchString":"migrate","eventHandler":{"__isSmartRef__":true,"id":1380},"attributeConnections":[{"__isSmartRef__":true,"id":1381},{"__isSmartRef__":true,"id":1396},{"__isSmartRef__":true,"id":1397}],"doNotSerialize":["$$textString","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors"],"doNotCopyProperties":["$$textString"],"_MinTextWidth":588.0166612695056,"_MinTextHeight":null,"lastSaveSource":"// changed at Sun Dec 02 2012 18:03:07 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addConstraint(type, element, value) {\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + element + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function addConstraintArray(variables, sum) {\n \n var length = this.algorithm.tableau[0].length;\n console.log(\"function: addConstraintArray\");\n \n var helper = new Array();\n for (var i = 0; i < length; i++) {\n helper[i] = 0;\n }\n\n var maxFunct = this.algorithm.tableau.pop();\n \n for (var i = 0; i < variables.length; i++) {\n // console.log(\"variable: \" + variables[i][0]);\n var index = this.algorithm.all.indexOf(variables[i][0]);\n helper[index] = variables[i][1];\n if (variables[i][0].indexOf(\"x\") < 0) { // Schlupfvariable\n maxFunct[index] = -1;\n }\n }\n\n helper[length - 1] = sum;\n this.algorithm.tableau.push(helper);\n this.algorithm.tableau.push(maxFunct);\n // console.log(\"tableau: \" + this.algorithm.tableau);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:07:42 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addRatioConstraint(type, side1, side2) {\n var value = this.getValueForConstraintType(type, side1, side2);\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + side1 + \", \" + side2 + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:58:45 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function extendArrayWithZeros(array) {\n for (var i = 0; i < array.length; i++) {\n var subarray = array[i];\n var last = subarray.pop();\n subarray.push(0);\n if (last == undefined) {\n subarray.push(0);\n } else {\n subarray.push(last);\n }\n }\n return array;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:10:50 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getRatioSide(name, part) {\n debugger;\n if (part == \"T\" || part == \"B\") {\n return name + \".width\";\n } else if (part == \"L\" || part == \"R\") {\n return name + \".height\";\n }\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 22:42:08 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function getValue(attribute) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n return object.getExtent().y;\n break;\n case \"w\":\n return object.getExtent().x;\n break;\n default:\n break;\n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:13:56 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getValueForConstraintType(type, name1, name2) {\n debugger;\n if (type == \"width\"){\n return this.get(name1).getExtent().x;\n } else if (type == \"height\"){\n return this.get(name1).getExtent().y;\n } else if (type == \"ratio\"){\n return this.getValueForConstraintType(name1.split(\".\")[1],name1.split(\".\")[0]) / this.getValueForConstraintType(name2.split(\".\")[1],name2.split(\".\")[0]);\n } else {\n return \"?\"\n }\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function height(variables) {\n console.log(\"function: height\");\n var variable = variables[0] + \".h\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initializeTableau() {\n var tableau = new Array();\n tableau[0] = new Array();\n\t\t\t\n this.algorithm.tableau = tableau;\t\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initSimplex() {\n module('projects.SketchPad.SimplexAlgorithm').load();\n JSLoader.loadJs('http://lively-kernel.org/repository/webwerkstatt/projects/SketchPad/SimplexAlgorithm.js');\n \n this.algorithm = new SimplexAlgorithmClass();\n \n all = new Array();\n schlupf = new Array();\n needed = new Array();\n \n this.initializeTableau();\n\n this.algorithm.initSimplex(all, schlupf, needed);\n \n this.result = false;\n this.parseConstraints();\n \n this.printTableau();\n \n //this.startStepping(100, \"showVariableValues\");\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:34 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function length(word) {\n var corrected = \"\";\n \n for (var i = 0; i <= 7 - word.length; i++) {\n corrected += \" \";\n }\n corrected += word;\n return corrected;\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function parseConstraints() {\n console.log(\"function: parseConstraints\");\n var constraintString = this.get(\"constraintsTextField\").getTextString();\n var constraints = constraintString.split(\"\\n\");\n this.get(\"variablesTextField\").setTextString(\"\");\n this.constraintsArray = new Array();\n \n for (var i = 0; i < constraints.length; i++) {\n if (constraints[i].trim() != \"\") {\n var prior = this.get(\"variablesTextField\").getTextString();\n\n var base = constraints[i].split(\")\")[0];\n var parts = base.split(\"(\");\n var methodName = parts[0];\n // console.log(\"methodName: \" + methodName);\n var variables = parts[1].split(\",\"); \n \n for (var j = 0; j < variables.length; j++) {\n variables[j] = variables[j].trim();\n }\n \n this.constraintsArray[i] = new Array(methodName, variables);\n \n switch (methodName) {\n case \"height\":\n this.height(variables);\n break;\n case \"width\":\n this.width(variables);\n break;\n case \"ratio\":\n this.ratio(variables);\n break;\n case \"position\":\n this.position(variables);\n break;\n default:\n break;\n }\n }\n }\n console.log(\"Constraints Array: \" + this.constraintsArray);\n this.get(\"variablesTextField\").setTextString(\"Arr: \" + this.constraintsArray);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function position(variables) {\n console.log(\"function: position\");\n var variableX = variables[0] + \".x\";\n var variableY = variables[0] + \".y\";\n var valueX = variables[1];\n var valueY = variables[2];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variableX) < 0) {\n this.algorithm.all.push(variableX);\n this.algorithm.needed.push(variableX);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableX, 1), new Array(schlupfVar, 1)), valueX);\n \n \n if (this.algorithm.all.indexOf(variableY) < 0) {\n this.algorithm.all.push(variableY);\n this.algorithm.needed.push(variableY);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableY, 1), new Array(schlupfVar, 1)), valueY);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function printTableau() {\n console.log(\"function: printTableau\");\n this.get(\"tableauTextField\").setTextString(\"\");\n var textString = \"Variablen: \" + this.algorithm.all + \"\\n\";\n textString += \"Gesucht: \" + this.algorithm.needed + \"\\n\";\n textString += \"Schlupfvariablen: \" + this.algorithm.schlupf + \"\\n\\n\";\n textString += \"Results: \" + this.algorithm.resultArray + \"\\n\\n\";\n \n var title = this.length(\"\");\n for (var i = 0; i < this.algorithm.all.length; i++) {\n title += this.length(this.algorithm.all[i]);\n }\n textString += title + \"\\n\";\n \n for (var i = 0; i < this.algorithm.tableau.length; i++) {\n var line = \"\";\n if (i < this.algorithm.schlupf.length) {\n line = this.length(this.algorithm.schlupf[i]);\n } else {\n line = this.length(\"F\");\n }\n \n for (var j = 0; j < this.algorithm.tableau[0].length; j++) {\n line += this.length(\"\" + (Math.round(this.algorithm.tableau[i][j] * 100) / 100));\n }\n textString += line + \"\\n\";\n }\n \n this.get(\"tableauTextField\").setTextString(textString);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function ratio(variables) {\n var variable1 = variables[0];\n var variable2 = variables[1];\n var value = variables[2];\n // console.log(\"Objectreference: \" + variable1 + \", \" + variable2);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable1) < 0) {\n this.algorithm.all.push(variable1);\n this.algorithm.needed.push(variable1);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n if (this.algorithm.all.indexOf(variable2) < 0) {\n this.algorithm.all.push(variable2);\n this.algorithm.needed.push(variable2);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable1, value), new Array(variable2, -1)), 0);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:25:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function roundTableau(array) {\n var roundedArray = new Array();\n for (var i = 0; i < array.length; i++) {\n roundedArray[i] = new Array();\n for (var j = 0; j < array[0].length; j++) {\n \n roundedArray[i][j] = Math.round(array[i][j] * 100) / 100;\n }\n }\n return roundedArray;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:08:48 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function select(name, part) {\n console.log(\"selected \" + name + \" \" + part);\n this.get(\"SelectedText\").setTextString(name);\n if(this.currentConstraintType != null){\n if(this.currentConstraintType != \"ratio\"){\n var value = this.getValueForConstraintType(this.currentConstraintType, name);\n this.addConstraint(this.currentConstraintType, name, value);\n } else {\n if (this.firstRatioSide == null) {\n this.firstRatioSide = this.getRatioSide(name, part);\n } else {\n debugger;\n this.addRatioConstraint(this.currentConstraintType, \n this.firstRatioSide, this.getRatioSide(name, part), 1);\n }\n } \n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 17:53:45 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function setCurrentConstraintType(type) {\n this.currentConstraintType = type;\n if(type == \"ratio\") {\n this.firstRatioSide = null;\n }\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function setValue(attribute, value) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n var extent = object.getExtent();\n extent.y = value;\n object.setExtent(extent);\n break;\n case \"w\":\n var extent = object.getExtent();\n extent.x = value;\n object.setExtent(extent);\n break;\n case \"x\":\n var position = object.getPosition();\n position.x = value;\n object.setPosition(position);\n break;\n case \"y\":\n var position= object.getPosition();\n position.y = value;\n object.setPosition(position);\n break;\n default:\n break;\n }\n \n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 19:00:43 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function showVariableValues() {\n console.log(\"showVariableValues\");\n var textString = \"\";\n for (var i = 0; i < this.algorithm.needed.length; i++) {\n textString += this.algorithm.needed[i] + \" \" + this.getValue(this.algorithm.needed[i] + \".height\") + \"\\n\";\n }\n this.get(\"variablesTextField\").setTextString(textString);\n \n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function simplexStep() {\n if(!this.algorithm.result) {\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n var index = this.algorithm.schlupf.indexOf(this.algorithm.needed[i]);\n if (index >= 0) {\n var val = this.algorithm.resultArray[i];\n //this.algorithm.tableau[index][this.algorithm.tableau[0].length] = this.getValue(this.algorithm.needed[i]);\n console.log(\"Current Value: \" + this.algorithm.schlupf[index] + \" \" + val + \" GET VALUE: \" + this.getValue(this.algorithm.needed[i]));\n }\n \n }\n \n // SIMPLEX ITERATION STEP\n this.algorithm.simplexIteration();\n // ----------------------\n \n for (var i = 0; i < this.algorithm.resultArray.length; i++) {\n console.log(\"Result \" + this.algorithm.needed[i] + \": \" + this.algorithm.resultArray[i]);\n }\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n this.setValue(this.algorithm.needed[i], this.algorithm.resultArray[i]);\n }\n \n this.printTableau();\n\n } else {\n console.log(\"ALGORITHM FINISHED.\");\n\n this.printTableau(); \n this.stop();\n }\n \n\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function start() {\n this.initSimplex();\n this.startStepping(1000, \"simplexStep\")\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:26:27 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stepping() {\n this.startStepping(100, \"testStuff\")\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stop() {\n this.stopStepping()\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testStuff() {\n //this.setValue(\"greenRect.height\", 300);\n //this.setValue(\"greenRect.width\", 150);\n var position = this.get(\"green\").getPosition();\n position.x = 300;\n this.get(\"green\").setPosition(position);\n \n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 22:53:18 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testTableau() {\n var array = new Array();\n \n array[0] = new Array(0, 4, 4, 1, 1, 1);\n array[1] = new Array(0, 3, 1, 6, 5, 0);\n array[2] = new Array(\"x\", \"y\", \"x\", \"x\", \"x\", \"x\");\n //var test = new Array();\n //test[0] = new Array(4, 2, 3, 0);\n //array = array.concat(test);\n //array = this.extendArray(array);\n var xxx = new Array(9, 9);\n array = this.addConstraintArray(xxx, array);\n \n this.get(\"tableauTextField\").setTextString(array.join(\"\\n\"));\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function width(variables) {\n var variable = variables[0] + \".w\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([])","isBeingDragged":false,"draggingEnabled":false,"objectEditorPane":{"__isSmartRef__":true,"id":1139},"isCopyMorphRef":true,"morphRefId":1,"statusMorph":{"__isSmartRef__":true,"id":1399},"derivationIds":[219,"DD5046D0-C1D6-412A-83C9-CD7EE63D40E0","4D92BDFD-A599-4154-A197-A4B1292C1619","98551F68-B128-4262-9BC2-6B8AC7C8D7C0","47731662-FF8E-4C0F-A170-FD5C56A06021","3FC7FDE6-156F-4056-BB04-B76D8B6C5472","C1E8D5BB-56F9-47B3-A520-BEEFEF791823","115FC149-EEF9-415A-A5B7-AB0B9D0170A4","0D66FA39-01E7-4F16-840C-4FA0FA14DD10","B0A74693-DE3F-4867-8DC0-61B098A8F0D1","3547765B-E224-48EC-B58F-278C1DC7422E","8561ACCF-315A-46EC-9412-BC5D4C55D437","533D6602-9E1A-414A-9646-0FEF9ECCEBF7","5141CF81-6EA1-419B-97AC-62C22FEFC658","B9E83FD9-9781-4F00-8A07-0C96E0D29D3D","034F48B5-B4B1-4DF5-9FA5-9A9CFB99F43A","70FBC800-1914-4F9C-A8E4-2190F72E2902","64465644-E389-4AA2-BE05-93FB591B45D0","E80928FE-6AC8-4FE0-B0A2-7C7A0C7D5E85","E24E50AD-DCA6-4D01-A523-CC1E4FB09222","27E050B0-3192-426E-B01D-907ECF280A68","A241F064-0186-4F84-A037-84CBD9E0D24D","829776FC-15F2-466D-B5F4-88CC9444B1B8","22E56E25-3268-413C-B033-1DB2D96AFA9B","FD5B6693-EB83-4E16-BEA6-D5E23C7E3D48","0A2AD01B-8B4E-4779-9FDF-A504DBC86B5D","EBDFA302-80A1-48E9-B1B3-6143F685CCFF","AB62E3F9-D889-47F9-922A-C440E6382005","6675A7FB-925B-4D65-9CBE-77F2760A6040","122CA78C-89E9-45CE-ADE1-33219233E35A","0A19446A-7C58-465E-9B96-6D7E1CFCDEC5"],"owner":{"__isSmartRef__":true,"id":1139},"syntaxHighlightingWhileTyping":true,"#startLetters":"enable","_Rotation":0,"_Scale":1,"_syntaxHighlightTimeout":null,"lastSyntaxHighlightTimes":[1,5,7,3,4,5,5,11,10,10],"_lastSyntaxHighlightTime":3,"_WordBreak":"break-all","__serializedExpressions__":["_Padding","distanceToDragEvent","_Position"],"textString":"// changed at Sun Dec 02 2012 18:03:07 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addConstraint(type, element, value) {\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + element + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function addConstraintArray(variables, sum) {\n \n var length = this.algorithm.tableau[0].length;\n console.log(\"function: addConstraintArray\");\n \n var helper = new Array();\n for (var i = 0; i < length; i++) {\n helper[i] = 0;\n }\n\n var maxFunct = this.algorithm.tableau.pop();\n \n for (var i = 0; i < variables.length; i++) {\n // console.log(\"variable: \" + variables[i][0]);\n var index = this.algorithm.all.indexOf(variables[i][0]);\n helper[index] = variables[i][1];\n if (variables[i][0].indexOf(\"x\") < 0) { // Schlupfvariable\n maxFunct[index] = -1;\n }\n }\n\n helper[length - 1] = sum;\n this.algorithm.tableau.push(helper);\n this.algorithm.tableau.push(maxFunct);\n // console.log(\"tableau: \" + this.algorithm.tableau);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:07:42 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addRatioConstraint(type, side1, side2) {\n var value = this.getValueForConstraintType(type, side1, side2);\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + side1 + \", \" + side2 + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:58:45 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function extendArrayWithZeros(array) {\n for (var i = 0; i < array.length; i++) {\n var subarray = array[i];\n var last = subarray.pop();\n subarray.push(0);\n if (last == undefined) {\n subarray.push(0);\n } else {\n subarray.push(last);\n }\n }\n return array;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:10:50 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getRatioSide(name, part) {\n debugger;\n if (part == \"T\" || part == \"B\") {\n return name + \".width\";\n } else if (part == \"L\" || part == \"R\") {\n return name + \".height\";\n }\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 22:42:08 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function getValue(attribute) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n return object.getExtent().y;\n break;\n case \"w\":\n return object.getExtent().x;\n break;\n default:\n break;\n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:13:56 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getValueForConstraintType(type, name1, name2) {\n debugger;\n if (type == \"width\"){\n return this.get(name1).getExtent().x;\n } else if (type == \"height\"){\n return this.get(name1).getExtent().y;\n } else if (type == \"ratio\"){\n return this.getValueForConstraintType(name1.split(\".\")[1],name1.split(\".\")[0]) / this.getValueForConstraintType(name2.split(\".\")[1],name2.split(\".\")[0]);\n } else {\n return \"?\"\n }\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function height(variables) {\n console.log(\"function: height\");\n var variable = variables[0] + \".h\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initializeTableau() {\n var tableau = new Array();\n tableau[0] = new Array();\n\t\t\t\n this.algorithm.tableau = tableau;\t\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initSimplex() {\n module('projects.SketchPad.SimplexAlgorithm').load();\n JSLoader.loadJs('http://lively-kernel.org/repository/webwerkstatt/projects/SketchPad/SimplexAlgorithm.js');\n \n this.algorithm = new SimplexAlgorithmClass();\n \n all = new Array();\n schlupf = new Array();\n needed = new Array();\n \n this.initializeTableau();\n\n this.algorithm.initSimplex(all, schlupf, needed);\n \n this.result = false;\n this.parseConstraints();\n \n this.printTableau();\n \n //this.startStepping(100, \"showVariableValues\");\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:34 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function length(word) {\n var corrected = \"\";\n \n for (var i = 0; i <= 7 - word.length; i++) {\n corrected += \" \";\n }\n corrected += word;\n return corrected;\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function parseConstraints() {\n console.log(\"function: parseConstraints\");\n var constraintString = this.get(\"constraintsTextField\").getTextString();\n var constraints = constraintString.split(\"\\n\");\n this.get(\"variablesTextField\").setTextString(\"\");\n this.constraintsArray = new Array();\n \n for (var i = 0; i < constraints.length; i++) {\n if (constraints[i].trim() != \"\") {\n var prior = this.get(\"variablesTextField\").getTextString();\n\n var base = constraints[i].split(\")\")[0];\n var parts = base.split(\"(\");\n var methodName = parts[0];\n // console.log(\"methodName: \" + methodName);\n var variables = parts[1].split(\",\"); \n \n for (var j = 0; j < variables.length; j++) {\n variables[j] = variables[j].trim();\n }\n \n this.constraintsArray[i] = new Array(methodName, variables);\n \n switch (methodName) {\n case \"height\":\n this.height(variables);\n break;\n case \"width\":\n this.width(variables);\n break;\n case \"ratio\":\n this.ratio(variables);\n break;\n case \"position\":\n this.position(variables);\n break;\n default:\n break;\n }\n }\n }\n console.log(\"Constraints Array: \" + this.constraintsArray);\n this.get(\"variablesTextField\").setTextString(\"Arr: \" + this.constraintsArray);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function position(variables) {\n console.log(\"function: position\");\n var variableX = variables[0] + \".x\";\n var variableY = variables[0] + \".y\";\n var valueX = variables[1];\n var valueY = variables[2];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variableX) < 0) {\n this.algorithm.all.push(variableX);\n this.algorithm.needed.push(variableX);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableX, 1), new Array(schlupfVar, 1)), valueX);\n \n \n if (this.algorithm.all.indexOf(variableY) < 0) {\n this.algorithm.all.push(variableY);\n this.algorithm.needed.push(variableY);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableY, 1), new Array(schlupfVar, 1)), valueY);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function printTableau() {\n console.log(\"function: printTableau\");\n this.get(\"tableauTextField\").setTextString(\"\");\n var textString = \"Variablen: \" + this.algorithm.all + \"\\n\";\n textString += \"Gesucht: \" + this.algorithm.needed + \"\\n\";\n textString += \"Schlupfvariablen: \" + this.algorithm.schlupf + \"\\n\\n\";\n textString += \"Results: \" + this.algorithm.resultArray + \"\\n\\n\";\n \n var title = this.length(\"\");\n for (var i = 0; i < this.algorithm.all.length; i++) {\n title += this.length(this.algorithm.all[i]);\n }\n textString += title + \"\\n\";\n \n for (var i = 0; i < this.algorithm.tableau.length; i++) {\n var line = \"\";\n if (i < this.algorithm.schlupf.length) {\n line = this.length(this.algorithm.schlupf[i]);\n } else {\n line = this.length(\"F\");\n }\n \n for (var j = 0; j < this.algorithm.tableau[0].length; j++) {\n line += this.length(\"\" + (Math.round(this.algorithm.tableau[i][j] * 100) / 100));\n }\n textString += line + \"\\n\";\n }\n \n this.get(\"tableauTextField\").setTextString(textString);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function ratio(variables) {\n var variable1 = variables[0];\n var variable2 = variables[1];\n var value = variables[2];\n // console.log(\"Objectreference: \" + variable1 + \", \" + variable2);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable1) < 0) {\n this.algorithm.all.push(variable1);\n this.algorithm.needed.push(variable1);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n if (this.algorithm.all.indexOf(variable2) < 0) {\n this.algorithm.all.push(variable2);\n this.algorithm.needed.push(variable2);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable1, value), new Array(variable2, -1)), 0);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:25:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function roundTableau(array) {\n var roundedArray = new Array();\n for (var i = 0; i < array.length; i++) {\n roundedArray[i] = new Array();\n for (var j = 0; j < array[0].length; j++) {\n \n roundedArray[i][j] = Math.round(array[i][j] * 100) / 100;\n }\n }\n return roundedArray;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:08:48 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function select(name, part) {\n console.log(\"selected \" + name + \" \" + part);\n this.get(\"SelectedText\").setTextString(name);\n if(this.currentConstraintType != null){\n if(this.currentConstraintType != \"ratio\"){\n var value = this.getValueForConstraintType(this.currentConstraintType, name);\n this.addConstraint(this.currentConstraintType, name, value);\n } else {\n if (this.firstRatioSide == null) {\n this.firstRatioSide = this.getRatioSide(name, part);\n } else {\n debugger;\n this.addRatioConstraint(this.currentConstraintType, \n this.firstRatioSide, this.getRatioSide(name, part), 1);\n }\n } \n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 17:53:45 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function setCurrentConstraintType(type) {\n this.currentConstraintType = type;\n if(type == \"ratio\") {\n this.firstRatioSide = null;\n }\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function setValue(attribute, value) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n var extent = object.getExtent();\n extent.y = value;\n object.setExtent(extent);\n break;\n case \"w\":\n var extent = object.getExtent();\n extent.x = value;\n object.setExtent(extent);\n break;\n case \"x\":\n var position = object.getPosition();\n position.x = value;\n object.setPosition(position);\n break;\n case \"y\":\n var position= object.getPosition();\n position.y = value;\n object.setPosition(position);\n break;\n default:\n break;\n }\n \n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 19:00:43 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function showVariableValues() {\n console.log(\"showVariableValues\");\n var textString = \"\";\n for (var i = 0; i < this.algorithm.needed.length; i++) {\n textString += this.algorithm.needed[i] + \" \" + this.getValue(this.algorithm.needed[i] + \".height\") + \"\\n\";\n }\n this.get(\"variablesTextField\").setTextString(textString);\n \n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function simplexStep() {\n if(!this.algorithm.result) {\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n var index = this.algorithm.schlupf.indexOf(this.algorithm.needed[i]);\n if (index >= 0) {\n var val = this.algorithm.resultArray[i];\n //this.algorithm.tableau[index][this.algorithm.tableau[0].length] = this.getValue(this.algorithm.needed[i]);\n console.log(\"Current Value: \" + this.algorithm.schlupf[index] + \" \" + val + \" GET VALUE: \" + this.getValue(this.algorithm.needed[i]));\n }\n \n }\n \n // SIMPLEX ITERATION STEP\n this.algorithm.simplexIteration();\n // ----------------------\n \n for (var i = 0; i < this.algorithm.resultArray.length; i++) {\n console.log(\"Result \" + this.algorithm.needed[i] + \": \" + this.algorithm.resultArray[i]);\n }\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n this.setValue(this.algorithm.needed[i], this.algorithm.resultArray[i]);\n }\n \n this.printTableau();\n\n } else {\n console.log(\"ALGORITHM FINISHED.\");\n\n this.printTableau(); \n this.stop();\n }\n \n\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function start() {\n this.initSimplex();\n this.startStepping(1000, \"simplexStep\")\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:26:27 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stepping() {\n this.startStepping(100, \"testStuff\")\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stop() {\n this.stopStepping()\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testStuff() {\n //this.setValue(\"greenRect.height\", 300);\n //this.setValue(\"greenRect.width\", 150);\n var position = this.get(\"green\").getPosition();\n position.x = 300;\n this.get(\"green\").setPosition(position);\n \n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 22:53:18 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testTableau() {\n var array = new Array();\n \n array[0] = new Array(0, 4, 4, 1, 1, 1);\n array[1] = new Array(0, 3, 1, 6, 5, 0);\n array[2] = new Array(\"x\", \"y\", \"x\", \"x\", \"x\", \"x\");\n //var test = new Array();\n //test[0] = new Array(4, 2, 3, 0);\n //array = array.concat(test);\n //array = this.extendArray(array);\n var xxx = new Array(9, 9);\n array = this.addConstraintArray(xxx, array);\n \n this.get(\"tableauTextField\").setTextString(array.join(\"\\n\"));\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function width(variables) {\n var variable = variables[0] + \".w\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([])","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1404},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(2,1,0,0)","distanceToDragEvent":"lively.pt(341.2,-18.3)","_Position":"lively.pt(200.0,40.0)"},"1375":{"_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_ClipMode":"auto","__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(590.0,380.8)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"1376":{"style":{"__isSmartRef__":true,"id":1377},"chunkOwner":{"__isSmartRef__":true,"id":1374},"_id":"_224","storedString":"// changed at Sun Dec 02 2012 18:03:07 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addConstraint(type, element, value) {\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + element + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function addConstraintArray(variables, sum) {\n \n var length = this.algorithm.tableau[0].length;\n console.log(\"function: addConstraintArray\");\n \n var helper = new Array();\n for (var i = 0; i < length; i++) {\n helper[i] = 0;\n }\n\n var maxFunct = this.algorithm.tableau.pop();\n \n for (var i = 0; i < variables.length; i++) {\n // console.log(\"variable: \" + variables[i][0]);\n var index = this.algorithm.all.indexOf(variables[i][0]);\n helper[index] = variables[i][1];\n if (variables[i][0].indexOf(\"x\") < 0) { // Schlupfvariable\n maxFunct[index] = -1;\n }\n }\n\n helper[length - 1] = sum;\n this.algorithm.tableau.push(helper);\n this.algorithm.tableau.push(maxFunct);\n // console.log(\"tableau: \" + this.algorithm.tableau);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:07:42 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function addRatioConstraint(type, side1, side2) {\n var value = this.getValueForConstraintType(type, side1, side2);\n this.get(\"constraintsTextField\").setTextString(\n this.get(\"constraintsTextField\").textString + \"\\n\" +\n type + \"(\" + side1 + \", \" + side2 + \", \" + value + \");\");\n this.currentConstraintType = null;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:58:45 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function extendArrayWithZeros(array) {\n for (var i = 0; i < array.length; i++) {\n var subarray = array[i];\n var last = subarray.pop();\n subarray.push(0);\n if (last == undefined) {\n subarray.push(0);\n } else {\n subarray.push(last);\n }\n }\n return array;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:10:50 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getRatioSide(name, part) {\n debugger;\n if (part == \"T\" || part == \"B\") {\n return name + \".width\";\n } else if (part == \"L\" || part == \"R\") {\n return name + \".height\";\n }\n}).tag([]);\n\n\n// changed at Mon Dec 03 2012 22:42:08 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function getValue(attribute) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n return object.getExtent().y;\n break;\n case \"w\":\n return object.getExtent().x;\n break;\n default:\n break;\n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:13:56 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function getValueForConstraintType(type, name1, name2) {\n debugger;\n if (type == \"width\"){\n return this.get(name1).getExtent().x;\n } else if (type == \"height\"){\n return this.get(name1).getExtent().y;\n } else if (type == \"ratio\"){\n return this.getValueForConstraintType(name1.split(\".\")[1],name1.split(\".\")[0]) / this.getValueForConstraintType(name2.split(\".\")[1],name2.split(\".\")[0]);\n } else {\n return \"?\"\n }\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function height(variables) {\n console.log(\"function: height\");\n var variable = variables[0] + \".h\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initializeTableau() {\n var tableau = new Array();\n tableau[0] = new Array();\n\t\t\t\n this.algorithm.tableau = tableau;\t\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function initSimplex() {\n module('projects.SketchPad.SimplexAlgorithm').load();\n JSLoader.loadJs('http://lively-kernel.org/repository/webwerkstatt/projects/SketchPad/SimplexAlgorithm.js');\n \n this.algorithm = new SimplexAlgorithmClass();\n \n all = new Array();\n schlupf = new Array();\n needed = new Array();\n \n this.initializeTableau();\n\n this.algorithm.initSimplex(all, schlupf, needed);\n \n this.result = false;\n this.parseConstraints();\n \n this.printTableau();\n \n //this.startStepping(100, \"showVariableValues\");\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:59:34 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function length(word) {\n var corrected = \"\";\n \n for (var i = 0; i <= 7 - word.length; i++) {\n corrected += \" \";\n }\n corrected += word;\n return corrected;\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function parseConstraints() {\n console.log(\"function: parseConstraints\");\n var constraintString = this.get(\"constraintsTextField\").getTextString();\n var constraints = constraintString.split(\"\\n\");\n this.get(\"variablesTextField\").setTextString(\"\");\n this.constraintsArray = new Array();\n \n for (var i = 0; i < constraints.length; i++) {\n if (constraints[i].trim() != \"\") {\n var prior = this.get(\"variablesTextField\").getTextString();\n\n var base = constraints[i].split(\")\")[0];\n var parts = base.split(\"(\");\n var methodName = parts[0];\n // console.log(\"methodName: \" + methodName);\n var variables = parts[1].split(\",\"); \n \n for (var j = 0; j < variables.length; j++) {\n variables[j] = variables[j].trim();\n }\n \n this.constraintsArray[i] = new Array(methodName, variables);\n \n switch (methodName) {\n case \"height\":\n this.height(variables);\n break;\n case \"width\":\n this.width(variables);\n break;\n case \"ratio\":\n this.ratio(variables);\n break;\n case \"position\":\n this.position(variables);\n break;\n default:\n break;\n }\n }\n }\n console.log(\"Constraints Array: \" + this.constraintsArray);\n this.get(\"variablesTextField\").setTextString(\"Arr: \" + this.constraintsArray);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function position(variables) {\n console.log(\"function: position\");\n var variableX = variables[0] + \".x\";\n var variableY = variables[0] + \".y\";\n var valueX = variables[1];\n var valueY = variables[2];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variableX) < 0) {\n this.algorithm.all.push(variableX);\n this.algorithm.needed.push(variableX);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableX, 1), new Array(schlupfVar, 1)), valueX);\n \n \n if (this.algorithm.all.indexOf(variableY) < 0) {\n this.algorithm.all.push(variableY);\n this.algorithm.needed.push(variableY);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variableY, 1), new Array(schlupfVar, 1)), valueY);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function printTableau() {\n console.log(\"function: printTableau\");\n this.get(\"tableauTextField\").setTextString(\"\");\n var textString = \"Variablen: \" + this.algorithm.all + \"\\n\";\n textString += \"Gesucht: \" + this.algorithm.needed + \"\\n\";\n textString += \"Schlupfvariablen: \" + this.algorithm.schlupf + \"\\n\\n\";\n textString += \"Results: \" + this.algorithm.resultArray + \"\\n\\n\";\n \n var title = this.length(\"\");\n for (var i = 0; i < this.algorithm.all.length; i++) {\n title += this.length(this.algorithm.all[i]);\n }\n textString += title + \"\\n\";\n \n for (var i = 0; i < this.algorithm.tableau.length; i++) {\n var line = \"\";\n if (i < this.algorithm.schlupf.length) {\n line = this.length(this.algorithm.schlupf[i]);\n } else {\n line = this.length(\"F\");\n }\n \n for (var j = 0; j < this.algorithm.tableau[0].length; j++) {\n line += this.length(\"\" + (Math.round(this.algorithm.tableau[i][j] * 100) / 100));\n }\n textString += line + \"\\n\";\n }\n \n this.get(\"tableauTextField\").setTextString(textString);\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function ratio(variables) {\n var variable1 = variables[0];\n var variable2 = variables[1];\n var value = variables[2];\n // console.log(\"Objectreference: \" + variable1 + \", \" + variable2);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable1) < 0) {\n this.algorithm.all.push(variable1);\n this.algorithm.needed.push(variable1);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n if (this.algorithm.all.indexOf(variable2) < 0) {\n this.algorithm.all.push(variable2);\n this.algorithm.needed.push(variable2);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable1, value), new Array(variable2, -1)), 0);\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:25:12 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function roundTableau(array) {\n var roundedArray = new Array();\n for (var i = 0; i < array.length; i++) {\n roundedArray[i] = new Array();\n for (var j = 0; j < array[0].length; j++) {\n \n roundedArray[i][j] = Math.round(array[i][j] * 100) / 100;\n }\n }\n return roundedArray;\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 18:08:48 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function select(name, part) {\n console.log(\"selected \" + name + \" \" + part);\n this.get(\"SelectedText\").setTextString(name);\n if(this.currentConstraintType != null){\n if(this.currentConstraintType != \"ratio\"){\n var value = this.getValueForConstraintType(this.currentConstraintType, name);\n this.addConstraint(this.currentConstraintType, name, value);\n } else {\n if (this.firstRatioSide == null) {\n this.firstRatioSide = this.getRatioSide(name, part);\n } else {\n debugger;\n this.addRatioConstraint(this.currentConstraintType, \n this.firstRatioSide, this.getRatioSide(name, part), 1);\n }\n } \n }\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 17:53:45 GMT+0100 (Mitteleuropäische Zeit) by daniel.hoffmann \nthis.addScript(function setCurrentConstraintType(type) {\n this.currentConstraintType = type;\n if(type == \"ratio\") {\n this.firstRatioSide = null;\n }\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function setValue(attribute, value) {\n var parts = attribute.split(\".\"); // bspw. rect1.x\n var objectName = parts[0]; // bspw. rect1\n var attributeName = parts[1] // bspw. x\n var object = this.get(objectName);\n \n switch (attributeName) {\n case \"h\":\n var extent = object.getExtent();\n extent.y = value;\n object.setExtent(extent);\n break;\n case \"w\":\n var extent = object.getExtent();\n extent.x = value;\n object.setExtent(extent);\n break;\n case \"x\":\n var position = object.getPosition();\n position.x = value;\n object.setPosition(position);\n break;\n case \"y\":\n var position= object.getPosition();\n position.y = value;\n object.setPosition(position);\n break;\n default:\n break;\n }\n \n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 19:00:43 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function showVariableValues() {\n console.log(\"showVariableValues\");\n var textString = \"\";\n for (var i = 0; i < this.algorithm.needed.length; i++) {\n textString += this.algorithm.needed[i] + \" \" + this.getValue(this.algorithm.needed[i] + \".height\") + \"\\n\";\n }\n this.get(\"variablesTextField\").setTextString(textString);\n \n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function simplexStep() {\n if(!this.algorithm.result) {\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n var index = this.algorithm.schlupf.indexOf(this.algorithm.needed[i]);\n if (index >= 0) {\n var val = this.algorithm.resultArray[i];\n //this.algorithm.tableau[index][this.algorithm.tableau[0].length] = this.getValue(this.algorithm.needed[i]);\n console.log(\"Current Value: \" + this.algorithm.schlupf[index] + \" \" + val + \" GET VALUE: \" + this.getValue(this.algorithm.needed[i]));\n }\n \n }\n \n // SIMPLEX ITERATION STEP\n this.algorithm.simplexIteration();\n // ----------------------\n \n for (var i = 0; i < this.algorithm.resultArray.length; i++) {\n console.log(\"Result \" + this.algorithm.needed[i] + \": \" + this.algorithm.resultArray[i]);\n }\n \n for (var i = 0; i < this.algorithm.needed.length; i++) {\n this.setValue(this.algorithm.needed[i], this.algorithm.resultArray[i]);\n }\n \n this.printTableau();\n\n } else {\n console.log(\"ALGORITHM FINISHED.\");\n\n this.printTableau(); \n this.stop();\n }\n \n\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function start() {\n this.initSimplex();\n this.startStepping(1000, \"simplexStep\")\n}).tag([]);\n\n\n// changed at Sun Dec 02 2012 14:26:27 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stepping() {\n this.startStepping(100, \"testStuff\")\n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 18:56:37 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function stop() {\n this.stopStepping()\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testStuff() {\n //this.setValue(\"greenRect.height\", 300);\n //this.setValue(\"greenRect.width\", 150);\n var position = this.get(\"green\").getPosition();\n position.x = 300;\n this.get(\"green\").setPosition(position);\n \n}).tag([]);\n\n\n// changed at Sat Dec 01 2012 22:53:18 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function testTableau() {\n var array = new Array();\n \n array[0] = new Array(0, 4, 4, 1, 1, 1);\n array[1] = new Array(0, 3, 1, 6, 5, 0);\n array[2] = new Array(\"x\", \"y\", \"x\", \"x\", \"x\", \"x\");\n //var test = new Array();\n //test[0] = new Array(4, 2, 3, 0);\n //array = array.concat(test);\n //array = this.extendArray(array);\n var xxx = new Array(9, 9);\n array = this.addConstraintArray(xxx, array);\n \n this.get(\"tableauTextField\").setTextString(array.join(\"\\n\"));\n}).tag([]);\n\n\n// changed at Thu Dec 06 2012 17:39:19 GMT+0100 (Mitteleuropäische Zeit) by lisa.pfisterer \nthis.addScript(function width(variables) {\n var variable = variables[0] + \".w\";\n var value = variables[1];\n // console.log(\"Objectreference: \" + variable);\n // console.log(\"Value: \" + value);\n \n if (this.algorithm.all.indexOf(variable) < 0) {\n this.algorithm.all.push(variable);\n this.algorithm.needed.push(variable);\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n }\n\n this.extendArrayWithZeros(this.algorithm.tableau);\n var schlupfVar = \"x\" + this.algorithm.schlupf.length;\n this.algorithm.all.push(schlupfVar);\n this.algorithm.schlupf.push(schlupfVar);\n \n this.addConstraintArray(new Array(new Array(variable, 1), new Array(schlupfVar, 1)), value);\n}).tag([])","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1377":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1378":{"resizeWidth":true,"resizeHeight":true},"1379":{"requiredModules":[],"partsSpaceName":"PartsBin/Widgets/","migrationLevel":2,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1380":{"morph":{"__isSmartRef__":true,"id":1374},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1381":{"sourceObj":{"__isSmartRef__":true,"id":1374},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":1382},"targetMethodName":"indicateUnsavedChanges","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1382":{"submorphs":[],"scripts":[],"id":"7F68A73B-E2BE-4D4C-9798-847FA89DA87D","shape":{"__isSmartRef__":true,"id":1383},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ChangeIndicator","partsBinMetaInfo":{"__isSmartRef__":true,"id":1384},"eventHandler":{"__isSmartRef__":true,"id":1385},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":1139},"layout":{"__isSmartRef__":true,"id":1386},"isBeingDragged":false,"grabbingEnabled":false,"draggingEnabled":false,"isCopyMorphRef":true,"morphRefId":26,"derivationIds":[220,"EE491D24-F056-4AFE-A669-7B7048C6C3D1","3FA4A8C3-0FC0-43A0-8C00-00A96F9022E2","62DAD3C6-A81D-450F-B32F-601EA7E619D8","EEDB0C58-5990-481A-A7FF-ACB1A2DF08DD","16F708CB-1259-4A75-BAEF-1A5216C6CB19","97CA61D3-E09B-43CD-9880-D8B36FA303F3","0AF6BEEC-8A57-44FF-9D8D-40BA6CC6A0CD","AF2BEE76-C34F-457E-8699-9896327A4C07","5EC39FF0-602F-44A2-BE3A-04FCA127E5D1","44CEBF61-9A92-4E36-9576-425D5054B471","E9ACF86B-B775-4125-83BC-7E4500597D40","FE62294A-F891-45E4-AAE7-6F386B5A8CB5","8771140D-0D57-4CAF-A57B-857F858CCC73","BE774795-5889-4DB8-A366-1C774555761B","89DA16ED-5636-4C0D-B52F-A327A5526DD6","94DAC0EC-79E9-48E5-90D5-2BB59495BD0B","048AE915-30CF-4DE4-819B-F7D41CE99585","0417EEDD-6B12-4AF1-B7BC-875E32521980","5DFAFB2A-C915-429E-A58C-030C229C9AB8","BD996DFA-D248-4D9C-AF33-C5BA2511A09E","9F92F095-A6B5-46E8-ADA1-051904ABE386","214CA9C7-6225-49ED-A484-C2D8D92B35ED","7258922C-C991-4EF3-A09B-318D8B6A1306","1F8069E8-E7D5-4153-AE2C-96F1782F041F","74FBBDBC-44BA-4111-B3DB-58142522023F","91D6D585-64D8-491A-AAAB-AF0A99533DEC","1761630D-17E9-4E04-A73C-9D15C26E19E3","B8E628C4-20D6-4B26-B820-A8D07194CE6F","6511B508-3FE2-4BDC-906A-D4E827163B0D","9016491A-C768-4B45-9321-45C78BCEE4A6"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","savedColor","alarmColor","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1387},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(782.0,40.0)","savedColor":"Color.rgb(0,0,0)","alarmColor":"Color.rgb(240,0,0)","distanceToDragEvent":"lively.pt(37.3,-17.5)"},"1383":{"_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(8.6,9.7)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1384":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really blue one. Its amazing what you can build out of simple boxes.... Who needs stars when you got blue rectangles!","migrationLevel":2,"partName":"Rectangle","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1385":{"morph":{"__isSmartRef__":true,"id":1382},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1386":{"moveHorizontal":true,"adjustForNewBounds":true},"1387":{"indicateUnsavedChanges":{"__isSmartRef__":true,"id":1388},"setColors":{"__isSmartRef__":true,"id":1392}},"1388":{"varMapping":{"__isSmartRef__":true,"id":1389},"source":"function indicateUnsavedChanges() {\n if (this.owner.scriptPane.hasChanged()) {\n this.setColors(this.alarmColor);\n } else {\n this.setColors(this.savedColor);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1390},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1389":{"this":{"__isSmartRef__":true,"id":1382}},"1390":{"user":"lauritz","timestamp":{"__isSmartRef__":true,"id":1391}},"1391":{"isSerializedDate":true,"string":"Tue Sep 27 2011 20:09:19 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1392":{"varMapping":{"__isSmartRef__":true,"id":1393},"source":"function setColors(color) {\n this.setFill(color);\n this.setBorderColor(color);\n}","funcProperties":{"__isSmartRef__":true,"id":1394},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1393":{"this":{"__isSmartRef__":true,"id":1382}},"1394":{"user":"lauritz","timestamp":{"__isSmartRef__":true,"id":1395}},"1395":{"isSerializedDate":true,"string":"Tue Sep 27 2011 19:06:09 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1396":{"sourceObj":{"__isSmartRef__":true,"id":1374},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":1374},"targetMethodName":"highlightJavaScriptSyntax","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1397":{"sourceObj":{"__isSmartRef__":true,"id":1374},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":1374},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":1398},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1398":{"source":{"__isSmartRef__":true,"id":1374},"target":{"__isSmartRef__":true,"id":1374}},"1399":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1400},"id":553,"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1401}],"eventHandler":{"__isSmartRef__":true,"id":1403},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"visible","fixedWidth":true,"fixedHeight":true,"allowInput":true,"_FontFamily":"Helvetica","_FontSize":11,"_MaxTextWidth":90,"_MinTextWidth":90,"_MaxTextHeight":null,"_MinTextHeight":null,"evalEnabled":false,"_Align":"center","_VerticalAlign":"center","owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(245.0,177.9)","_TextColor":"Color.rgb(0,204,0)"},"1400":{"_ClipMode":"visible","_BorderWidth":1,"_StrokeOpacity":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,25.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)"},"1401":{"style":{"__isSmartRef__":true,"id":1402},"chunkOwner":{"__isSmartRef__":true,"id":1399},"_id":"_226","storedString":"saved source","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1402":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1403":{"morph":{"__isSmartRef__":true,"id":1399},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1404":{"doSave":{"__isSmartRef__":true,"id":1405},"boundEval":{"__isSmartRef__":true,"id":1413},"reset":{"__isSmartRef__":true,"id":1421},"display":{"__isSmartRef__":true,"id":1425},"hasChanged":{"__isSmartRef__":true,"id":1429},"displayStatus":{"__isSmartRef__":true,"id":1433},"updateTarget":{"__isSmartRef__":true,"id":1437}},"1405":{"varMapping":{"__isSmartRef__":true,"id":1406},"source":"function doSave() {\n $super();\n var saved = this.boundEval(this.getTextString());\n if (saved) {\n this.lastSaveSource = this.textString;\n this.owner.changeIndicator.indicateUnsavedChanges();\n this.owner.updateLists();\n this.owner.selectChangedContent(this.getTextString());\n this.displayStatus(\"saved source\", Color.green);\n } else {\n this.displayStatus(\"not saved\", Color.red);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1411},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1406":{"this":{"__isSmartRef__":true,"id":1374},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1407}},"1407":{"$super":{"__isSmartRef__":true,"id":1408}},"1408":{"varMapping":{"__isSmartRef__":true,"id":1409},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1410},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1409":{"obj":{"__isSmartRef__":true,"id":1374},"name":"doSave"},"1410":{},"1411":{"timestamp":{"__isSmartRef__":true,"id":1412},"user":"lauritz"},"1412":{"isSerializedDate":true,"string":"Thu Nov 17 2011 23:15:19 GMT+0100 (Mitteleuropäische Zeit)"},"1413":{"varMapping":{"__isSmartRef__":true,"id":1414},"source":"function boundEval(str) {\n var result;\n\n this.objectEditorPane.ensureAnnotationLayer();\n withLayers([ScriptAnnotationLayer], function() {\n result = $super(str);\n })\n \n return result\n}","funcProperties":{"__isSmartRef__":true,"id":1419},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1414":{"this":{"__isSmartRef__":true,"id":1374},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1415}},"1415":{"$super":{"__isSmartRef__":true,"id":1416}},"1416":{"varMapping":{"__isSmartRef__":true,"id":1417},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1418},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1417":{"obj":{"__isSmartRef__":true,"id":1374},"name":"boundEval"},"1418":{},"1419":{"timestamp":{"__isSmartRef__":true,"id":1420},"user":"lauritz","categories":[]},"1420":{"isSerializedDate":true,"string":"Wed Nov 16 2011 05:41:53 GMT+0100 (Mitteleuropäische Zeit)"},"1421":{"varMapping":{"__isSmartRef__":true,"id":1422},"source":"function reset() {\n this.doitContext = null;\n this.lastSaveSource = \"\";\n this.textString = \"\";\n this.lastSaveSource = this.textString;\n this.enableSyntaxHighlighting();\n}","funcProperties":{"__isSmartRef__":true,"id":1423},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1422":{"this":{"__isSmartRef__":true,"id":1374}},"1423":{"timestamp":{"__isSmartRef__":true,"id":1424},"user":"cschuster","tags":[]},"1424":{"isSerializedDate":true,"string":"Wed May 16 2012 20:52:57 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1425":{"varMapping":{"__isSmartRef__":true,"id":1426},"source":"function display(jsCode) {\n this.lastSaveSource = jsCode;\n this.setTextString(jsCode);\n this.enableSyntaxHighlighting();\n this.highlightJavaScriptSyntax();\n this.applyStyle({align: 'left'});\n}","funcProperties":{"__isSmartRef__":true,"id":1427},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1426":{"this":{"__isSmartRef__":true,"id":1374}},"1427":{"timestamp":{"__isSmartRef__":true,"id":1428},"user":"lauritz","tags":[]},"1428":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:02:26 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1429":{"varMapping":{"__isSmartRef__":true,"id":1430},"source":"function hasChanged() {\n var cleanText = function (string) {\n var source = string.trim();\n if (source.substring(0,2) === \"//\") {\n // removes annotation line\n source = source.substring(source.indexOf(\"\\n\"), source.length);\n source = source.trim();\n }\n if (source === 'undefined' || source === 'null') source = '';\n return source;\n }\n var cleanedTextString = cleanText(this.textString);\n var cleanedLastSource = cleanText(this.lastSaveSource);\n return cleanedTextString !== cleanedLastSource;\n}","funcProperties":{"__isSmartRef__":true,"id":1431},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1430":{"this":{"__isSmartRef__":true,"id":1374}},"1431":{"timestamp":{"__isSmartRef__":true,"id":1432},"user":"lauritz","categories":[]},"1432":{"isSerializedDate":true,"string":"Mon Oct 03 2011 18:29:45 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1433":{"varMapping":{"__isSmartRef__":true,"id":1434},"source":"function displayStatus(msg, color, delay) {\n if (!this.statusMorph) {\n this.statusMorph = new TextMorph(pt(100,25).extentAsRectangle());\n this.statusMorph.applyStyle({borderWidth: 1, strokeOpacity: 0, borderColor: Color.gray});\n this.statusMorph.setFill(this.owner.getFill());\n this.statusMorph.setFontSize(11);\n this.statusMorph.setAlign('center');\n this.statusMorph.setVerticalAlign('center');\n }\n this.statusMorph.setTextString(msg);\n this.statusMorph.centerAt(this.innerBounds().center());\n this.statusMorph.setTextColor(color || Color.black);\n this.addMorph(this.statusMorph);\n (function() { this.statusMorph.remove() }).bind(this).delay(delay || 2); \n}","funcProperties":{"__isSmartRef__":true,"id":1435},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1434":{"this":{"__isSmartRef__":true,"id":1374}},"1435":{"timestamp":{"__isSmartRef__":true,"id":1436},"user":"lauritz","categories":[]},"1436":{"isSerializedDate":true,"string":"Wed Nov 23 2011 18:23:05 GMT+0100 (Mitteleuropäische Zeit)"},"1437":{"varMapping":{"__isSmartRef__":true,"id":1438},"source":"function updateTarget(target) {\n module('lively.ide.SyntaxHighlighting').load(true);\n this.doitContext = this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":1439},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1438":{"this":{"__isSmartRef__":true,"id":1374}},"1439":{"timestamp":{"__isSmartRef__":true,"id":1440},"user":"lauritz","tags":[]},"1440":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:07:42 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1441":{"submorphs":[{"__isSmartRef__":true,"id":1442}],"scripts":[],"id":847,"shape":{"__isSmartRef__":true,"id":1447},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1448},"lighterFill":{"__isSmartRef__":true,"id":1453},"label":{"__isSmartRef__":true,"id":1442},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"_Rotation":0,"name":"ObjectEditorClassButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":1458},"_Scale":1,"owner":null,"layout":{"__isSmartRef__":true,"id":1459},"eventHandler":{"__isSmartRef__":true,"id":1460},"__serializedExpressions__":["_Position","padding"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(820.0,9.0)","padding":"lively.rect(5,0,0,0)"},"1442":{"submorphs":[],"scripts":[],"id":848,"shape":{"__isSmartRef__":true,"id":1443},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":116,"_MaxTextHeight":18,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1441},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1444}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1446},"_HandStyle":"default","_PointerEvents":"none","__serializedExpressions__":["_Position","textColor","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1443":{"borderWidth":0,"fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.0,18.0)","_BorderColor":"Color.rgb(0,0,0)"},"1444":{"style":{"__isSmartRef__":true,"id":1445},"chunkOwner":{"__isSmartRef__":true,"id":1442},"storedString":"","_id":"_1355","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1445":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1446":{"morph":{"__isSmartRef__":true,"id":1442},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1447":{"_Fill":{"__isSmartRef__":true,"id":1448},"_BorderWidth":1,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.0,20.0)","_BorderColor":"Color.rgb(214,214,214)"},"1448":{"stops":[{"__isSmartRef__":true,"id":1449},{"__isSmartRef__":true,"id":1450},{"__isSmartRef__":true,"id":1451},{"__isSmartRef__":true,"id":1452}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1449":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1450":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1451":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1452":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1453":{"stops":[{"__isSmartRef__":true,"id":1454},{"__isSmartRef__":true,"id":1455},{"__isSmartRef__":true,"id":1456},{"__isSmartRef__":true,"id":1457}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1454":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1455":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1456":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1457":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1458":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1459":{"moveHorizontal":true},"1460":{"morph":{"__isSmartRef__":true,"id":1441},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1461":{"submorphs":[],"scripts":[],"id":"52BEACBB-9B64-4AA7-8AAE-2B9A82D1241F","shape":{"__isSmartRef__":true,"id":1462},"droppingEnabled":true,"halosEnabled":true,"itemList":["-- ALL --"],"selectedLineNo":1,"showsHalos":false,"name":"ObjectEditorConnectionList","partsBinMetaInfo":{"__isSmartRef__":true,"id":1463},"_ClipMode":"auto","owner":{"__isSmartRef__":true,"id":1139},"attributeConnections":[{"__isSmartRef__":true,"id":1464}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":1466},"eventHandler":{"__isSmartRef__":true,"id":1467},"_FontSize":10,"grabbingEnabled":false,"draggingEnabled":false,"isCopyMorphRef":true,"morphRefId":19,"derivationIds":[209,"3900F5DF-0FF7-4C94-8BDB-44AAE12B4A3E","35301083-B60D-4A43-8566-23860EEB4C04","9CC401CC-5A35-4643-935B-FD049C284E16","C9879D40-5E79-4C56-AA79-562ED82BF052","9F6F9261-EB76-4B58-B77D-7D70813A1ED7","8B59E237-F372-4F70-9768-7E9C1A7A021D","FC85F1B9-1978-42D2-850C-BD249981E8B4","D2B607C6-A89B-4B3F-91BB-720451EAB98D","CC361093-FF73-479B-9431-C645CB48F518","307D3B7C-C0E1-484F-8D7E-39FBA9D8EDA5","038AF132-861E-4A77-8756-E6B476413639","65B6CA87-98DE-4473-B4DD-F8763BC3B06A","0AA0E45B-6DCC-4AE0-938C-E53794A511DF","806ACC1C-1353-436B-B1FE-568846777C17","C74AE022-1184-4FDF-A53D-A17627FF61EA","686AF565-EEB0-4AB7-A12E-26727DAD9291","1102A5B3-9973-4471-9EDD-FD7AB802DEA6","BEB06225-53D0-4ACC-9154-DC2DEB5728B7","E32FE34B-7520-4612-B927-C8F9EDFC69BB","D21F598A-4E44-4752-B205-9595DF0E9AE3","FD6670F8-44F6-436A-960F-8BE8890F8B75","C5522110-E6CA-4F96-B33E-BEBF6978088A","BC9AC080-8315-49F1-B6CB-42F3B802F7D9","242A0967-D906-4396-9326-3CC0C9C3EA60","39C09174-63A5-421F-AB88-7A98755661E5","40C2C766-248F-451F-9D85-D1E4DCCB559D","C89F1632-FADA-4B3E-B2D9-1C1020ACB29A","F78E083D-993E-4963-8A7F-CB7182DE3931","CA8FBD0F-D14E-42E6-A6D4-803B9EE12264","06822A39-C077-4531-B3A6-3DAC393B6E04"],"selection":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1468},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(10.0,346.7)","distanceToDragEvent":"lively.pt(125.0,-17.1)"},"1462":{"_BorderWidth":1,"_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(180.0,74.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"1463":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":2,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1464":{"sourceObj":{"__isSmartRef__":true,"id":1461},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":1139},"targetMethodName":"displaySourceForConnection","converterString":"function (value) {\n if (!value) return;\n return (value === '-- ALL --') ? null : value[1];\n}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1465},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1465":{"source":{"__isSmartRef__":true,"id":1461},"target":{"__isSmartRef__":true,"id":1139}},"1466":{"resizeHeight":false,"moveVertical":true},"1467":{"morph":{"__isSmartRef__":true,"id":1461},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1468":{"preselectItem":{"__isSmartRef__":true,"id":1469}},"1469":{"varMapping":{"__isSmartRef__":true,"id":1470},"source":"function preselectItem() {\n if (this.getList().size() === 2) {\n this.selectAt(1);\n } else {\n this.selectAt(0);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1471},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1470":{"this":{"__isSmartRef__":true,"id":1461}},"1471":{"timestamp":{"__isSmartRef__":true,"id":1472},"user":"lauritz"},"1472":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:12:58 GMT+0100 (Mitteleuropäische Zeit)"},"1473":{"submorphs":[{"__isSmartRef__":true,"id":1474}],"scripts":[],"id":47,"shape":{"__isSmartRef__":true,"id":1478},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1479},"lighterFill":{"__isSmartRef__":true,"id":1484},"label":{"__isSmartRef__":true,"id":1474},"attributeConnections":[{"__isSmartRef__":true,"id":1489}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"_Rotation":0,"name":"ObjectEditorTargetButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":1490},"_Scale":1,"owner":null,"isCopyMorphRef":true,"morphRefId":1,"__serializedExpressions__":["_Position","padding"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(215.0,35.0)","padding":"lively.rect(5,0,0,0)"},"1474":{"submorphs":[],"scripts":[],"id":48,"shape":{"__isSmartRef__":true,"id":1475},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":116,"_MaxTextHeight":20,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1473},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1476}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_Scale":1,"__serializedExpressions__":["_Position","textColor","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1475":{"borderWidth":0,"fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.0,20.0)","_BorderColor":"Color.rgb(0,0,0)"},"1476":{"style":{"__isSmartRef__":true,"id":1477},"chunkOwner":{"__isSmartRef__":true,"id":1474},"storedString":"","_id":"_1356","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1477":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1478":{"_Fill":{"__isSmartRef__":true,"id":1479},"_BorderWidth":1,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.0,20.0)","_BorderColor":"Color.rgb(214,214,214)"},"1479":{"stops":[{"__isSmartRef__":true,"id":1480},{"__isSmartRef__":true,"id":1481},{"__isSmartRef__":true,"id":1482},{"__isSmartRef__":true,"id":1483}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1480":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1481":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1482":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1483":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1484":{"stops":[{"__isSmartRef__":true,"id":1485},{"__isSmartRef__":true,"id":1486},{"__isSmartRef__":true,"id":1487},{"__isSmartRef__":true,"id":1488}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1485":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1486":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1487":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1488":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1489":{"sourceObj":{"__isSmartRef__":true,"id":1473},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1146},"targetMethodName":"chooseTargetMorphMenu","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1490":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1491":{"submorphs":[],"scripts":[],"id":435,"shape":{"__isSmartRef__":true,"id":1492},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":218,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":12,"name":"ObjectEditorMorphSelector","partsBinMetaInfo":{"__isSmartRef__":true,"id":1493},"textChunks":[{"__isSmartRef__":true,"id":1494}],"charsReplaced":"","lastFindLoc":5,"priorSelectionRange":[15,15],"prevScroll":[0,0],"_ClipMode":"visible","list":[],"attributeConnections":[{"__isSmartRef__":true,"id":1496}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"listMorph":null,"_WhiteSpaceHandling":"pre-wrap","owner":null,"_Align":"left","eventHandler":{"__isSmartRef__":true,"id":1498},"_MinTextWidth":218,"_MinTextHeight":null,"scriptAnnotations":{"__isSmartRef__":true,"id":1499},"selection":{"__isSmartRef__":true,"id":1138},"previousSelection":[0,13],"isCopyMorphRef":true,"morphRefId":1,"isBeingDragged":false,"draggingEnabled":false,"layout":{"__isSmartRef__":true,"id":1518},"_Rotation":0,"_Scale":1,"savedTextString":"100","__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1519},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(200.0,10.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(153.9,-23.7)"},"1492":{"fill":null,"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":3.7000000000000006,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(220.0,20.0)","_BorderColor":"Color.rgb(192,192,192)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(244,244,244)"},"1493":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1494":{"style":{"__isSmartRef__":true,"id":1495},"chunkOwner":{"__isSmartRef__":true,"id":1491},"storedString":"","_id":"_1357","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1495":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1496":{"sourceObj":{"__isSmartRef__":true,"id":1491},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1139},"targetMethodName":"setTarget","converterString":"function (name) { return $world.get(name)}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1497},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1497":{"source":{"__isSmartRef__":true,"id":1491},"target":{"__isSmartRef__":true,"id":1139}},"1498":{"morph":{"__isSmartRef__":true,"id":1491},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1499":{"createListMorph":{"__isSmartRef__":true,"id":1500},"displayTopLevelMorphs":{"__isSmartRef__":true,"id":1502},"onMouseUp":{"__isSmartRef__":true,"id":1504},"resetConnections":{"__isSmartRef__":true,"id":1506},"setTargetToListSelection":{"__isSmartRef__":true,"id":1508},"setTargetOfPane":{"__isSmartRef__":true,"id":1510},"onBlur":{"__isSmartRef__":true,"id":1512},"reset":{"__isSmartRef__":true,"id":1514},"onMouseDown":{"__isSmartRef__":true,"id":1516}},"1500":{"time":{"__isSmartRef__":true,"id":1501},"user":"lauritz"},"1501":{"isSerializedDate":true,"string":"Fri Oct 28 2011 05:27:29 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1502":{"time":{"__isSmartRef__":true,"id":1503},"user":"lauritz"},"1503":{"isSerializedDate":true,"string":"Fri Oct 14 2011 23:48:37 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1504":{"time":{"__isSmartRef__":true,"id":1505},"user":"lauritz"},"1505":{"isSerializedDate":true,"string":"Mon Oct 03 2011 18:51:14 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1506":{"time":{"__isSmartRef__":true,"id":1507},"user":"lauritz"},"1507":{"isSerializedDate":true,"string":"Wed Sep 28 2011 01:03:17 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1508":{"time":{"__isSmartRef__":true,"id":1509},"user":"lauritz"},"1509":{"isSerializedDate":true,"string":"Sat Oct 15 2011 00:00:58 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1510":{"time":{"__isSmartRef__":true,"id":1511},"user":"lauritz"},"1511":{"isSerializedDate":true,"string":"Mon Oct 03 2011 18:34:37 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1512":{"time":{"__isSmartRef__":true,"id":1513},"user":"lauritz"},"1513":{"isSerializedDate":true,"string":"Fri Oct 07 2011 19:24:18 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1514":{"time":{"__isSmartRef__":true,"id":1515},"user":"lauritz"},"1515":{"isSerializedDate":true,"string":"Fri Oct 07 2011 19:26:15 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1516":{"time":{"__isSmartRef__":true,"id":1517},"user":"lauritz"},"1517":{"isSerializedDate":true,"string":"Mon Oct 17 2011 19:49:00 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1518":{},"1519":{"getList":{"__isSmartRef__":true,"id":1520},"setList":{"__isSmartRef__":true,"id":1523},"reset":{"__isSmartRef__":true,"id":1526},"example":{"__isSmartRef__":true,"id":1529},"removeList":{"__isSmartRef__":true,"id":1532},"onBlur":{"__isSmartRef__":true,"id":1535},"createListMorph":{"__isSmartRef__":true,"id":1542},"resetConnections":{"__isSmartRef__":true,"id":1545},"displayTopLevelMorphs":{"__isSmartRef__":true,"id":1548},"setTargetToListSelection":{"__isSmartRef__":true,"id":1551},"setTargetOfPane":{"__isSmartRef__":true,"id":1554},"onMouseDown":{"__isSmartRef__":true,"id":1557}},"1520":{"varMapping":{"__isSmartRef__":true,"id":1521},"source":"function getList() {\n return this.world().indentedListItemsOfMorphNames();\n}","funcProperties":{"__isSmartRef__":true,"id":1522},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1521":{"this":{"__isSmartRef__":true,"id":1491}},"1522":{},"1523":{"varMapping":{"__isSmartRef__":true,"id":1524},"source":"function setList(list) {\n return this.list = list;\n}","funcProperties":{"__isSmartRef__":true,"id":1525},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1524":{"this":{"__isSmartRef__":true,"id":1491}},"1525":{},"1526":{"varMapping":{"__isSmartRef__":true,"id":1527},"source":"function reset() {\n this.list = [];\n this.textString = 'empty';\n this.removeList();\n this.resetConnections();\n this.applyStyle({fixedWidth: true, fixedHeight: true, borderWidth: 1, overflow: 'visible'})\n}","funcProperties":{"__isSmartRef__":true,"id":1528},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1527":{"this":{"__isSmartRef__":true,"id":1491}},"1528":{},"1529":{"varMapping":{"__isSmartRef__":true,"id":1530},"source":"function example() {\n/*\nthis.example()\nthis.getList()\n*/\n this.setList(Array.range(0,100));\n this.textString = 'empty';\n}","funcProperties":{"__isSmartRef__":true,"id":1531},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1530":{"this":{"__isSmartRef__":true,"id":1491}},"1531":{},"1532":{"varMapping":{"__isSmartRef__":true,"id":1533},"source":"function removeList() {\n this.listMorph && this.listMorph.remove()\n this.listMorph = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1534},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1533":{"this":{"__isSmartRef__":true,"id":1491}},"1534":{},"1535":{"varMapping":{"__isSmartRef__":true,"id":1536},"source":"function onBlur() {\n $super();\n this.removeList();\n}","funcProperties":{"__isSmartRef__":true,"id":1541},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1536":{"this":{"__isSmartRef__":true,"id":1491},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1537}},"1537":{"$super":{"__isSmartRef__":true,"id":1538}},"1538":{"varMapping":{"__isSmartRef__":true,"id":1539},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1540},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1539":{"obj":{"__isSmartRef__":true,"id":1491},"name":"onBlur"},"1540":{},"1541":{},"1542":{"varMapping":{"__isSmartRef__":true,"id":1543},"source":"function createListMorph() {\n var list = new lively.morphic.List(new Rectangle(0,0, this.getExtent().x, 520));\n list.setList(this.getList());\n list.setFontSize(12);\n\n list.disableGrabbing();\n list.disableDragging();\n \n this.addMorph(list);\n list.setPosition(pt(0,0));\n\n connect(list, 'selection', this, 'setTargetToListSelection');\n \n return list;\n}","funcProperties":{"__isSmartRef__":true,"id":1544},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1543":{"this":{"__isSmartRef__":true,"id":1491}},"1544":{},"1545":{"varMapping":{"__isSmartRef__":true,"id":1546},"source":"function resetConnections() {\n disconnectAll(this);\n connect(this, 'savedTextString', this.owner, 'setTarget', {converter: \n\tfunction (name) { return $world.get(name)}});\n}","funcProperties":{"__isSmartRef__":true,"id":1547},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1546":{"this":{"__isSmartRef__":true,"id":1491}},"1547":{},"1548":{"varMapping":{"__isSmartRef__":true,"id":1549},"source":"function displayTopLevelMorphs() {\n if (this.listMorph) { this.removeList(); return true }\n var list = this.createListMorph(); \n this.addMorph(list);\n this.listMorph = list;\n}","funcProperties":{"__isSmartRef__":true,"id":1550},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1549":{"this":{"__isSmartRef__":true,"id":1491}},"1550":{},"1551":{"varMapping":{"__isSmartRef__":true,"id":1552},"source":"function setTargetToListSelection(selection) { \n this.removeList();\n if (!selection) return;\n if (this.owner.scriptPane.hasChanged()) {\n var that = this;\n var callback = function (confirmed) {\n if (confirmed) that.setTargetOfPane(selection);\n }\n this.owner.confirmUnsavedChanges(callback);\n } else {\n this.setTargetOfPane(selection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1553},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1552":{"this":{"__isSmartRef__":true,"id":1491}},"1553":{},"1554":{"varMapping":{"__isSmartRef__":true,"id":1555},"source":"function setTargetOfPane(selection) {\n this.owner.setTarget(selection);\n this.setTextString(selection.getName());\n this.removeList();\n}","funcProperties":{"__isSmartRef__":true,"id":1556},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1555":{"this":{"__isSmartRef__":true,"id":1491}},"1556":{},"1557":{"varMapping":{"__isSmartRef__":true,"id":1558},"source":"function onMouseDown(evt) {\n if (evt.isCommandKey() || evt.isRightMouseButtonDown()) return $super(evt);\n if (this.listMorph) {\n return false;\n } else {\n this.displayTopLevelMorphs();\n return true;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1563},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1558":{"this":{"__isSmartRef__":true,"id":1491},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1559}},"1559":{"$super":{"__isSmartRef__":true,"id":1560}},"1560":{"varMapping":{"__isSmartRef__":true,"id":1561},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1562},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1561":{"obj":{"__isSmartRef__":true,"id":1491},"name":"onMouseDown"},"1562":{},"1563":{},"1564":{"morph":{"__isSmartRef__":true,"id":1146},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1565":{"sortedScriptNamesOfObj":{"__isSmartRef__":true,"id":1566},"setTarget":{"__isSmartRef__":true,"id":1569},"generateSourceForScript":{"__isSmartRef__":true,"id":1572},"generateSourceForConnection":{"__isSmartRef__":true,"id":1575},"generateTargetCode":{"__isSmartRef__":true,"id":1578},"sortedConnectionNamesOfObj":{"__isSmartRef__":true,"id":1581},"displayJavaScriptSource":{"__isSmartRef__":true,"id":1584},"displaySourceForScript":{"__isSmartRef__":true,"id":1587},"displaySourceForConnection":{"__isSmartRef__":true,"id":1590},"newScript":{"__isSmartRef__":true,"id":1593},"newConnection":{"__isSmartRef__":true,"id":1596},"deleteSelectedScript":{"__isSmartRef__":true,"id":1599},"disconnectConnection":{"__isSmartRef__":true,"id":1602},"updateLists":{"__isSmartRef__":true,"id":1605},"displayInitialScript":{"__isSmartRef__":true,"id":1608},"reset":{"__isSmartRef__":true,"id":1611},"selectChangedContent":{"__isSmartRef__":true,"id":1614}},"1566":{"varMapping":{"__isSmartRef__":true,"id":1567},"source":"function sortedScriptNamesOfObj(obj) {\n if (!Functions.own(obj) || Functions.own(obj).size() == 0) return [];\n return Functions.own(obj)\n\t.select(function(name) { return obj[name].hasLivelyClosure })\n\t.sortBy(function(name) { return name.toLowerCase() });\n}","funcProperties":{"__isSmartRef__":true,"id":1568},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1567":{"this":{"__isSmartRef__":true,"id":1146}},"1568":{},"1569":{"varMapping":{"__isSmartRef__":true,"id":1570},"source":"function setTarget(morph) {\n this.reset();\n module('lively.ide.SyntaxHighlighting').load(true);\n this.target = morph;\n this.morphSelector.textString = (this.target.getName() || this.target.toString());\n this.scriptPane.doitContext = this.target;\n this.updateLists();\n this.displayInitialScript();\n}","funcProperties":{"__isSmartRef__":true,"id":1571},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1570":{"this":{"__isSmartRef__":true,"id":1146}},"1571":{},"1572":{"varMapping":{"__isSmartRef__":true,"id":1573},"source":"function generateSourceForScript(scriptName) {\n var script = this.target[scriptName].getOriginal();\n return Strings.format('this.addScript(%s);' ,script)\n}","funcProperties":{"__isSmartRef__":true,"id":1574},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1573":{"this":{"__isSmartRef__":true,"id":1146}},"1574":{},"1575":{"varMapping":{"__isSmartRef__":true,"id":1576},"source":"function generateSourceForConnection(connection) {\n var c = connection, targetObject = this.target;\n\tif (!c.getTargetObj() || !c.getTargetObj().name || \n\t\t!c.getSourceObj() || !c.getSourceObj().name) return String(c);\n\n\tvar optConfig = []\n\tif (c.converterString)\n\t\toptConfig.push(\"converter: \\n\\t\" + c.converterString)\n\tif (c.updaterString)\n\t\toptConfig.push(\"updater: \\n\\t\" + c.updaterString)\n\treturn Strings.format('connect(%s, \"%s\", %s, \"%s\", {%s});', \n\t\t\tthis.generateTargetCode(targetObject, c.getSourceObj()),\n\t\t\tc.getSourceAttrName(),\n\t\t\tthis.generateTargetCode(targetObject, c.getTargetObj()),\n\t\t\tc.getTargetMethodName(),\n\t\t\toptConfig.join(','));\n\n}","funcProperties":{"__isSmartRef__":true,"id":1577},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1576":{"this":{"__isSmartRef__":true,"id":1146}},"1577":{},"1578":{"varMapping":{"__isSmartRef__":true,"id":1579},"source":"function generateTargetCode(baseObject, targetObject) {\n\tvar name = targetObject.name;\n\tif (baseObject === targetObject) \n\t\treturn \"this\";\n\telse if (baseObject[name] === targetObject) \n\t\treturn \"this.\" + name;\n\telse if (baseObject.testObject === targetObject) \n\t\treturn \"this.testObject\";\n\telse if (baseObject.get(name) === targetObject) \n\t\treturn 'this.get(\"' + name + '\")';\n\telse if (targetObject instanceof Morph) \n\t\treturn '$morph(\"' + name + '\")';\n\telse \n\t\treturn \"????\";\n}","funcProperties":{"__isSmartRef__":true,"id":1580},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1579":{"this":{"__isSmartRef__":true,"id":1146}},"1580":{},"1581":{"varMapping":{"__isSmartRef__":true,"id":1582},"source":"function sortedConnectionNamesOfObj(obj) {\n if (\"attributeConnections\" in obj) {\n return obj.attributeConnections\n .sortBy(function(each) {return name.toLowerCase() })\n .collect(function(each) {return [each.getSourceAttrName(), each]});\n } else {\n return [];\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1583},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1582":{"this":{"__isSmartRef__":true,"id":1146}},"1583":{},"1584":{"varMapping":{"__isSmartRef__":true,"id":1585},"source":"function displayJavaScriptSource(jsCode) {\n this.scriptPane.setTextString(jsCode);\n this.scriptPane.highlightJavaScriptSyntax();\n}","funcProperties":{"__isSmartRef__":true,"id":1586},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1585":{"this":{"__isSmartRef__":true,"id":1146}},"1586":{},"1587":{"varMapping":{"__isSmartRef__":true,"id":1588},"source":"function displaySourceForScript(scriptName) {\n if (!scriptName) return;\n var code = \"\", that = this;\n if (scriptName === \"-- ALL --\") {\n this.sortedScriptNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForScript(each)).concat(\"\\n\\n\");\n });\n } else {\n code = this.generateSourceForScript(scriptName); \n }\n this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":1589},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1588":{"this":{"__isSmartRef__":true,"id":1146}},"1589":{},"1590":{"varMapping":{"__isSmartRef__":true,"id":1591},"source":"function displaySourceForConnection(connection) {\n if (!connection) return;\n var code = \"\", that = this;\n if ((typeof connection === \"string\") && connection === \"-- ALL --\") {\n this.sortedConnectionNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForConnection(each[1])).concat(\"\\n\\n\");\n })\n } else {\n code = this.generateSourceForConnection(connection);\n }\n this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":1592},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1591":{"this":{"__isSmartRef__":true,"id":1146}},"1592":{},"1593":{"varMapping":{"__isSmartRef__":true,"id":1594},"source":"function newScript() {\n if (this.target) {\n var code = \"this.addScript(function SCRIPTNAME() {\\n\\t\\n});\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1595},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1594":{"this":{"__isSmartRef__":true,"id":1146}},"1595":{},"1596":{"varMapping":{"__isSmartRef__":true,"id":1597},"source":"function newConnection() {\n if (this.target) {\n var code = \"connect(SOURCE, SOURCE_PROPERTY, TARGET, TARGET_PROPERTY);\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1598},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1597":{"this":{"__isSmartRef__":true,"id":1146}},"1598":{},"1599":{"varMapping":{"__isSmartRef__":true,"id":1600},"source":"function deleteSelectedScript() {\n if (this.scriptList.selection && this.target) {\n if (!this.target.hasOwnProperty(this.scriptList.selection)) return;\n delete this.target[this.scriptList.selection];\n this.updateLists();\n this.displayInitialScript();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1601},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1600":{"this":{"__isSmartRef__":true,"id":1146}},"1601":{},"1602":{"varMapping":{"__isSmartRef__":true,"id":1603},"source":"function disconnectConnection() {\n var selection = this.connectionList.selection;\n if (selection && \n (typeof selection !== \"string\") &&\n this.target.attributeConnections.indexOf(selection[1]) > -1) {\n var c = this.connectionList.selection[1];\n disconnect(c.sourceObj, c.sourceAttrName, c.targetObj, c.targetMethodName);\n this.updateLists();\n this.displayInitialScript();\n } \n}","funcProperties":{"__isSmartRef__":true,"id":1604},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1603":{"this":{"__isSmartRef__":true,"id":1146}},"1604":{},"1605":{"varMapping":{"__isSmartRef__":true,"id":1606},"source":"function updateLists() {\n this.scriptList.setList(this.sortedScriptNamesOfObj(this.target));\n var scriptListItems = this.scriptList.getList();\n scriptListItems.unshift(\"-- ALL --\");\n this.scriptList.setList(scriptListItems);\n\n this.connectionList.setList(this.sortedConnectionNamesOfObj(this.target));\n var connectionListItems = this.connectionList.getList();\n connectionListItems.unshift(\"-- ALL --\");\n this.connectionList.setList(connectionListItems);\n}","funcProperties":{"__isSmartRef__":true,"id":1607},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1606":{"this":{"__isSmartRef__":true,"id":1146}},"1607":{},"1608":{"varMapping":{"__isSmartRef__":true,"id":1609},"source":"function displayInitialScript() {\n if (this.scriptList.getList().size() > 1) {\n this.scriptList.selectAt(0);\n } else if (this.connectionList.getList().size() > 1) {\n this.connectionList.selectAt(0);\n } else {\n this.scriptList.selectAt(0);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1610},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1609":{"this":{"__isSmartRef__":true,"id":1146}},"1610":{},"1611":{"varMapping":{"__isSmartRef__":true,"id":1612},"source":"function reset() {\n this.target = null;\n this.scriptPane.doitContext = null;\n this.scriptList.setList();\n this.connectionList.setList();\n this.scriptPane.setTextString(\"\");\n this.morphSelector.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":1613},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1612":{"this":{"__isSmartRef__":true,"id":1146}},"1613":{},"1614":{"varMapping":{"__isSmartRef__":true,"id":1615},"source":"function selectChangedContent(source) {\n\n var addScriptRegex = /this\\.addScript\\s*\\(\\s*function\\s*([^\\(]*)/g;\n var addScriptMatches = [];\n var addScriptMatch = addScriptRegex.exec(source);\n while (addScriptMatch) {\n addScriptMatches.push(addScriptMatch[1]);\n addScriptMatch = addScriptRegex.exec(source);\n }\n \n // if scripts were added, select either a specific one or all\n if (addScriptMatches.length > 0) { \n if (addScriptMatches.length === 1) {\n var index = this.scriptList.getList().indexOf(addScriptMatches[0]);\n if (index > -1) { \n return this.scriptList.selectAt(index);\n }\n }\n return this.scriptList.selectAt(0);\n }\n\n var connectionRegex = \n /connect\\(\\s*([^,]*)\\s*,\\s*\"([^,]*)\"\\s*,\\s*([^,]*)\\s*,\\s*\"([^,]*)\"/g;\n var connectionMatches = [];\n var connectionMatch = connectionRegex.exec(source);\n while (connectionMatch) {\n connectionMatches.push(connectionMatch);\n connectionMatch = connectionRegex.exec(source);\n }\n\n // if connections were made, select either a specific one or all\n if (connectionMatches.length > 0) {\n if (connectionMatches.length === 1) {\n var match = connectionMatches[0];\n for (var i=0; i -1) {\n var c = selection[1];\n disconnect(c.sourceObj, c.sourceAttrName, c.targetObj, c.targetMethodName);\n editor.updateLists();\n editor.displayInitialScript();\n } \n }\n\n var message = 'Disconnect \"' + selection[0] +'\" connection?';\n var callback = disconnectConnection;\n\n var dialog = new lively.morphic.ConfirmDialog(message, callback);\n\n return this.world().openDialog(dialog);\n}","funcProperties":{"__isSmartRef__":true,"id":1707},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1706":{"this":{"__isSmartRef__":true,"id":1682}},"1707":{"timestamp":{"__isSmartRef__":true,"id":1708},"user":"lauritz","categories":[]},"1708":{"isSerializedDate":true,"string":"Fri Nov 11 2011 01:46:54 GMT+0100 (Mitteleuropäische Zeit)"},"1709":{"submorphs":[{"__isSmartRef__":true,"id":1710}],"scripts":[],"id":"D5266373-61EE-4789-BC63-2B008F95C48B","shape":{"__isSmartRef__":true,"id":1715},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1721},"lighterFill":{"__isSmartRef__":true,"id":1726},"label":{"__isSmartRef__":true,"id":1710},"attributeConnections":[{"__isSmartRef__":true,"id":1731}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"name":"ObjectEditorRemoveScriptButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":1733},"owner":{"__isSmartRef__":true,"id":1139},"eventHandler":{"__isSmartRef__":true,"id":1734},"isCopyMorphRef":true,"morphRefId":24,"draggingEnabled":false,"objectEditorPane":{"__isSmartRef__":true,"id":1139},"derivationIds":[217,"FDC10087-12CF-4570-9211-8309CB6A9AA3","E18FC530-4B1F-4F08-8DA6-3866A3519E56","04A2AAC3-6A9E-40BB-9408-EBB2567EE63B","8C1A42CE-840C-4AAE-BD79-C93A445B9EBF","61FC11FA-B87E-4EFE-BD15-564D3178B68B","ED34F9B5-9E00-41B3-8313-D9C3D6B3B231","A7481F4B-D444-4B4F-BDA2-4F9F03AEC24D","7DDF7175-34FC-4521-A7C3-580A8BE63351","DEA39C05-FAD7-4882-AB3D-0EE12C3408F9","99186A50-1411-4B6F-B1CB-FF0742C20D7D","10F3E467-6BB8-4D07-BD17-8C50593FD6B8","7260818C-6472-4288-8BDD-1E7798A543F3","DEBB5BDB-018D-4BA1-9FB9-73DC84C51D89","D75BCAED-3029-46EB-B944-4A102BB1BC0F","9A977DA2-B325-4DFA-9683-3DC9ECEFAAC0","48A5078F-B4A5-4F4E-884D-84CCDFFBE6F0","33905494-AA01-4311-8398-1F6C3D4F1BAC","5D7201A7-1374-49AD-851F-E3167EFED99E","9B69B6C6-71F2-402E-89D1-E97FC2D3AE13","DA1B3A74-F4A6-427B-8FBD-3D2E9D8CD866","DBFC4A4F-8601-4C32-9460-53902C3B0F37","ED51CA7C-CE32-4CF5-9398-0BA9B791FF5E","4F7A7C1A-3788-478C-AFF5-BA62C7FCB01D","FCEFF15E-E5B8-4C7E-A139-302649441119","3674B8DC-F4E5-4A5C-ACEC-96D743BB6050","33E0336F-FD6A-4AAB-AECB-B7D6C7C80631","761015EE-47CF-40F6-A403-8A959B2DB0A6","361B531D-7A1C-441A-BE8B-0B503543FF6C","E283DDFD-1D8F-4E3D-A0BC-40C30221FFDC","0EC23EA3-7B34-429A-922D-5D139F127D1E"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1735},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(160.0,40.0)","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(33.4,-21.3)"},"1710":{"submorphs":[],"scripts":[],"id":"8E56CC98-E0B4-4E92-97A6-A10A7BD2B714","shape":{"__isSmartRef__":true,"id":1711},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":25,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1709},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1712}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":1714},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":25,"_MinTextHeight":null,"draggingEnabled":false,"derivationIds":[218,"852A7BD9-52EE-4708-A2D5-1BDECF33C958","7B4F173E-9726-472A-9B30-530D4AA92AD9","CBA217F6-2832-4213-9ABE-47753C1A4180","E6B97D1D-95D5-4644-9359-1D08D42A51F4","4391A57E-70C2-4628-9828-DD668CCE546E","F0C6C298-3B8B-42B2-B5E9-E5B82F607B01","DF0CAF75-4247-4797-B1A0-AD7444391E2A","B4C4F09B-F663-47A1-B85F-461D5452F5F8","FD966AB1-4685-4151-9A38-B1B21B0237EF","CA91FC2C-D7CC-4123-AFD2-108F8F0C2E97","88F1581A-7AEF-4646-B7F9-3890CDDB8494","DC577877-7F00-4238-9246-08C2A10C0CC9","818C9467-71A2-44D6-B01F-1523A0CD5476","C0CF3DDB-AA12-49E0-B12A-6B620552BB47","853E19A1-E97D-463D-A24F-0148671EB696","0203CA4C-E523-4F7D-824B-F09BA3914BDD","18B98A59-6C8E-4386-B3EF-A17259C51C0F","24D84E0A-FA16-47DE-934D-E60729EEB227","7035F1EB-4B8C-4F20-B3AC-966403F55C0A","69831817-0662-4848-8481-44558987D21D","BA13E4C6-DF2A-4059-9174-7725FA3FE514","3E989A29-2A8F-4AFE-B312-A0852B746605","7B675033-945D-4AE1-B85F-DBD35C7B02AA","E0D76A08-70F9-4710-907E-B2D83D60D29A","495F5D43-B450-45B7-B238-FC12AA8F6488","B551041D-4E6E-44F3-8405-1DCE5344BCCD","0A287650-EC32-45AA-8504-0513B196727F","717B0EFA-1422-4224-9A53-5A494F6191A4","C86C167E-8A7D-43BE-AFED-AAEDA70B95EE","97247E8A-2818-4B44-BCDD-348126BD380C"],"_Scale":1,"_WordBreak":"break-all","__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"1711":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","__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(25.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"1712":{"style":{"__isSmartRef__":true,"id":1713},"chunkOwner":{"__isSmartRef__":true,"id":1710},"storedString":"-","_id":"_1363","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1713":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1714":{"morph":{"__isSmartRef__":true,"id":1710},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1715":{"_Fill":{"__isSmartRef__":true,"id":1716},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","__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(25.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1716":{"stops":[{"__isSmartRef__":true,"id":1717},{"__isSmartRef__":true,"id":1718},{"__isSmartRef__":true,"id":1719},{"__isSmartRef__":true,"id":1720}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1717":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1718":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"1719":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"1720":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"1721":{"stops":[{"__isSmartRef__":true,"id":1722},{"__isSmartRef__":true,"id":1723},{"__isSmartRef__":true,"id":1724},{"__isSmartRef__":true,"id":1725}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1722":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1723":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1724":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1725":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1726":{"stops":[{"__isSmartRef__":true,"id":1727},{"__isSmartRef__":true,"id":1728},{"__isSmartRef__":true,"id":1729},{"__isSmartRef__":true,"id":1730}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1727":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1728":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1729":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1730":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1731":{"sourceObj":{"__isSmartRef__":true,"id":1709},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1709},"targetMethodName":"deleteSelectedScript","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1732},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1732":{"source":{"__isSmartRef__":true,"id":1709},"target":{"__isSmartRef__":true,"id":1709}},"1733":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1734":{"morph":{"__isSmartRef__":true,"id":1709},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1735":{"deleteSelectedScript":{"__isSmartRef__":true,"id":1736}},"1736":{"varMapping":{"__isSmartRef__":true,"id":1737},"source":"function deleteSelectedScript() {\n\n var editor = this.objectEditorPane;\n var selection = editor.scriptList.selection;\n\n if (!editor.target || editor.scriptList.getList().size() < 2) \n return; \n\n var deleteScript = function (confirmed) {\n if (!confirmed) return;\n \n if (selection && editor.target) {\n if (!editor.target.hasOwnProperty(selection)) \n return;\n delete editor.target[selection];\n editor.updateLists();\n editor.displayInitialScript();\n }\n }\n\n var message = 'Delete \"' + selection + '\" script?';\n var callback = deleteScript;\n\n var dialog = new lively.morphic.ConfirmDialog(message, callback);\n\n return this.world().openDialog(dialog);\n}","funcProperties":{"__isSmartRef__":true,"id":1738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1737":{"this":{"__isSmartRef__":true,"id":1709}},"1738":{"timestamp":{"__isSmartRef__":true,"id":1739},"user":"lauritz"},"1739":{"isSerializedDate":true,"string":"Thu Nov 17 2011 18:12:21 GMT+0100 (Mitteleuropäische Zeit)"},"1740":{"submorphs":[{"__isSmartRef__":true,"id":1741}],"scripts":[],"id":"5DFB4AF9-C962-4F9B-A593-21085F5E6F8D","shape":{"__isSmartRef__":true,"id":1747},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1748},"lighterFill":{"__isSmartRef__":true,"id":1753},"label":{"__isSmartRef__":true,"id":1741},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"name":"ObjectEditorMorphSelector","partsBinMetaInfo":{"__isSmartRef__":true,"id":1758},"list":[],"eventHandler":{"__isSmartRef__":true,"id":1759},"owner":{"__isSmartRef__":true,"id":1139},"textString":"","selection":{"__isSmartRef__":true,"id":1760},"_ClipMode":"visible","prevScroll":[0,0],"derivationIds":[221,"4AC64FBA-95AC-42B2-A078-B6DA97889093","E26ED0E6-C4CE-4C82-94D5-175270E8459E","D292F2FC-C2B6-48AE-B779-8CC5868FFA49","53A862EB-032C-4BF0-9B21-58C7E0C0A9B2","CC4D188B-510F-48DE-A0E1-EC8D2CD63F9F","0CD057F2-3517-4849-A69E-1EF79B05ACE8","66EBBB7D-8FA7-4D43-AE78-A18DA3B970BA","A50C1893-4138-4E29-865B-92F53F76D08A","1EC5D2B9-3539-419A-8DD6-CE82DEABB02C","95DC06D5-F4C7-49E2-8A01-110D1B0AFBD0","672DEFAB-2BE5-4C60-9779-3B44694FBEB1","E3476213-5872-492C-BE29-0C6A5A150ED8","AA2F6ABE-1CCB-403D-94DD-8FB371F3DDCE","54B67D51-AB19-40A0-A2A6-EC51F3171CAC","1CF44342-896F-4ACB-847F-7CB3CD10ED5A","279A9257-1667-4E0C-844B-A4E0D02462F0","DDCBD835-4B3F-4B8F-9623-696DA76C3A2C","D2CB17F3-5DD0-4E97-BF99-40A95ABF976B","FA519665-2394-43D3-8DCF-802A158F3291","90519BB5-7419-46E0-B7E3-4C26304F3414","0B7FC23C-C63C-4F20-8BAF-1BD1B7205762","B54FAD70-E598-4B06-8F41-00843A06D4B0","5A8ECBD6-ADDE-43FA-8D9E-BC483898DF8A","69DD3160-FAD3-4AD8-9B1C-CB9229AD8034","2C8AD368-8815-41D5-8C8D-CD36ECCF4A96","80C5655D-B03D-413B-A84C-D59A60D8EEEC","BA8066E4-5B8E-4048-97C5-332953805999","E27E2CB2-789E-4269-B5E8-2631B5D2840B","0EDAA37B-E8BA-4DE7-820A-17A44E299F5C","81F15272-5E6E-4544-B6FE-96BDD357A17C"],"_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1766},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(200.1,10.0)","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(122.9,-11.6)"},"1741":{"submorphs":[],"scripts":[],"id":"5A15B701-6CAD-4991-A831-3F77291CDFE4","shape":{"__isSmartRef__":true,"id":1742},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":220,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1740},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1743}],"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":1745}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"eventHandler":{"__isSmartRef__":true,"id":1746},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":220,"_MinTextHeight":null,"_Align":"left","_FontFamily":"Arial","_FontSize":10,"derivationIds":[222,"30F054A3-7658-405B-8098-B7D87AA8A9ED","556D6E07-45B7-42EC-A486-DE275EF0B034","06B0B080-467A-46CC-8B0D-9C0A9B9A71F1","5E2D96C9-BB9B-4735-8673-A79847435197","B48AA022-2022-4A2A-9090-4D884FB3DFD3","8B2F743A-98C5-45E1-B03C-5019114EAC47","D09C56C3-A2DC-4BDF-B8A1-6365138ECD01","74158C3D-B79E-43E7-B111-48701B10ACE2","B19E117B-E40F-4B9F-86AC-BFB2AAFD5336","4E3B3D72-E52C-44ED-AE32-78939BA1ECFD","2459D1F0-E49C-4882-AB4C-D78C1A496962","3D8D3B02-0459-45C1-A606-D0DB4B07958C","78AAE288-D261-4BEA-9436-C8C31B890B44","2E10F795-9892-4BF7-9A46-BCB90FD6112E","DE32EFA9-C920-42F6-9F2E-7EDABEC006AF","23FBFC79-1927-48FD-8C1C-09FFD7539784","3409506C-9BAE-43DA-BCAF-94392F9646DF","ED94289E-98FC-4126-9EED-25FDC98D5BFC","63C2F1D8-3A1B-464B-9945-1F661D4CFE26","782AAB82-32E9-4A37-9DC0-3118636C2CCE","D564B3C8-D9B5-4D7D-80DD-16715ED878F6","D9344242-9F26-4A5D-B86D-6FAEA43B439C","E7E3A5EE-8F82-4F04-9E65-771E2E4AC9D1","55BF0D1C-FCDF-4D8B-9E42-8EF0F36074A3","B3BE05E0-5704-45B4-8B1D-E7FDA5CE6235","9A503124-0F1D-4390-B668-E4457CBC1376","26D1AD85-C129-4C24-A16A-B6863FC35F41","7425ED3B-1418-47C8-A2EE-52CDF3C4D860","C4B9C269-4F6E-4EA2-A6EA-38C21A011591","952BC06E-5007-4618-9289-931E66292E9D"],"_Scale":1,"_WordBreak":"break-all","__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(2.0,1.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(5,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"1742":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","_BorderWidth":0,"_Fill":null,"__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(220.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"1743":{"style":{"__isSmartRef__":true,"id":1744},"chunkOwner":{"__isSmartRef__":true,"id":1741},"_id":"_222","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1744":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1745":{"sourceObj":{"__isSmartRef__":true,"id":1741},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1740},"targetMethodName":"selection","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1746":{"morph":{"__isSmartRef__":true,"id":1741},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1747":{"_Fill":{"__isSmartRef__":true,"id":1748},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","__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(220.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1748":{"stops":[{"__isSmartRef__":true,"id":1749},{"__isSmartRef__":true,"id":1750},{"__isSmartRef__":true,"id":1751},{"__isSmartRef__":true,"id":1752}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1749":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1750":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1751":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1752":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1753":{"stops":[{"__isSmartRef__":true,"id":1754},{"__isSmartRef__":true,"id":1755},{"__isSmartRef__":true,"id":1756},{"__isSmartRef__":true,"id":1757}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1754":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1755":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1756":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1757":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1758":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"partName":"ChoiceButton","comment":"Click on it and you get a list of things to choose from.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1759":{"morph":{"__isSmartRef__":true,"id":1740},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1760":{"submorphs":[],"scripts":[],"id":181,"shape":{"__isSmartRef__":true,"id":1761},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":580,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":28,"name":"Title","partsBinMetaInfo":{"__isSmartRef__":true,"id":1762},"textChunks":[{"__isSmartRef__":true,"id":1763}],"eventHandler":{"__isSmartRef__":true,"id":1765},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":580,"_MinTextHeight":null,"_Rotation":0,"_Scale":1.002003004005006,"previousSelection":[35,35],"priorSelectionRange":[23,23],"charsReplaced":"WIP / Proof of Concept","lastFindLoc":22,"_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","isCopyMorphRef":true,"morphRefId":2,"prevScroll":[0,0],"__serializedExpressions__":["_Position","textColor","_TextColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(37.0,23.0)","textColor":"Color.rgb(0,0,0)","_TextColor":"Color.rgb(0,79,152)","distanceToDragEvent":"lively.pt(221.0,-12.0)"},"1761":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__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(580.0,43.0)","_BorderColor":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"1762":{"partsSpaceName":"PartsBin/Worlds/","comment":"For example a world title.","partName":"Title","migrationLevel":2,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1763":{"style":{"__isSmartRef__":true,"id":1764},"chunkOwner":{"__isSmartRef__":true,"id":1760},"storedString":"","_id":"_1365","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1764":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1765":{"morph":{"__isSmartRef__":true,"id":1760},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1766":{"reset":{"__isSmartRef__":true,"id":1767},"onMouseDown":{"__isSmartRef__":true,"id":1771},"onBlur":{"__isSmartRef__":true,"id":1779},"createScenePresentation":{"__isSmartRef__":true,"id":1787},"presentTargetChooser":{"__isSmartRef__":true,"id":1791},"removeTargetChooser":{"__isSmartRef__":true,"id":1795},"removeHighlight":{"__isSmartRef__":true,"id":1799},"highlightCurrentTarget":{"__isSmartRef__":true,"id":1803},"updateTargetFromSelection":{"__isSmartRef__":true,"id":1807},"currentMorphicScene":{"__isSmartRef__":true,"id":1811},"highlightTarget":{"__isSmartRef__":true,"id":1815},"setLabel":{"__isSmartRef__":true,"id":1819},"updateTargetFromOwner":{"__isSmartRef__":true,"id":1827}},"1767":{"varMapping":{"__isSmartRef__":true,"id":1768},"source":"function reset() {\n this.removeTargetChooser();\n this.setLabel('empty');\n this.applyStyle({fixedWidth: true, fixedHeight: true, borderWidth: 1, overflow: 'visible'});\n}","funcProperties":{"__isSmartRef__":true,"id":1769},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1768":{"this":{"__isSmartRef__":true,"id":1740}},"1769":{"timestamp":{"__isSmartRef__":true,"id":1770},"user":"lauritz","tags":[]},"1770":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:04:57 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1771":{"varMapping":{"__isSmartRef__":true,"id":1772},"source":"function onMouseDown(evt) {\n if (evt.isCommandKey() || evt.isRightMouseButtonDown()) {\n return $super(evt);\n }\n \n if (this.listMorph) {\n // clicked on morph, not the list, not the list's scrollbar\n if (evt.target === this.renderContext().shapeNode)\n this.removeTargetChooser();\n } else {\n this.presentTargetChooser();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1777},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1772":{"this":{"__isSmartRef__":true,"id":1740},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1773}},"1773":{"$super":{"__isSmartRef__":true,"id":1774}},"1774":{"varMapping":{"__isSmartRef__":true,"id":1775},"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":1776},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1775":{"obj":{"__isSmartRef__":true,"id":1740},"name":"onMouseDown"},"1776":{},"1777":{"timestamp":{"__isSmartRef__":true,"id":1778},"user":"lauritz","tags":[]},"1778":{"isSerializedDate":true,"string":"Fri Aug 03 2012 12:44:10 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1779":{"varMapping":{"__isSmartRef__":true,"id":1780},"source":"function onBlur(evt) {\n $super(evt);\n \n // remove the scene presentation when clicked elsewhere\n var target = evt.world.clickedOnMorph;\n if (!this.listMorph || !this.listMorph.isAncestorOf(target)) {\n this.removeTargetChooser();\n } else {\n this.focus();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1785},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1780":{"this":{"__isSmartRef__":true,"id":1740},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1781}},"1781":{"$super":{"__isSmartRef__":true,"id":1782}},"1782":{"varMapping":{"__isSmartRef__":true,"id":1783},"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":1784},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1783":{"obj":{"__isSmartRef__":true,"id":1740},"name":"onBlur"},"1784":{},"1785":{"timestamp":{"__isSmartRef__":true,"id":1786},"user":"lauritz","tags":[]},"1786":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:29:05 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1787":{"varMapping":{"__isSmartRef__":true,"id":1788},"source":"function createScenePresentation() {\n var that = this,\n items = this.currentMorphicScene(),\n height = this.owner.getExtent().y,\n bounds = new Rectangle(0, this.getExtent().y, this.getExtent().x * 2, height),\n treeMorph = new lively.morphic.Tree(),\n rect = lively.morphic.Morph.makeRectangle(bounds),\n currentTarget = null;\n \n treeMorph.childrenPerPage = 10000;\n treeMorph.setName(\"MorphSelectorTree\");\n treeMorph.getLayouter().defer();\n treeMorph.setItem(items);\n treeMorph.childNodes.each(function (n) {\n n.expand();\n })\n \n currentTarget = this.highlightCurrentTarget(treeMorph);\n \n rect.setFill(Color.white);\n rect.beClip(true);\n rect.disableGrabbing();\n rect.disableDragging();\n rect.setBorderWidth(1);\n rect.setBorderColor(Color.rgb(150,150,150));\n rect.addMorph(treeMorph);\n rect.treeMorph = treeMorph;\n rect.currentTarget = currentTarget;\n\n return rect;\n}","funcProperties":{"__isSmartRef__":true,"id":1789},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1788":{"this":{"__isSmartRef__":true,"id":1740}},"1789":{"timestamp":{"__isSmartRef__":true,"id":1790},"user":"lauritz","tags":[]},"1790":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:29:56 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1791":{"varMapping":{"__isSmartRef__":true,"id":1792},"source":"function presentTargetChooser() {\n var list = this.createScenePresentation(),\n tree = list.treeMorph,\n target = list.currentTarget\n \n list.setVisible(false)\n this.addMorph(list)\n this.listMorph = list\n list.focus()\n\n // need temp here, doesn't work otherwise, strange errors... Javascript WAT\n var layouting = function() {\n list.setVisible(true)\n \n if (target) {\n var globalTransform = new lively.morphic.Similitude()\n for (var morph = target; (morph != list) && \n (morph != undefined); morph = morph.owner) {\n globalTransform.preConcatenate(morph.getTransform());\n } \n \n list.scrollRectIntoView(target.getBounds().\n translatedBy(globalTransform.getTranslation()));\n tree.getLayouter().resume();\n }\n }\n layouting.morphicDelay(1);\n}","funcProperties":{"__isSmartRef__":true,"id":1793},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1792":{"this":{"__isSmartRef__":true,"id":1740}},"1793":{"timestamp":{"__isSmartRef__":true,"id":1794},"user":"lauritz","tags":[]},"1794":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:13:22 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1795":{"varMapping":{"__isSmartRef__":true,"id":1796},"source":"function removeTargetChooser() {\n if (this.listMorph) {\n this.listMorph.remove();\n delete this.listMorph; \n }\n}","funcProperties":{"__isSmartRef__":true,"id":1797},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1796":{"this":{"__isSmartRef__":true,"id":1740}},"1797":{"timestamp":{"__isSmartRef__":true,"id":1798},"user":"lauritz","tags":[]},"1798":{"isSerializedDate":true,"string":"Fri Aug 03 2012 12:43:38 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1799":{"varMapping":{"__isSmartRef__":true,"id":1800},"source":"function removeHighlight(node) {\n node.submorphs[0].setFill(Color.rgb(255,255,255))\n}","funcProperties":{"__isSmartRef__":true,"id":1801},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1800":{"this":{"__isSmartRef__":true,"id":1740}},"1801":{"timestamp":{"__isSmartRef__":true,"id":1802},"user":"lauritz","tags":[]},"1802":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:32:15 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1803":{"varMapping":{"__isSmartRef__":true,"id":1804},"source":"function highlightCurrentTarget(tree) {\n var target = this.owner.target,\n nodes = tree.childNodes,\n highlightNode;\n\n if (!target) {\n return\n } else if (target.isMorph) {\n var expandables = [target],\n nextOwner = target,\n currentNode\n while (nextOwner.owner) {\n expandables.push(nextOwner.owner)\n nextOwner = nextOwner.owner\n }\n expandables.reverse().each(function (m) {\n currentNode = nodes.detect(function (n) {\n return n.item.value === m;\n })\n if (currentNode) {\n nodes = currentNode.childNodes\n if (!nodes && currentNode.item.children) {\n currentNode.expand();\n nodes = currentNode.childNodes;\n }\n } else {\n return;\n }\n })\n if (currentNode && currentNode.item.value === target) {\n highlightNode = currentNode;\n }\n } else {\n var groupNodes = nodes.detect(function (n) {\n return n.item.value === 'groups';\n }).childNodes\n highlightNode = groupNodes.detect(function (n) {\n // group names are unique\n return n.item.value.name === target.name;\n })\n }\n\n if (highlightNode) {\n this.highlightTarget(highlightNode);\n }\n return highlightNode;\n}","funcProperties":{"__isSmartRef__":true,"id":1805},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1804":{"this":{"__isSmartRef__":true,"id":1740}},"1805":{"timestamp":{"__isSmartRef__":true,"id":1806},"user":"lauritz","tags":[]},"1806":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:31:39 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1807":{"varMapping":{"__isSmartRef__":true,"id":1808},"source":"function updateTargetFromSelection(selection) { \n var that = this;\n var update = function(confirmed) {\n if (confirmed) {\n that.owner.setTarget(selection);\n that.setLabel(selection.getName() || selection.toString());\n }\n }\n \n this.removeTargetChooser();\n if (this.owner.hasUnsavedChanges && this.owner.hasUnsavedChanges()) {\n this.owner.confirmUnsavedChanges(update);\n } else {\n update(true);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1809},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1808":{"this":{"__isSmartRef__":true,"id":1740}},"1809":{"timestamp":{"__isSmartRef__":true,"id":1810},"user":"lauritz","tags":[]},"1810":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:04:57 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1811":{"varMapping":{"__isSmartRef__":true,"id":1812},"source":"function currentMorphicScene() {\n var onSelect = function onSelect(tree) {\n this.selector.updateTargetFromSelection(this.value);\n }\n var properties = {\n editorPane: this.owner,\n selector: this\n }\n \n return {children: [{ \n name: 'World',\n value: this.world(),\n selector: this,\n onSelect: onSelect,\n children: this.world().submorphs.invoke('treeItemsOfMorphNames',\n {scripts: [onSelect],\n properties: properties,\n showUnnamed: true}).compact()\n }]};\n}","funcProperties":{"__isSmartRef__":true,"id":1813},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1812":{"this":{"__isSmartRef__":true,"id":1740}},"1813":{"timestamp":{"__isSmartRef__":true,"id":1814},"user":"lauritz","tags":[]},"1814":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:29:43 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1815":{"varMapping":{"__isSmartRef__":true,"id":1816},"source":"function highlightTarget(node) {\n node.submorphs[0].setFill(Color.rgb(218,218,218))\n}","funcProperties":{"__isSmartRef__":true,"id":1817},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1816":{"this":{"__isSmartRef__":true,"id":1740}},"1817":{"timestamp":{"__isSmartRef__":true,"id":1818},"user":"lauritz","tags":[]},"1818":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:32:12 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1819":{"varMapping":{"__isSmartRef__":true,"id":1820},"source":"function setLabel(label) {\n this.label.setTextString(label);\n this.label.setAlign('left');\n}","funcProperties":{"__isSmartRef__":true,"id":1825},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1820":{"this":{"__isSmartRef__":true,"id":1740},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1821}},"1821":{"$super":{"__isSmartRef__":true,"id":1822}},"1822":{"varMapping":{"__isSmartRef__":true,"id":1823},"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":1824},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1823":{"obj":{"__isSmartRef__":true,"id":1740},"name":"setLabel"},"1824":{},"1825":{"timestamp":{"__isSmartRef__":true,"id":1826},"user":"lauritz","tags":[]},"1826":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:04:31 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1827":{"varMapping":{"__isSmartRef__":true,"id":1828},"source":"function updateTargetFromOwner() {\n this.setLabel(this.owner.target);\n}","funcProperties":{"__isSmartRef__":true,"id":1829},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1828":{"this":{"__isSmartRef__":true,"id":1740}},"1829":{"timestamp":{"__isSmartRef__":true,"id":1830},"user":"lauritz","tags":[]},"1830":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:24:24 GMT+0200 (Mitteleuropäische Sommerzeit)"},"1831":{"submorphs":[],"scripts":[],"id":"24370A51-2D7B-47A3-86E4-33A9BE60F280","shape":{"__isSmartRef__":true,"id":1832},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":false,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":64.8979476392384,"showsHalos":false,"_FontSize":9,"name":"ObjectEditorScriptsText2","partsBinMetaInfo":{"__isSmartRef__":true,"id":1833},"textChunks":[{"__isSmartRef__":true,"id":1834}],"charsReplaced":"Scripts","lastFindLoc":-7,"priorSelectionRange":[0,7],"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":1836},"_WhiteSpaceHandling":"pre-wrap","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":64.8979476392384,"_ClipMode":"visible","draggingEnabled":false,"eventsAreIgnored":true,"isCopyMorphRef":true,"morphRefId":27,"owner":{"__isSmartRef__":true,"id":1139},"derivationIds":[224,"35EF8FE5-067D-45B6-AF21-77040F11D340","80DC09DD-22D4-4089-B5C3-857B32C9BE9B","EF080074-E6B9-47F3-A87F-26313B40C430","F6977801-C1A7-445C-9BF1-8A1019E202FB","8C9157AE-0343-4CFB-8186-1D5E05D2ECBE","DD3C23F8-6463-4EAE-959B-C486E27D9BDA","1E8D3752-D212-41F8-BC63-B094E0C80707","75C07D11-AE5D-4A36-B2D0-F2A6EA414E72","494AB1C0-2C09-49DE-B4AA-1F24DC7495FF","25199967-E3BA-4763-A704-37BD3152A5F7","8E4A5937-D1FA-4AF7-BD8D-B542C636CEF9","DDB23EF0-540C-4046-AD4D-C001E8A5F20C","FF45AAB3-E5C7-42A0-A704-F068DB2E2AF9","52850E3E-BE46-467C-A381-902F5E4859FD","147F9160-7168-44A4-9EA4-A36466EE1F52","8E4FB238-FC20-4DA7-AC9F-6921EBBD5609","3D09A998-5E60-4E94-9C6A-B08E7D98F02A","B8986B95-68A4-4212-8560-C86C8F7B3B3C","81BAFCDC-090F-4A92-8AD6-C3127620CCF4","3663625F-2BB0-494C-A467-04148A441F42","8F0EE2A4-3C90-4F71-A04E-2B285D2543CD","B5F10B61-9C89-4903-BD4C-DF3B9D283432","7005184B-8CE8-4DB8-82D8-D75E16ADE428","B8106E33-B470-45C3-916E-6E92CAFDD854","3013F6C8-9D86-49F3-9EB0-AA42B27F1DC6","A49BA117-B9D4-43F4-82EA-458B9D16FDBA","9FB9DF10-FCEC-44FE-9614-6DFC4B814576","54F9AFFD-B235-48AC-85E0-57921251546E","7A472A4B-7292-49B5-9F03-DE2E3A096714","C8629DF3-424B-47D3-A3FD-68201FFFC455"],"_Rotation":0,"_Scale":1,"_MaxTextHeight":null,"_MinTextHeight":null,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,12.9)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(45.8,-27.8)"},"1832":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__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(64.9,15.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1833":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1834":{"style":{"__isSmartRef__":true,"id":1835},"chunkOwner":{"__isSmartRef__":true,"id":1831},"storedString":"Tag:","_id":"_1367","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1835":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1836":{"morph":{"__isSmartRef__":true,"id":1831},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1837":{"submorphs":[{"__isSmartRef__":true,"id":1838}],"scripts":[],"id":"6D9F5F82-EF3B-4599-A22D-784BE70C19D3","shape":{"__isSmartRef__":true,"id":1844},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":true,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1850},"lighterFill":{"__isSmartRef__":true,"id":1855},"label":{"__isSmartRef__":true,"id":1838},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"name":"ObjectEditorTagChooser","partsBinMetaInfo":{"__isSmartRef__":true,"id":1860},"listMorph":null,"list":[],"eventHandler":{"__isSmartRef__":true,"id":1861},"textString":"PartsBinBrowser","selection":"","_ClipMode":"visible","prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":1139},"setTargetToListSelection":"all","savedTextString":"all","derivationIds":[225,"7F83847B-D0B1-4A31-8601-43424B97C858","E08FC110-71D7-4FFD-B4A8-08F8147B95BA","5534107D-C5C9-48DD-A1ED-B87E9D9B672C","0B89FA7A-768C-4062-98AE-C455E8DAFF19","799320C6-CFBA-40E7-B03D-64BFE9B78248","9B650AA3-271B-4E72-B230-51C6F64B7462","C95D3672-724C-4C2C-9CDD-EF308062F627","C66EBEEC-B7CE-4DD9-8BDF-905F071F965D","D68B143A-A712-4FD0-8803-62CCB4C7F763","ED802271-AE5C-4BE9-AC4E-7CED44BC864B","1BD989CB-146C-431F-8B15-9199C4CD5D32","42172AA4-1B06-4C5B-9BB7-FAED1206CF34","32DFAF99-E6F8-426B-829D-FD6C2BCB8FAA","9B4BF2BE-49D5-4B9D-8F38-1692443069A9","FCAB3690-731A-45E7-984F-843DFE705AF1","94B10A66-8219-43AD-B902-DA999A66222D","BB0E2EB7-ABCE-44C7-96E7-6679FB2981D1","2FCEE551-302B-46C9-B646-3B9BE9187182","B4267F52-1ACC-42A1-904D-E9F7D485D8AB","14770110-045A-4BE4-BCF2-7C886DF70F7D","5387EA76-6B03-426A-B385-9C4231B66352","23545203-A969-439B-8761-E83A810696D0","C5467F6E-CBD7-4AF4-94BE-D0D62E4F7DDD","2FC5F9D1-B611-4273-BD5B-107350364579","318398B6-6689-4DE7-88FD-636BD968773D","3241459F-2019-4BD2-A0CF-BD2A174DDA76","69022916-A511-4A6C-8220-5B4CCD34FCEF","E772C128-C42D-4B13-A3DB-3EC0DFDC9FC5","4DD223AA-79FC-4FB3-9301-F197D9D6B358","46929EDB-248B-41D6-AC15-410A659C24A5"],"_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1862},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(39.1,10.0)","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(85.7,-11.6)"},"1838":{"submorphs":[],"scripts":[],"id":"F8CC5742-BA97-4191-878C-E96C5D900199","shape":{"__isSmartRef__":true,"id":1839},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":130,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1837},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1840}],"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":1842}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"eventHandler":{"__isSmartRef__":true,"id":1843},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":130,"_MinTextHeight":null,"_Align":"left","_FontFamily":"Arial","_FontSize":10,"derivationIds":[226,"03DBF3F8-8EA2-4426-BA64-C4297DDAB015","B8F87302-BEC3-48CD-9BBA-6C7DBB6287E1","4AA6AE51-338B-4E3E-814B-9F99C693A2D5","08F6CE56-AD91-4C27-9429-C3DEA313696C","D39C963C-FD24-4498-A6D8-71E5102CE58A","132C2A9E-3466-4051-AAEA-6E485A91F408","DB8BC4A1-ED41-446B-AB6C-7E73DD857B5D","567FC668-A57C-41CB-8252-8912826B3144","D0B0775F-C8E7-49EB-BBB2-C7BB7DD464BF","AABED87D-D7C0-494A-8803-26F4601E35FF","696C3A2A-C695-4D17-A044-41A73436AB8D","206A0BFD-6997-4E0E-9193-089D1F66B22A","F2F1F966-6C41-4EBA-AFCE-FAE8C79AA696","64A754E9-7083-4CAE-B5C2-7B436EFFE4BA","64737503-A352-42CC-A249-667DA2B42746","9218F1CA-E23F-4E1A-89C3-DB19DE720861","CF7EAC38-1041-4B83-B087-359885B8528B","84469C7C-C93D-4F16-ACAA-0045A4A37FCA","9D3DD447-66A0-4B4A-B378-FB864D8C1468","163D1C2B-EDE9-4F8F-B466-EF9F4CB14384","50DCF8C9-23AA-4241-AC5B-724CC11950DA","CCACCC51-0109-4F73-B122-AA60E40EC54B","285D1797-A21F-4439-81AD-932B45F54879","7354C28D-A54E-48B6-913E-4949B5F4625E","68EAB78C-AAA8-4EC3-8493-CFD23672B5B3","2AD9DBC6-BDBD-4022-AFE1-B6D94D6860BF","5D634617-10A2-45FE-A453-D3452456AB07","EE3AF0A1-F42E-4AE8-A115-3458AA56DAF3","D8A87F07-FBE8-4C1E-ADE9-3AF6EE15FCD3","72270145-A97E-4B0C-BA7D-1B68CE1A0841"],"_Scale":1,"_WordBreak":"break-all","__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(2.0,1.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(5,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"1839":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","_BorderWidth":0,"_Fill":null,"__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(130.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"1840":{"style":{"__isSmartRef__":true,"id":1841},"chunkOwner":{"__isSmartRef__":true,"id":1838},"_id":"_986","storedString":"all","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1841":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1842":{"sourceObj":{"__isSmartRef__":true,"id":1838},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1837},"targetMethodName":"selection","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1843":{"morph":{"__isSmartRef__":true,"id":1838},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1844":{"_Fill":{"__isSmartRef__":true,"id":1845},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","__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(130.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1845":{"stops":[{"__isSmartRef__":true,"id":1846},{"__isSmartRef__":true,"id":1847},{"__isSmartRef__":true,"id":1848},{"__isSmartRef__":true,"id":1849}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1846":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(230,243,253)"},"1847":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(171,215,248)"},"1848":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(171,215,248)"},"1849":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(157,198,229)"},"1850":{"stops":[{"__isSmartRef__":true,"id":1851},{"__isSmartRef__":true,"id":1852},{"__isSmartRef__":true,"id":1853},{"__isSmartRef__":true,"id":1854}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1851":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1852":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1853":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1854":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1855":{"stops":[{"__isSmartRef__":true,"id":1856},{"__isSmartRef__":true,"id":1857},{"__isSmartRef__":true,"id":1858},{"__isSmartRef__":true,"id":1859}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1856":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1857":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1858":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1859":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1860":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"partName":"ChoiceButton","comment":"Click on it and you get a list of things to choose from.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1861":{"morph":{"__isSmartRef__":true,"id":1837},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1862":{"createListMorph":{"__isSmartRef__":true,"id":1863},"getList":{"__isSmartRef__":true,"id":1867},"removeList":{"__isSmartRef__":true,"id":1871},"reset":{"__isSmartRef__":true,"id":1875},"onMouseUp":{"__isSmartRef__":true,"id":1879},"onBlur":{"__isSmartRef__":true,"id":1887},"setTag":{"__isSmartRef__":true,"id":1895}},"1863":{"varMapping":{"__isSmartRef__":true,"id":1864},"source":"function createListMorph() {\n var items = this.getList();\n\n var height = Math.min(this.owner.getExtent().y, items.length * 17);\n var extent = new Rectangle(0, this.getExtent().y, this.getExtent().x, height);\n\n var listMorph = new lively.morphic.List(extent);\n listMorph.setList(items);\n listMorph.setFontSize(10);\n\n listMorph.disableGrabbing();\n listMorph.disableDragging();\n \n connect(listMorph, 'selection', this, 'setTag');\n \n return listMorph;\n}","funcProperties":{"__isSmartRef__":true,"id":1865},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1864":{"this":{"__isSmartRef__":true,"id":1837}},"1865":{"timestamp":{"__isSmartRef__":true,"id":1866},"user":"lauritz","categories":[]},"1866":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:35:59 GMT+0100 (Mitteleuropäische Zeit)"},"1867":{"varMapping":{"__isSmartRef__":true,"id":1868},"source":"function getList() {\n if (!this.owner.target) return [''];\n\n var target = this.owner.target;\n\n var tags = Functions.own(target).collect(function (each) {\n return target[each].tags || [];\n }).flatten().uniq();\n\n var sortedTags = tags.sortBy(function(name) { \n return name.toLowerCase() \n });\n \n sortedTags.unshift('all'); \n return sortedTags;\n}","funcProperties":{"__isSmartRef__":true,"id":1869},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1868":{"this":{"__isSmartRef__":true,"id":1837}},"1869":{"timestamp":{"__isSmartRef__":true,"id":1870},"user":"lauritz","tags":[]},"1870":{"isSerializedDate":true,"string":"Fri Dec 16 2011 20:27:25 GMT+0100 (Mitteleuropäische Zeit)"},"1871":{"varMapping":{"__isSmartRef__":true,"id":1872},"source":"function removeList() {\n this.listMorph && this.listMorph.remove()\n this.listMorph = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1873},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1872":{"this":{"__isSmartRef__":true,"id":1837}},"1873":{"timestamp":{"__isSmartRef__":true,"id":1874},"user":"lauritz","categories":[]},"1874":{"isSerializedDate":true,"string":"Thu Nov 17 2011 19:06:51 GMT+0100 (Mitteleuropäische Zeit)"},"1875":{"varMapping":{"__isSmartRef__":true,"id":1876},"source":"function reset() {\n this.list = [];\n this.setLabel('all');\n this.label.setAlign('left');\n this.removeList();\n this.applyStyle({fixedWidth: true, fixedHeight: true, borderWidth: 1, overflow: 'visible'})\n}","funcProperties":{"__isSmartRef__":true,"id":1877},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1876":{"this":{"__isSmartRef__":true,"id":1837}},"1877":{"timestamp":{"__isSmartRef__":true,"id":1878},"user":"lauritz","tags":[]},"1878":{"isSerializedDate":true,"string":"Fri Dec 16 2011 20:27:53 GMT+0100 (Mitteleuropäische Zeit)"},"1879":{"varMapping":{"__isSmartRef__":true,"id":1880},"source":"function onMouseUp(evt) {\n if (evt.isCommandKey() || evt.isRightMouseButtonDown()) return $super(evt);\n if (this.listMorph) {\n this.removeList();\n return true;\n } \n if (this.getList().size() < 2) return;\n var list = this.createListMorph();\n this.addMorph(list);\n this.listMorph = list;\n return true;\n}","funcProperties":{"__isSmartRef__":true,"id":1885},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1880":{"this":{"__isSmartRef__":true,"id":1837},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1881}},"1881":{"$super":{"__isSmartRef__":true,"id":1882}},"1882":{"varMapping":{"__isSmartRef__":true,"id":1883},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1884},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1883":{"obj":{"__isSmartRef__":true,"id":1837},"name":"onMouseUp"},"1884":{},"1885":{"timestamp":{"__isSmartRef__":true,"id":1886},"user":"lauritz","categories":[]},"1886":{"isSerializedDate":true,"string":"Thu Nov 17 2011 18:59:16 GMT+0100 (Mitteleuropäische Zeit)"},"1887":{"varMapping":{"__isSmartRef__":true,"id":1888},"source":"function onBlur(evt) {\n $super(evt);\n \n // workaround - otherwise other morphs get this event\n var clickedMorph = evt && evt.world && evt.world.clickedOnMorph;\n if (clickedMorph && (clickedMorph !== this && clickedMorph !== this.listMorph)) {\n this.removeList();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1893},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1888":{"this":{"__isSmartRef__":true,"id":1837},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1889}},"1889":{"$super":{"__isSmartRef__":true,"id":1890}},"1890":{"varMapping":{"__isSmartRef__":true,"id":1891},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1892},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1891":{"obj":{"__isSmartRef__":true,"id":1837},"name":"onBlur"},"1892":{},"1893":{"timestamp":{"__isSmartRef__":true,"id":1894},"user":"lauritz","categories":[]},"1894":{"isSerializedDate":true,"string":"Mon Nov 21 2011 23:10:03 GMT+0100 (Mitteleuropäische Zeit)"},"1895":{"varMapping":{"__isSmartRef__":true,"id":1896},"source":"function setTag(tag) {\n this.setLabel(tag || '');\n this.label.setAlign('left');\n this.owner.setTag(tag);\n}","funcProperties":{"__isSmartRef__":true,"id":1897},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1896":{"this":{"__isSmartRef__":true,"id":1837}},"1897":{"timestamp":{"__isSmartRef__":true,"id":1898},"user":"lauritz","categories":[]},"1898":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:36:12 GMT+0100 (Mitteleuropäische Zeit)"},"1899":{"submorphs":[{"__isSmartRef__":true,"id":1900}],"scripts":[],"id":"805E3C29-4227-4DE3-954D-799CB3C07879","shape":{"__isSmartRef__":true,"id":1905},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1906},"lighterFill":{"__isSmartRef__":true,"id":1911},"label":{"__isSmartRef__":true,"id":1900},"name":"Button","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1916},"attributeConnections":[{"__isSmartRef__":true,"id":1917}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":1940},"derivationIds":[7251,"BE69DA70-C9C3-4495-A6B5-413BD2FFA0D1","79FE3D3F-77C4-4B39-8243-D672185B416D","A4D2FEDF-2654-4381-AB43-8F89B9CA2E86","87E42FF6-3862-481D-97D6-643676E15F32","4F370A81-5A80-4821-8ECC-D52B56F31E15","1C6D1DC9-2F9B-4DC4-B453-1CA45B17C516","0E8EC0BF-934B-410B-AEC2-0ECA8C8F774D","97086CE7-CD46-4035-A371-02A41D555A66","E342B91D-F54B-4DA8-8AE7-10C59CE22B41","A838C48E-4033-4688-8DCF-20659BD824FF","E9BBC453-FFF6-4EE8-BDB0-605D5D4557AE","B6FB81D1-145B-40F9-ACF1-17276DA45EBA","09C79781-5461-4815-88DE-22FB67558136","85A5FA10-01D9-4051-8D56-29DB02CF8817","6E2F44D0-D69A-4DD7-91AD-0B0E1E871633","66FB4A47-82E6-417D-8248-4038D0CBBF5A","3CDC67E7-CAC7-4636-B7FF-50D008C6EB0D","4475CB12-8CFB-41DB-9399-EC6B68E18BA3","6175C505-1BCA-42E9-9C4C-07A4A309A245","B4FEE8FD-E680-459F-A82E-7606A48170D5","AC0B6630-E189-474B-A5E2-13726C1E0E6A","B5559DA4-1483-446C-8332-23DC886B44A5","955AF1F4-5BF5-4129-BA11-0DC54E21E510","6646015F-BD0A-4FEB-85F0-557FB8EC655A","A5682378-2307-447E-AD50-1DEC1AAC9FCB","1A04209F-A70E-4385-A6E2-D508EABC2DFC","EDA53C4F-765D-4424-9DBF-C62388440C46","C877D292-B4FE-42F3-AD5D-11AC5F084977"],"owner":{"__isSmartRef__":true,"id":1139},"layout":{"__isSmartRef__":true,"id":1941},"_ClipMode":"visible","_Rotation":0,"_Scale":0.994014980014994,"isPressed":false,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(72.0,-13.0)","_Position":"lively.pt(687.7,9.5)"},"1900":{"submorphs":[],"scripts":[],"id":"133865A7-6E61-459F-8FD2-DFEC53B1B3E1","shape":{"__isSmartRef__":true,"id":1901},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":1899},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":1902}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":1904},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"E0EF3EFE-3ADF-4E46-8705-7BF444E4BCED","307A3596-1175-4EA6-AA27-5BA4C9D95AB7","0EF99131-C569-4C2C-B613-E0D8423C1334","BA4EC8D2-AB29-4F9F-B5A0-715A4746A4C4","56735895-BA99-4D98-9866-AA5DBD86237E","81041CF7-31DB-4F65-BB39-FE438A4F266F","D03829B3-268E-40A0-A440-3E4BAC344F30","714637F0-714A-4833-909B-BA4AF1B4628B","DC956E73-7398-4CAF-B6F2-9A226E344396","C1F72D31-1F49-4C0C-ACF3-C3AD7E698D2F","39386C7E-9099-4159-BFE9-80AD37319211","2764FB6E-70D1-4BC5-B3CB-9979A48B8205","C55C8A7C-412C-453E-A99F-CE78C2AADB94","4BD9A8D4-2EC1-40AC-A1CE-5F1347B0152D","3450EAEB-E3D2-4FAF-98DF-354B3B8715D6","C906736E-48DF-4054-BA5A-A089610456D7","DE5C59FB-90A6-4DD4-AC39-5CC8B3912969","5830FB93-49A1-4A31-A687-69C4579D5FA7","AE9038D5-0EBD-40A0-8043-9689D163D108","13E47AE3-8FA4-4D33-B6D0-DC9AB9E63590","330AAB8C-6D17-4763-AACC-669FC5DD3A91","CA04BB7A-205C-412D-9900-C2DE7C5FAD36","37AADE55-77DE-4E93-9A3E-241BB5002F88","60EB450E-29D4-42B9-8FF7-CA138515052E","7D5C0196-98BF-4CCD-9142-3D29E68EE180","0F70CA1F-07A9-4EFA-872A-3255F9C850DC","7A2FAFFA-9A09-40FB-B04A-80B0B34C696B","85768439-7424-4BFE-8191-BCA51F70FE26"],"_MinTextWidth":97,"_MinTextHeight":null,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1901":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(101.0,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(2,2,0,0)"},"1902":{"style":{"__isSmartRef__":true,"id":1903},"chunkOwner":{"__isSmartRef__":true,"id":1900},"storedString":"run","_id":"_1369","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1903":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1904":{"morph":{"__isSmartRef__":true,"id":1900},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1905":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":1906},"_BorderRadius":5.2,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__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(101.0,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1906":{"stops":[{"__isSmartRef__":true,"id":1907},{"__isSmartRef__":true,"id":1908},{"__isSmartRef__":true,"id":1909},{"__isSmartRef__":true,"id":1910}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1907":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1908":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1909":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1910":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1911":{"stops":[{"__isSmartRef__":true,"id":1912},{"__isSmartRef__":true,"id":1913},{"__isSmartRef__":true,"id":1914},{"__isSmartRef__":true,"id":1915}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1912":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1913":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1914":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1915":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1916":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1917":{"sourceObj":{"__isSmartRef__":true,"id":1899},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1139},"targetMethodName":"runScript","visualConnector":{"__isSmartRef__":true,"id":1918},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1918":{"submorphs":[{"__isSmartRef__":true,"id":1919}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1926},"derivationIds":[null],"id":"C89B50A0-17E7-4D22-AE1D-5112520DAEE7","eventHandler":{"__isSmartRef__":true,"id":1929},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":1930},{"__isSmartRef__":true,"id":1931}],"con":{"__isSmartRef__":true,"id":1917},"showsMorphMenu":true,"showsHalos":false,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1932},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1919":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1920},"derivationIds":[null],"id":"2A71BE9E-6820-46AF-ACED-3C9BDCC918AF","eventHandler":{"__isSmartRef__":true,"id":1925},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":1918},"_Rotation":-3.130064002485303,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"1920":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1921},{"__isSmartRef__":true,"id":1922},{"__isSmartRef__":true,"id":1923},{"__isSmartRef__":true,"id":1924}],"_ClipMode":"visible","_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(16.0,12.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"1921":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1922":{"isAbsolute":true,"x":-12,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1923":{"isAbsolute":true,"x":4,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1924":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1925":{"morph":{"__isSmartRef__":true,"id":1919},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1926":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1927},{"__isSmartRef__":true,"id":1928}],"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(831.0,11.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1927":{"isAbsolute":true,"x":829.7085000406639,"y":9.565843617262885,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1928":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1929":{"morph":{"__isSmartRef__":true,"id":1918},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1930":{"morph":{"__isSmartRef__":true,"id":1918},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1931":{"morph":{"__isSmartRef__":true,"id":1918},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":1919},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1932":{"morphMenuItems":{"__isSmartRef__":true,"id":1933}},"1933":{"varMapping":{"__isSmartRef__":true,"id":1934},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString ||\n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter:\n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true,\n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(),\n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":1939},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1934":{"this":{"__isSmartRef__":true,"id":1918},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1935}},"1935":{"$super":{"__isSmartRef__":true,"id":1936}},"1936":{"varMapping":{"__isSmartRef__":true,"id":1937},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1938},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1937":{"obj":{"__isSmartRef__":true,"id":1918},"name":"morphMenuItems"},"1938":{},"1939":{},"1940":{"morph":{"__isSmartRef__":true,"id":1899},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1941":{"centeredHorizontal":false,"moveHorizontal":true},"1942":{"submorphs":[{"__isSmartRef__":true,"id":1943}],"scripts":[],"id":"5365FEE5-E83A-474D-89B5-EC2F292B3CBA","shape":{"__isSmartRef__":true,"id":1948},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1949},"lighterFill":{"__isSmartRef__":true,"id":1954},"label":{"__isSmartRef__":true,"id":1943},"name":"saveButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1959},"attributeConnections":[{"__isSmartRef__":true,"id":1960}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":1983},"derivationIds":[7251,"BE69DA70-C9C3-4495-A6B5-413BD2FFA0D1","79FE3D3F-77C4-4B39-8243-D672185B416D","A4D2FEDF-2654-4381-AB43-8F89B9CA2E86","D686F0CB-027B-4CA9-8B8D-9306389B219D","F51327CB-803E-4234-BFB3-6F5252D1C936","A79280E8-6AE3-4016-AF47-CE78F71924C6","B05829EB-D452-4D81-983B-E2CE425C8260","32B117E5-52D8-4843-B80E-090B9817E099","49AC923E-5272-4E3C-8F02-4F2AED2BC4E9","85AAEA9C-5E12-4DEC-8994-9A5FE655A740","2A7FF9BF-85D3-4962-8EB4-0F7016C672EB","3BB17748-B91B-43F5-84BE-2537402A6382","8BA10BD3-43C5-4A41-B9D9-DCD8C74EA208","8BADA640-EDC1-41B2-BEF3-0F2520EA25DD","CAFB5342-EFD3-483E-AE4A-343D211653EF","C3DC8C6F-A36C-4456-AF34-B0A318C1AAD8","88093937-29BB-43FC-AD82-4A0A4BDC349F","27E1FA12-CE4A-4C1F-891F-EEEF92BD672F","A12311D6-23C1-4711-9271-5B582F89F15B","F615015A-8BAE-4FC4-B9A4-D1D1122AC0A2","77333AB0-F43F-45D7-BAEE-8B9FF7865CAF","6A0E622E-4C99-42C1-8EEE-E659BFC2996E","D0264D42-222E-4900-908B-4EA13729B6AA","CC6A8A07-5A2D-407A-B540-6BA0C73356C5","FA68B30F-8583-41B2-898D-8DAFE1A75F15","D5C01E0F-F7DF-4896-8CEF-099C9F3E6CB8","B521A25F-FA55-4F6B-BAC1-0B2544DF98C1","C567F039-E57C-4C5E-AFAA-D05B2C481A69","3D4A4A11-9E45-4C87-9398-C3EBD8A53468"],"layout":{"__isSmartRef__":true,"id":1984},"owner":{"__isSmartRef__":true,"id":1139},"_ClipMode":"visible","_Rotation":0,"_Scale":0.9880657804942089,"isPressed":false,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(68.8,-14.5)","_Position":"lively.pt(574.4,9.5)"},"1943":{"submorphs":[],"scripts":[],"id":"8FAE7286-9878-4448-A1E0-7CD1AE089F14","shape":{"__isSmartRef__":true,"id":1944},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":1942},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":1945}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":1947},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"E0EF3EFE-3ADF-4E46-8705-7BF444E4BCED","307A3596-1175-4EA6-AA27-5BA4C9D95AB7","0EF99131-C569-4C2C-B613-E0D8423C1334","9AECBFB8-25A5-483F-86AD-D7CF9ABC9A25","918C6CC4-3540-4341-BAFD-B195F7807FEE","5AABB138-5EE8-40A5-AB3C-5A9625D0A353","4529D79B-4CC5-467E-91F8-661C3A5F49F8","1E5E570C-FD42-45E3-A7F6-768BB14ACD14","A13FB4E0-72F2-4E7C-A861-EDCBA1393860","B8E4C964-4FFF-4A9F-B0A9-612546B1DC8C","002A2173-D26D-4EED-8906-A489C1E158C0","63362D04-B829-41E6-9E68-5B8DB03D382F","996B60A4-8698-448F-A35F-79C768B4976B","F0727398-A1F0-47F5-92CF-BB9677FA05FA","38707063-D664-49A0-B2FB-F0666EC532D5","0402FB51-915F-4491-8FA1-553F0D8F7F35","5A35285D-C6A5-4830-97D9-0890A3F33F39","53121F0B-7DA5-4622-AC08-DD4805D53374","6C84E15D-112D-4C04-87C1-937691E296A7","4ECBD7E4-8B18-4331-8A37-07F4D8DCDCA0","3D4B43A2-AD74-4131-A939-D680216EDA6B","B22327BB-C876-4084-BEFA-4D06AE2B2849","2D34C2E9-76B8-49DC-9FCC-39B523CD0EF4","F098174A-AABC-4F95-8193-C29CA85D6188","714713CE-F5E8-4817-835F-99EA27075558","532DCEDE-C300-48C9-9DBA-58A1E02E1632","2F1C117F-2507-446D-8B43-9BD30AC726FB","74DABF7B-1E90-4D21-93D1-802BC208E9C7","4829579F-88C9-4E62-BE7F-E085AD1EC231"],"_MinTextWidth":97,"_MinTextHeight":null,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1944":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(101.0,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"1945":{"style":{"__isSmartRef__":true,"id":1946},"chunkOwner":{"__isSmartRef__":true,"id":1943},"storedString":"save","_id":"_1370","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1946":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1947":{"morph":{"__isSmartRef__":true,"id":1943},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1948":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":1949},"_BorderRadius":5.2,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__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(101.0,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1949":{"stops":[{"__isSmartRef__":true,"id":1950},{"__isSmartRef__":true,"id":1951},{"__isSmartRef__":true,"id":1952},{"__isSmartRef__":true,"id":1953}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1950":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1951":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1952":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1953":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1954":{"stops":[{"__isSmartRef__":true,"id":1955},{"__isSmartRef__":true,"id":1956},{"__isSmartRef__":true,"id":1957},{"__isSmartRef__":true,"id":1958}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1955":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1956":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1957":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1958":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1959":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1960":{"sourceObj":{"__isSmartRef__":true,"id":1942},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1374},"targetMethodName":"doSave","visualConnector":{"__isSmartRef__":true,"id":1961},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1961":{"submorphs":[{"__isSmartRef__":true,"id":1962}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1969},"derivationIds":[null],"id":"F46012D5-C8BE-4E52-BF98-D052FDAAE17A","eventHandler":{"__isSmartRef__":true,"id":1972},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":1973},{"__isSmartRef__":true,"id":1974}],"con":{"__isSmartRef__":true,"id":1960},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1975},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1962":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1963},"derivationIds":[null],"id":"A2A83C78-09B8-473C-829B-198206D7A9E4","eventHandler":{"__isSmartRef__":true,"id":1968},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":1961},"_Rotation":3.077607197692381,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(201.2,40.2)"},"1963":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1964},{"__isSmartRef__":true,"id":1965},{"__isSmartRef__":true,"id":1966},{"__isSmartRef__":true,"id":1967}],"_ClipMode":"visible","_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(16.0,12.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"1964":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1965":{"isAbsolute":true,"x":-12,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1966":{"isAbsolute":true,"x":4,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1967":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1968":{"morph":{"__isSmartRef__":true,"id":1962},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1969":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1970},{"__isSmartRef__":true,"id":1971}],"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(200.0,9.0)","_Extent":"lively.pt(480.0,32.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1970":{"isAbsolute":true,"x":679.4857209639925,"y":9.595948897894004,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1971":{"isAbsolute":true,"x":201.20421122525056,"y":40.24084224505009,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1972":{"morph":{"__isSmartRef__":true,"id":1961},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1973":{"morph":{"__isSmartRef__":true,"id":1961},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1974":{"morph":{"__isSmartRef__":true,"id":1961},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":1962},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1975":{"morphMenuItems":{"__isSmartRef__":true,"id":1976}},"1976":{"varMapping":{"__isSmartRef__":true,"id":1977},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString ||\n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter:\n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true,\n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(),\n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":1982},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1977":{"this":{"__isSmartRef__":true,"id":1961},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1978}},"1978":{"$super":{"__isSmartRef__":true,"id":1979}},"1979":{"varMapping":{"__isSmartRef__":true,"id":1980},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1981},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1980":{"obj":{"__isSmartRef__":true,"id":1961},"name":"morphMenuItems"},"1981":{},"1982":{},"1983":{"morph":{"__isSmartRef__":true,"id":1942},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1984":{"centeredHorizontal":false,"moveHorizontal":true},"1985":{"submorphs":[{"__isSmartRef__":true,"id":1986}],"scripts":[],"id":"CE83D235-1A72-4189-A150-58814E437593","shape":{"__isSmartRef__":true,"id":1991},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1992},"lighterFill":{"__isSmartRef__":true,"id":1997},"label":{"__isSmartRef__":true,"id":1986},"name":"openTestsButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2002},"attributeConnections":[{"__isSmartRef__":true,"id":2003}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":2004},"derivationIds":[7251,"84054D2E-8176-440D-B413-279956A34FC2","79434046-F834-490E-B705-0CE871D9E8B3","FF38CA79-C0DF-4F2F-8FC3-407571EF6A54","B1D50332-9F4F-4F7C-AC3F-95DC6C73EAA4","5B8D7C39-987A-4849-BFFD-3F316CE03852","F7C30F5C-7270-44B1-ADFF-7473F2012DB0","5142302E-3E9A-476B-AB24-B2448DA6D3E4","FEA3C508-593D-4BC7-B645-8B5630CF2EDE","34DBC442-E1DE-42D7-8C63-BA9A1890C994","4F9067A3-5A5C-4637-A76F-7E590CEE2BDA","ADF74818-537A-4669-A455-9509BA7BD7E5","AFCD7FA7-5429-4B1A-B8B8-AB03C18ABA08","604C352D-0347-4329-A299-EAA3FF90B543","46C5ED11-DE03-428F-A758-5308B3D323B5","7C978B2A-9109-42E1-95C5-A59CC74BD31B","2D34E370-3EA6-48DD-B3A7-FE7EB1CCD78D","A0B7F880-0D72-475C-A002-2EAA7D20C004","1146967F-5295-4931-9637-CF72A6A6D724","775F3066-BB4B-4673-B529-500522EF5165","F01F4895-6DEF-4C26-9CEC-A569AEDD22E6","DDD1C856-9C9F-4CB1-A795-E083B7214E82","51E21302-B2D2-49D0-82D9-D964A6B3C54F","BC9DA8C7-933D-4140-96D3-1E7ADEEC8D69","26FA6101-FD83-4A6D-BA08-839ADCA2E33A","43BD3A17-F549-4B6B-8D78-0F84AFE3A168"],"owner":{"__isSmartRef__":true,"id":1139},"_ClipMode":"visible","_Rotation":0,"_Scale":0.9940149800149939,"isPressed":false,"layout":{"__isSmartRef__":true,"id":2005},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(468.5,9.0)","distanceToDragEvent":"lively.pt(72.1,-12.5)"},"1986":{"submorphs":[],"scripts":[],"id":"4FDC8050-E9F4-485C-97CF-DDCEBF66C493","shape":{"__isSmartRef__":true,"id":1987},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":1985},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":1988}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":1990},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"0A0A6CB1-BD92-4F39-A425-2EB3D2D4CBA2","CB475566-05CE-43E2-B04D-EE32BC4CB718","6BB077CE-92E6-47BE-BE88-9A48488562D1","9E359973-2FDB-417B-BB06-AB34D52BD310","58F098ED-A190-44F2-B73E-80802B2CF2F6","AEA84B35-B349-4307-92C6-8F229705DFC2","A677CADF-24FF-4177-9A3A-FE9AAE7D60FE","0F875AD9-E54C-4735-9BA9-7B89574233A1","840EBE92-3BC2-42EC-819E-3CD002576490","78C4969D-2C33-4B17-9027-89B411B9F496","C9A3D112-C2BC-43A3-A3CA-A68F41A0E4CF","78CF2F1A-6697-4D03-AB2B-CAF862B4EDD6","8B416918-CA4B-46D1-8A3C-40F8A754E44D","01510710-A85B-4054-B0ED-7F2F02434806","8ABD23FB-E90C-4EEB-BF53-DF3C6ACF2BD4","87607080-4A72-484D-A5BD-5F67D468505F","F0E39FE9-F71C-4587-B25A-C4D2C29FE579","BA2AB73A-3967-4F9E-8828-8A638E521B31","5ECC4D2F-4996-403F-AF14-BD1F4BB720F6","54B08934-6893-4B80-8625-B60ABCE9CBC6","4808CF23-17EA-43D8-AE10-DAB21C642FA8","0813DF8A-CC9E-435B-B5A1-DF68BF226F37","047C4EE2-26A1-4AA7-9CE9-E8FF9A9D863B","728334BD-34B0-44FA-A778-2696AA82FEFA","7354635C-DC38-4BE3-9F56-070CE37B65EF"],"_MinTextWidth":97,"_MinTextHeight":null,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1987":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(101.0,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(2,2,0,0)"},"1988":{"style":{"__isSmartRef__":true,"id":1989},"chunkOwner":{"__isSmartRef__":true,"id":1986},"storedString":"Tests","_id":"_1371","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1989":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1990":{"morph":{"__isSmartRef__":true,"id":1986},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1991":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":1992},"_BorderRadius":5.2,"_ClipMode":"visible","_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(101.0,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1992":{"stops":[{"__isSmartRef__":true,"id":1993},{"__isSmartRef__":true,"id":1994},{"__isSmartRef__":true,"id":1995},{"__isSmartRef__":true,"id":1996}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1993":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1994":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1995":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1996":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1997":{"stops":[{"__isSmartRef__":true,"id":1998},{"__isSmartRef__":true,"id":1999},{"__isSmartRef__":true,"id":2000},{"__isSmartRef__":true,"id":2001}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1998":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1999":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2000":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2001":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"2002":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2003":{"sourceObj":{"__isSmartRef__":true,"id":1985},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1139},"targetMethodName":"openPartTestRunner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2004":{"morph":{"__isSmartRef__":true,"id":1985},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2005":{"moveHorizontal":true},"2006":{"submorphs":[{"__isSmartRef__":true,"id":2007},{"__isSmartRef__":true,"id":2014}],"scripts":[],"id":"C972E7AB-B8A7-4A45-A22C-34CA2DBAFFD3","shape":{"__isSmartRef__":true,"id":2017},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2023},"lighterFill":{"__isSmartRef__":true,"id":2028},"label":{"__isSmartRef__":true,"id":2007},"name":"MagnifierButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2033},"attributeConnections":[{"__isSmartRef__":true,"id":2036}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":2037},"derivationIds":[2588,"22797D34-67DE-4A06-81F0-4DF0A87ADBBC","81CB4C12-BCF0-4097-8B6D-D9419046367A","0767A57D-9BB2-48C6-9654-753D2B9D00A6","42871246-6725-4E41-A2C1-5A5BCF041097","BCE6E775-B5DF-4D6B-9F06-CDC02C1B1D0F","797EC165-A639-42D9-A059-669F6BEB92A7","FA498EFD-E50E-4CE0-9FA8-9AE2E8AE9580","4B68C371-CB37-45B4-910A-611E5FFC23DD","94E374B9-7ED4-4E39-96F1-6FD4E7AC3428","34D63515-7CC7-43FB-B7BB-87AFCA377D63","7E0B172C-0AF5-4C6E-B184-25A8FAE4FAB8","12239D52-D3D3-4713-BC3E-F0B95C488CB7","72559D92-4616-45A9-A0F2-72BA4147C0FB","E86C7328-AF24-4881-84AF-B7C7CEFEAE14","22D731CF-38F0-41CC-B125-74D2842ED847","B58A1A30-782E-4675-A276-2C01D35BEC70","ACEABA6D-071C-46C2-A325-BE30189AA45F","686443AE-DCDC-4998-8A39-48BC57D64FDC","8D660766-7C93-404C-9D92-B12CBF59A3CE","20DF1A18-6F2B-4D66-9110-75EB343C3C61"],"_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":1139},"_Rotation":0,"_Scale":0.9920279440699439,"highlightRectangle":{"__isSmartRef__":true,"id":2038},"isPressed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2112},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(424.5,8.5)","distanceToDragEvent":"lively.pt(37.9,-7.9)"},"2007":{"submorphs":[],"scripts":[],"id":"9BBB5DF4-A22B-4F7B-A9B6-CDDB927808D3","shape":{"__isSmartRef__":true,"id":2008},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":24,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":2006},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":2009},{"__isSmartRef__":true,"id":2011}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":2013},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"024C5ADE-C4CF-4E8E-BEC5-F93AD4839702","A2CC4D56-B9D8-4A48-B6FF-DDDD85ACDC2E","5AC5C4DE-00B0-43DB-B7F1-765674CE818B","750A11C6-766E-4B48-AE32-D71DE811EB4A","66A7B56E-A94E-44AE-8AED-C0C1B07554D4","CA8596D3-2D4F-453B-BE1B-DCEC8F85389B","4D7DC32F-79CB-4AF8-8B21-AB4F1809D4A8","439DE430-7651-470E-97D8-00E7F96B04DA","DAC920E6-217B-4515-AC09-2F9DCBA7375C","BD48C003-0502-451D-B6AA-7369FF3D1030","C3B8F4EA-3F44-47F4-B569-A0D5AB263BA0","BF7F0FA3-3F2A-4EEF-9687-BE2B0635DF13","3D7AEAC1-C9DD-4941-BA46-16F6783F5699","E04A78F9-3D6E-403F-BA8D-2583FCFFCE53","47E1F29B-6896-467D-8654-CA18929AE57A","509D86FF-5400-4374-BE79-90F0A7E3E90C","C7E53EE0-065A-4C59-8D13-311566722BB7","BA078BAC-7263-4B10-AFD3-3C4EA0DD8707","BCFE28D1-A115-453E-9116-EECC8FE1D50F","A354FF2E-BD85-429A-97C2-254D6033F50C"],"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":24,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"2008":{"_BorderWidth":0,"_Fill":null,"__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(24.0,24.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"2009":{"style":{"__isSmartRef__":true,"id":2010},"chunkOwner":{"__isSmartRef__":true,"id":2007},"storedString":"","_id":"_1372","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2010":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2011":{"style":{"__isSmartRef__":true,"id":2012},"chunkOwner":{"__isSmartRef__":true,"id":2007},"storedString":"","_id":"_1373","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2012":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2013":{"morph":{"__isSmartRef__":true,"id":2007},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2014":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2015},"derivationIds":[null,"29E543E0-AE93-493A-A694-FC1C330D0544","F0366E4C-E97F-4C77-BEE4-340A0668ADD5","347F6028-5092-4F54-9A34-3EFF3FF0B815","BF7387E7-BCD7-4A5B-B9D2-C14ECF59EFCA","85BA370B-966E-41F7-8C2F-F3A926EC2AA2","1652172B-339A-43A1-9589-70E68B35A28E","705524F7-129B-4102-834E-2A1A45985BB5","5707DF70-CD77-4D53-96ED-5A0AEB227FB7","257E62CE-C668-4317-B5B7-8D394BDC3F6C","2DD4BEA5-E85A-4CD0-953E-9EB2E0735654","BB96B696-7BD4-44C4-9D60-B1551B89D6FA","FCAABC48-FBAF-4E12-8BC9-AC4ACB5A167B","EB81C4D7-5BD8-4DAC-BD70-8675E2338AAC","1DBAE3FF-B2F6-4348-8E06-81139C138D6E","49E7D450-EF74-4E94-B33B-B888D952F3BD","F0B267C4-54BA-4E6F-BFDD-4B047F4FF41A","36B8611D-B449-4F6E-8D0F-B5FD6406D45D","779DB518-01BD-4D32-AD65-BFED801E5D06","F47D501C-3750-4F0D-A2E1-E1B9CDA8368C"],"id":"34D3DA23-E481-432F-BC1A-495FD3A7D182","eventHandler":{"__isSmartRef__":true,"id":2016},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":2006},"name":"leftpointing_magnifying_glass.png","isBeingDragged":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"eventsAreDisabled":true,"_HandStyle":"default","_PointerEvents":"none","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-3.0,0.0)","distanceToDragEvent":"lively.pt(39.9,-9.0)"},"2015":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAABAAAAAQBPJcTWAAAALnRFWHRUaXRsZQBMRUZULVBPSU5USU5HIE1BR05JRllJTkcgR0xBU1MgKFUrMUY1MEQpw88haQAAABV0RVh0QXV0aG9yAEFuZHJldyBNYXJjdXNl5zc3gwAAAC90RVh0U29mdHdhcmUAaW5mby5maWxlZm9ybWF0LmRhdGEuVW5pY29kZVBuZ1NlcnZsZXRoAX8wAAAAQ3RFWHREZXNjcmlwdGlvbgBodHRwOi8vd3d3LmZpbGVmb3JtYXQuaW5mby9pbmZvL3VuaWNvZGUvMWY1MGQvaW5kZXguaHRtk2hNQgAAADt0RVh0Q29weXJpZ2h0AGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzIuMC9siJKDAAAIDklEQVR42u1daWxVRRQeCi0tIqCAQCTIUtEIGlk0ilqEkEbiQhSKGAyCooIIggsiQuMWZNGwVMUFNIhKZBMobZClgK1FwAU3wIpSREDcUFZFEM/JOzf3vPHet9ze1/eYe77k+zNzl5nz3ZlzZntPKYFAcHojDXimmKH6cQbwZuBM4HLgx8A9wBPAU8BjwJ3ADcDFwMnArsCaYjr/0BB4DwlwjAwfL38DzgX2AdYWk3pDJnAM8E/NuN8BpwEHAq8DXgpsCswANgN2APak/BeBu7T7sQX1A9YQE8fuDwYAf2BG/JrEaefxmSjaeOAO9syNwBwxd2Q0o/7fMhr6h8Fx+oBIX346cATwF/aON6Qbc0ZH4G4y0lHgOGAdD8/Be/KAs4AFwKsdrqkHnAA8Tu8rAzYWCWz0Bh5hraKTT11fL+AH1FXlA8/SrsEu61fmW9qLFEqNAv5LRsEw9twEvKMzcAvwJ3LoHG2AW+n9B4HdgixGHhNjiccuKlbUp9aC7yoGnqflraa8A8C2QRTjMvIVaITyKI61BjnkqiILWEjvPAwcxvLqAj+nvAqH7s1oNAfupcpjeNskhnvQOQ/xYfxQCziHRVl3sjxsNfspvYSuNR4Ywn5ClT5CA7lYkUPRU0YVy4CivkVlOE7TKxa6AP+ivKlBEORe9nUO8XD/QhWay6oqmlK3dYoirTYs70FK/wd4ocli1KVIByu7XXmb9BsOPEmj76riSfZxbAM2oPQMmqLB9GUmC/I0M8AtHp9xCd3/rM8fCHISy+vH0ruaOi3Coyqv6ETPKPSpXEOZ4X9XoSl+y89sovTNJgoyklW8rw8+aKFP5apFo3SrbMNcWsnFpgmylkU19R3yY4mc0mk0j88Z62PZ5jHDV7DQugE5dkx/3CQxzlb2qt6aCF1HtJH6BHoGju4v97F8+Sp8zeRGlldCaZtMEmQAq+zICL5hpUvrwfXy19gzZvhcvj6aILNZ3ij2ETQzRZA3WWU7RrgOfQsu05YCnyLxcFS9h91fTlMgfqKdJsg6lteBpQ8wRZASVqmmUa7txvwEJ/qe8SoxGxYymK+wpnMsNGHpxviRbVShkzEatAb5iEHUSrqzQVuiUMkMf5IFGWnM/71giiAHqEL7U7iMf2gtkk/B7/M51E4qMlklvzwNymgxl+VvobQPTRCkMavkDpaelkJlbOkgyDUsv0LZu19Oe/A++BBLvyIB0ZJX9HIQhHdZBymt1BQfso9V1Jorag28PUXKN8tBkHqUV4elLTJFkM9YpVqzllOcAmXDiG6vJsZhlt+Kpc80RZBiF2eJK4fZSS5bd4fWUcTyc1n6Y6YIMpVVii+LTgFOTHLZNjoIMpTlT2fpXUwRpIcKn021gHuwcDN0ss525Cnn3fIt2DXfK3vPljGbHtK1gdcFmkNdkYTK4gz0Tgcxytg1fI6rUBkGvubA54Ta0lTFK9VYFhS/xKV18PEHX3MfYpogfPUND9DwuamFlP5oNZXlZRcxlmsDWutsCl/aNQYZWhfBnTlOceNsLq459E1wyyhwEeNvFb7ZusClrEbhNlbJoyp8Y3UejehxPWS08v/MBrbIlcr92BvfwZit7KMKOC3f3FRBcBC2mRlBnz0dpOzN17gvqrdP7+2p7PkoJz7Hrq2pCfeqMhzXasbI1/KHa/m4Y93reRFcU1mrIh8IXaLCJzpnsLyfKRozHrNZpbFF9NHyx2pGw2tWAZ8H3gW8UjmvvWdSlIQb3raq6Kdzp6vwBbOhWn5/FRCggy9lFcdN1521ax5Q0Y9B41o7nkn8Rv1/gSkS0T/crb0vV4Uv465UAUNjLerCkfAN2jUXKef19apwnYP4AynK4tfNU6m1ZlMtaK/stQZrLXu0Q6g6OIpTjoVfAK/Xnp1GDp1fhy0th1rwHLqmEbXYHkEQJYcGitwouG2onoPx0Ne8q+yDmtGIs8lPUFCgH/Q5R4XPQlt8nfKzKB9/ouNHLT/ddFEw7t+uGQbPko90GY+gOHgcoRc5+YeBj1DY3JPyGrq8qy6JdMhBDAyz8azhZLq2JRuP4HE3a6f8KhNH7k4Dt9UORqoE3qGqfiAUo7L7lX1kjfMd4H0UHGTTFMpLzH8VUAS3iN2znsQ1GugvprCvkvMYdSFouBYxPu98FdoKusblmZXUoiz0J1FuYgPUfCrXAof7S4MgimXIRVH8wwHq5vBLna9Cs8ULyEgVWrCg8zAJ79TtjGDXjSMx5kd4Fk7XB+a3uq5Sob1QfoW86JzxR2zcjjyj3/mKTafUpCAi2nPLVcB+QA379YdoGuWEBxEwars1hujIOpZQQS1jWhzvKXeIDAOBRhT+YgQ2kcYK71NLwgOauAKJ50jwpFW8J2jHKHvLKwYBuENmVxyibAiqKIlCOkVY1g8HZHkQ5SOXeTaBR9RW9vT7agp34xVlo4jiL7KoG0TjriCR4hVlk0r8EYrAtZQiZa+14wx1qzhF2Syi+C+K5VOWko8RUVJIlPc8irIhKCP6ZItSqeJbh8kSU/qHDCbKMuZT4hFlrpgxcaIUUcuJR5TdYsLEiFLIQuLMOESZJOZLnCjLyMhrabqkZRRR1qsArDQmW5SlZOxPVWhJ2E2UNRJlVQ/wi19CRv9WhXbJoCh8zb+IujVBNYqymIyPP55ZxsQoVvK78kkBrp28rXVThSJGcoE7YZ5RoTMlc8SBpw7kj2IEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgSAZ+A+0ucC4BysctgAAAABJRU5ErkJggg==","_NodeClass":["image"],"_NodeId":"29E543E0-AE93-493A-A694-FC1C330D0544","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(29.0,29.0)","_Padding":"lively.rect(0,0,0,0)"},"2016":{"morph":{"__isSmartRef__":true,"id":2014},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2017":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":2018},"_BorderRadius":5.2,"__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(24.0,24.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"2018":{"stops":[{"__isSmartRef__":true,"id":2019},{"__isSmartRef__":true,"id":2020},{"__isSmartRef__":true,"id":2021},{"__isSmartRef__":true,"id":2022}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2019":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2020":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"2021":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"2022":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"2023":{"stops":[{"__isSmartRef__":true,"id":2024},{"__isSmartRef__":true,"id":2025},{"__isSmartRef__":true,"id":2026},{"__isSmartRef__":true,"id":2027}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2024":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2025":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2026":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2027":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"2028":{"stops":[{"__isSmartRef__":true,"id":2029},{"__isSmartRef__":true,"id":2030},{"__isSmartRef__":true,"id":2031},{"__isSmartRef__":true,"id":2032}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2029":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"2030":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2031":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2032":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"2033":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"ScriptableButton","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":2034}],"revisionOnLoad":154251,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2034":{"date":{"__isSmartRef__":true,"id":2035},"author":"robertkrahn","message":"no comment","id":"0366C0A2-0C8E-4AEB-AAC3-120434134545"},"2035":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:10:10 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2036":{"sourceObj":{"__isSmartRef__":true,"id":2006},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2006},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2037":{"morph":{"__isSmartRef__":true,"id":2006},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2038":{"submorphs":[],"scripts":[],"id":"364FF344-E489-461B-BC8C-ED45E4823ED4","shape":{"__isSmartRef__":true,"id":2039},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"HighlightRectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":2040},"eventHandler":{"__isSmartRef__":true,"id":2081},"attributeConnections":[{"__isSmartRef__":true,"id":2082},{"__isSmartRef__":true,"id":2083},{"__isSmartRef__":true,"id":2084}],"doNotSerialize":[],"doNotCopyProperties":[],"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","6FECB598-D130-4242-BF1B-E18767608129","0B23F218-078F-4912-A262-31B957885F41","C56BA290-B836-4946-B4EF-DBB6FBA2368C","61176BAF-CFE6-4F2C-9F0A-971AAD6595A1","CB4127B2-0AA5-4B50-9978-F1FF39924A82","113050BB-CF0E-4193-91C6-9C25FC857EE8","EFF939E4-317B-4662-943F-77A6E6F65BD0","AA288E7F-3972-4F0D-87DD-61E4BD9C9C97","903E8C60-1158-42D5-85D2-DF134DA6CEC1","28FD6210-A549-4A11-9178-04E77FF556C0","B3312E29-D786-469F-865E-91FD69475A52","D947A1C1-DCBE-4485-A33D-DF549F6978E0","56CE0E60-45BE-43FF-9C6C-296D8AC326B6","CC61E3F8-8C8D-4F24-A591-023D3C88DEC8"],"partTests":{"__isSmartRef__":true,"id":2086},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"prevScroll":[0,0],"#startLetters":"","eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","_Rotation":0,"_Scale":1.0060210561262526,"owner":null,"magnifierButton":{"__isSmartRef__":true,"id":2006},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2091},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(40.0,4131.0)","distanceToDragEvent":"lively.pt(44.0,-14.0)"},"2039":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.2597,"_BorderStyle":"hidden","__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(775.0,471.0)","_BorderColor":"Color.rgb(204,0,0)","_Fill":"Color.rgb(58,0,255)","_Padding":"lively.rect(0,0,0,0)"},"2040":{"partsSpaceName":"PartsBin/Tools","comment":"A rectangle which highlights the object under the first hand of the world","migrationLevel":4,"partName":"HighlightRectangle","changes":[{"__isSmartRef__":true,"id":2041},{"__isSmartRef__":true,"id":2043},{"__isSmartRef__":true,"id":2045},{"__isSmartRef__":true,"id":2047},{"__isSmartRef__":true,"id":2049},{"__isSmartRef__":true,"id":2051},{"__isSmartRef__":true,"id":2053},{"__isSmartRef__":true,"id":2055},{"__isSmartRef__":true,"id":2057},{"__isSmartRef__":true,"id":2059},{"__isSmartRef__":true,"id":2061},{"__isSmartRef__":true,"id":2063},{"__isSmartRef__":true,"id":2065},{"__isSmartRef__":true,"id":2067},{"__isSmartRef__":true,"id":2069},{"__isSmartRef__":true,"id":2071},{"__isSmartRef__":true,"id":2073},{"__isSmartRef__":true,"id":2075},{"__isSmartRef__":true,"id":2077},{"__isSmartRef__":true,"id":2079}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2041":{"date":{"__isSmartRef__":true,"id":2042},"author":"timfelgentreff","message":"no comment","id":"3DB7DB40-210A-4BED-91FD-9287005703EC"},"2042":{"isSerializedDate":true,"string":"Thu May 24 2012 17:04:54 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2043":{"date":{"__isSmartRef__":true,"id":2044},"author":"tessi","message":"no comment","id":"23D7AA12-66A9-4C3B-B494-131256C291AC"},"2044":{"isSerializedDate":true,"string":"Thu May 24 2012 16:57:13 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2045":{"date":{"__isSmartRef__":true,"id":2046},"author":"tessi","message":"no comment","id":"2C30B7CA-388F-4F51-B4CF-A2E50E381148"},"2046":{"isSerializedDate":true,"string":"Thu May 24 2012 16:23:11 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2047":{"date":{"__isSmartRef__":true,"id":2048},"author":"tessi","message":"diable events","id":"7C1F71A3-FDAC-470A-B9A9-E1F2C9FEF18E"},"2048":{"isSerializedDate":true,"string":"Thu May 24 2012 14:46:08 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2049":{"date":{"__isSmartRef__":true,"id":2050},"author":"tessi","message":"no comment","id":"01996A33-11BC-4C15-96D7-B7D219E2E961"},"2050":{"isSerializedDate":true,"string":"Thu May 24 2012 14:39:50 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2051":{"date":{"__isSmartRef__":true,"id":2052},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"2052":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2053":{"date":{"__isSmartRef__":true,"id":2054},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"2054":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2055":{"date":{"__isSmartRef__":true,"id":2056},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"2056":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (Mitteleuropäische Zeit)"},"2057":{"date":{"__isSmartRef__":true,"id":2058},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"2058":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (Mitteleuropäische Zeit)"},"2059":{"date":{"__isSmartRef__":true,"id":2060},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"2060":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (Mitteleuropäische Zeit)"},"2061":{"date":{"__isSmartRef__":true,"id":2062},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"2062":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2063":{"date":{"__isSmartRef__":true,"id":2064},"author":"tessi","message":"no comment","id":"4B982A01-25B3-455A-848D-89C2C3C471D7"},"2064":{"isSerializedDate":true,"string":"Thu May 24 2012 13:58:01 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2065":{"date":{"__isSmartRef__":true,"id":2066},"author":"tessi","message":"no comment","id":"2FD6CB7B-3BC7-4666-98B4-AACF1001954D"},"2066":{"isSerializedDate":true,"string":"Thu May 24 2012 14:07:32 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2067":{"date":{"__isSmartRef__":true,"id":2068},"author":"tessi","message":"no comment","id":"09CF5ECF-2C87-4B66-A164-39848628596F"},"2068":{"isSerializedDate":true,"string":"Thu May 24 2012 15:34:59 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2069":{"date":{"__isSmartRef__":true,"id":2070},"author":"tessi","message":"no comment","id":"252A3EB5-DB00-4CF9-BF38-2927DD1C5229"},"2070":{"isSerializedDate":true,"string":"Thu May 24 2012 16:34:29 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2071":{"date":{"__isSmartRef__":true,"id":2072},"author":"tessi","message":"no comment","id":"81534551-62C1-4FC9-96CB-A5AC6642CA1E"},"2072":{"isSerializedDate":true,"string":"Thu May 24 2012 16:45:49 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2073":{"date":{"__isSmartRef__":true,"id":2074},"author":"tessi","message":"no comment","id":"5125DE3A-D50E-4621-8490-F3A9D99C2C4C"},"2074":{"isSerializedDate":true,"string":"Thu May 24 2012 16:47:20 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2075":{"date":{"__isSmartRef__":true,"id":2076},"author":"tessi","message":"no comment","id":"C81A2FBF-CB0B-4A0B-9D63-F9AEDFCB5DA6"},"2076":{"isSerializedDate":true,"string":"Thu May 24 2012 16:51:06 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2077":{"date":{"__isSmartRef__":true,"id":2078},"author":"tessi","message":"no comment","id":"DC8EF5EC-7563-45B6-816D-20E2DC218525"},"2078":{"isSerializedDate":true,"string":"Thu May 24 2012 16:52:10 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2079":{"date":{"__isSmartRef__":true,"id":2080},"author":"timfelgentreff","message":"no comment","id":"E7515DFB-DE7D-4E1F-A2C3-85166DCE4942"},"2080":{"isSerializedDate":true,"string":"Thu May 24 2012 16:59:39 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2081":{"morph":{"__isSmartRef__":true,"id":2038},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2082":{"sourceObj":{"__isSmartRef__":true,"id":2038},"sourceAttrName":"onMouseMove","targetObj":{"__isSmartRef__":true,"id":2038},"targetMethodName":"updateOnMove","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2083":{"sourceObj":{"__isSmartRef__":true,"id":2038},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":2006},"targetMethodName":"removeHighlighting","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2084":{"sourceObj":{"__isSmartRef__":true,"id":2038},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":1139},"targetMethodName":"setTarget","converterString":"function () {\n return this.sourceObj.morphUnderCursor();\n }","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2085},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2085":{"source":{"__isSmartRef__":true,"id":2038},"target":{"__isSmartRef__":true,"id":1139}},"2086":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2087}},"2087":{"test01IsMorph":{"__isSmartRef__":true,"id":2088}},"2088":{"varMapping":{"__isSmartRef__":true,"id":2089},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":2090},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2089":{"this":{"__isSmartRef__":true,"id":2086}},"2090":{},"2091":{"update":{"__isSmartRef__":true,"id":2092},"updateOnMove":{"__isSmartRef__":true,"id":2096},"bringToFront":{"__isSmartRef__":true,"id":2100},"morphUnderCursor":{"__isSmartRef__":true,"id":2108}},"2092":{"varMapping":{"__isSmartRef__":true,"id":2093},"source":"function update(morphUnderCursor) {\n if (morphUnderCursor === this.magnifierButton ||\n this.magnifierButton.submorphs.include(morphUnderCursor)) {\n morphToHighlight = this.magnifierButton.currentTarget();\n } else {\n morphToHighlight = morphUnderCursor;\n }\n\n if (morphToHighlight && morphToHighlight.world()) {\n this.setPosition(morphToHighlight.getPositionInWorld());\n this.setExtent(morphToHighlight.getExtent());\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2094},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2093":{"this":{"__isSmartRef__":true,"id":2038}},"2094":{"timestamp":{"__isSmartRef__":true,"id":2095},"user":"lauritz","tags":[]},"2095":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:29:58 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2096":{"varMapping":{"__isSmartRef__":true,"id":2097},"source":"function updateOnMove() {\n this.update(this.morphUnderCursor());\n this.bringToFront();\n}","funcProperties":{"__isSmartRef__":true,"id":2098},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2097":{"this":{"__isSmartRef__":true,"id":2038}},"2098":{"timestamp":{"__isSmartRef__":true,"id":2099},"user":"lauritz","tags":[]},"2099":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:33 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2100":{"varMapping":{"__isSmartRef__":true,"id":2101},"source":"function bringToFront() {\n this.renderContext().morphNode.style.zIndex= 1000;\n}","funcProperties":{"__isSmartRef__":true,"id":2106},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2101":{"this":{"__isSmartRef__":true,"id":2038},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2102}},"2102":{"$super":{"__isSmartRef__":true,"id":2103}},"2103":{"varMapping":{"__isSmartRef__":true,"id":2104},"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":2105},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2104":{"obj":{"__isSmartRef__":true,"id":2038},"name":"bringToFront"},"2105":{},"2106":{"timestamp":{"__isSmartRef__":true,"id":2107},"user":"lauritz","tags":[]},"2107":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:12:09 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2108":{"varMapping":{"__isSmartRef__":true,"id":2109},"source":"function morphUnderCursor() {\n var that = this,\n world = lively.morphic.World.current(); \n \n return world.morphsContainingPoint(world.firstHand().getPosition()).detect(\n function(ea) {\n return !ea.isPlaceholder &&\n !ea.isHalo &&\n (!ea.owner || !ea.owner.isHalo) &&\n !(ea === that);\n });\n}","funcProperties":{"__isSmartRef__":true,"id":2110},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2109":{"this":{"__isSmartRef__":true,"id":2038}},"2110":{"timestamp":{"__isSmartRef__":true,"id":2111},"user":"lauritz","tags":[]},"2111":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:36 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2112":{"onFire":{"__isSmartRef__":true,"id":2113},"removeHighlighting":{"__isSmartRef__":true,"id":2117},"onMouseMove":{"__isSmartRef__":true,"id":2121},"onMouseOut":{"__isSmartRef__":true,"id":2129},"reset":{"__isSmartRef__":true,"id":2137},"isTracking":{"__isSmartRef__":true,"id":2141},"isHighlighting":{"__isSmartRef__":true,"id":2145},"currentTarget":{"__isSmartRef__":true,"id":2149}},"2113":{"varMapping":{"__isSmartRef__":true,"id":2114},"source":"function onFire() {\n var hand = lively.morphic.World.current().firstHand(),\n highlight = this.highlightRectangle,\n that = this;\n\n if (this.isTracking()) {\n this.removeHighlighting();\n } else {\n this.world().addMorph(highlight);\n hand.highlightConnection = connect(hand, \"scrollFocusMorph\", highlight, \"update\");\n highlight.bringToFront();\n if (!this.currentTarget() || !this.currentTarget().world()) {\n highlight.setExtent(pt(0,0));\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2115},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2114":{"this":{"__isSmartRef__":true,"id":2006}},"2115":{"timestamp":{"__isSmartRef__":true,"id":2116},"user":"lauritz","tags":[]},"2116":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:40:51 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2117":{"varMapping":{"__isSmartRef__":true,"id":2118},"source":"function removeHighlighting() {\n var hand = this.world().firstHand();\n \n if (this.highlightRectangle) {\n this.highlightRectangle.remove();\n }\n \n hand.attributeConnections.removeAt(\n hand.attributeConnections.indexOf(hand.highlightConnection));\n hand.highlightConnection = null;\n}","funcProperties":{"__isSmartRef__":true,"id":2119},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2118":{"this":{"__isSmartRef__":true,"id":2006}},"2119":{"timestamp":{"__isSmartRef__":true,"id":2120},"user":"lauritz","tags":[]},"2120":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:30 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2121":{"varMapping":{"__isSmartRef__":true,"id":2122},"source":"function onMouseMove(evt) {\n var target = this.currentTarget();\n if (target && target.world() && !this.isHighlighting()) {\n this.highlightRectangle.update(target);\n this.world().addMorph(this.highlightRectangle);\n this.highlightRectangle.bringToFront();\n this.targetHighlight = this.highlightRectangle;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2127},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2122":{"this":{"__isSmartRef__":true,"id":2006},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2123}},"2123":{"$super":{"__isSmartRef__":true,"id":2124}},"2124":{"varMapping":{"__isSmartRef__":true,"id":2125},"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":2126},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2125":{"obj":{"__isSmartRef__":true,"id":2006},"name":"onMouseMove"},"2126":{},"2127":{"timestamp":{"__isSmartRef__":true,"id":2128},"user":"lauritz","tags":[]},"2128":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:25:52 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2129":{"varMapping":{"__isSmartRef__":true,"id":2130},"source":"function onMouseOut() {\n if (this.isHighlighting()) {\n if (!this.isTracking()) {\n this.targetHighlight.remove();\n }\n delete this.targetHighlight;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2135},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2130":{"this":{"__isSmartRef__":true,"id":2006},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2131}},"2131":{"$super":{"__isSmartRef__":true,"id":2132}},"2132":{"varMapping":{"__isSmartRef__":true,"id":2133},"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":2134},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2133":{"obj":{"__isSmartRef__":true,"id":2006},"name":"onMouseOut"},"2134":{},"2135":{"timestamp":{"__isSmartRef__":true,"id":2136},"user":"lauritz","tags":[]},"2136":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:21:57 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2137":{"varMapping":{"__isSmartRef__":true,"id":2138},"source":"function reset() {\n this.highlightRectangle.attributeConnections = [];\n \n connect(rect, \"onMouseMove\", this.highlightRectangle, \"updateOnMove\")\n connect(rect, \"onMouseUp\", this, \"removeHighlighting\")\n connect(rect, \"onMouseUp\", this.owner, \"setTarget\",\n {converter: function () {\n return this.sourceObj.morphUnderCursor();\n }\n })\n}","funcProperties":{"__isSmartRef__":true,"id":2139},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2138":{"this":{"__isSmartRef__":true,"id":2006}},"2139":{"timestamp":{"__isSmartRef__":true,"id":2140},"user":"lauritz","tags":[]},"2140":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:55 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2141":{"varMapping":{"__isSmartRef__":true,"id":2142},"source":"function isTracking() {\n return !!this.world().firstHand().highlightConnection;\n}","funcProperties":{"__isSmartRef__":true,"id":2143},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2142":{"this":{"__isSmartRef__":true,"id":2006}},"2143":{"timestamp":{"__isSmartRef__":true,"id":2144},"user":"lauritz","tags":[]},"2144":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:25 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2145":{"varMapping":{"__isSmartRef__":true,"id":2146},"source":"function isHighlighting() {\n return !!this.targetHighlight;\n}","funcProperties":{"__isSmartRef__":true,"id":2147},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2146":{"this":{"__isSmartRef__":true,"id":2006}},"2147":{"timestamp":{"__isSmartRef__":true,"id":2148},"user":"lauritz","tags":[]},"2148":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:22 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2149":{"varMapping":{"__isSmartRef__":true,"id":2150},"source":"function currentTarget() {\n return this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":2151},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2150":{"this":{"__isSmartRef__":true,"id":2006}},"2151":{"timestamp":{"__isSmartRef__":true,"id":2152},"user":"lauritz","tags":[]},"2152":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:26:02 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2153":{"target":{"__isSmartRef__":true,"id":1139},"selector":"update","args":[],"stopped":false,"tickTime":500,"__LivelyClassName__":"lively.morphic.TargetScript","__SourceModuleName__":"Global.lively.morphic.Core"},"2154":{"_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_ClipMode":"visible","__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(808.0,431.8)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"2155":{"partsSpaceName":"PartsBin/Basic","comment":"Edit scripts and connections of a specific morph.","migrationLevel":4,"partName":"ObjectEditorPane","changes":[{"__isSmartRef__":true,"id":2156}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2156":{"date":{"__isSmartRef__":true,"id":2157},"author":"lauritz","message":"Adapted the update behavior on ticks. Reduces the impact of HTML's autoscroll to selected list items."},"2157":{"isSerializedDate":true,"string":"Fri Oct 21 2011 00:39:30 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2158":{"morph":{"__isSmartRef__":true,"id":1139},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2159":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"2160":{},"2161":{"displayInitialScript":{"__isSmartRef__":true,"id":2162},"displayJavaScriptSource":{"__isSmartRef__":true,"id":2166},"displaySourceForConnection":{"__isSmartRef__":true,"id":2170},"displaySourceForScript":{"__isSmartRef__":true,"id":2174},"generateSourceForConnection":{"__isSmartRef__":true,"id":2178},"generateSourceForScript":{"__isSmartRef__":true,"id":2182},"generateTargetCode":{"__isSmartRef__":true,"id":2186},"newConnection":{"__isSmartRef__":true,"id":2190},"newScript":{"__isSmartRef__":true,"id":2194},"reset":{"__isSmartRef__":true,"id":2198},"selectChangedContent":{"__isSmartRef__":true,"id":2202},"setTarget":{"__isSmartRef__":true,"id":2206},"sortedConnectionNamesOfObj":{"__isSmartRef__":true,"id":2210},"sortedScriptNamesOfObj":{"__isSmartRef__":true,"id":2214},"updateLists":{"__isSmartRef__":true,"id":2218},"onShutdown":{"__isSmartRef__":true,"id":2222},"confirmUnsavedChanges":{"__isSmartRef__":true,"id":2226},"update":{"__isSmartRef__":true,"id":2230},"ensureAnnotationLayer":{"__isSmartRef__":true,"id":2234},"copyToPartsBinWithUserRequest":{"__isSmartRef__":true,"id":2238},"printTags":{"__isSmartRef__":true,"id":2246},"setTag":{"__isSmartRef__":true,"id":2250},"runScript":{"__isSmartRef__":true,"id":2254},"openPartTestRunner":{"__isSmartRef__":true,"id":2258},"hasUnsavedChanges":{"__isSmartRef__":true,"id":2262}},"2162":{"varMapping":{"__isSmartRef__":true,"id":2163},"source":"function displayInitialScript() {\n if (this.scriptList.getList().size() > 1) {\n this.scriptList.preselectItem();\n } else if (this.connectionList.getList().size() > 1) {\n this.connectionList.preselectItem();\n } else {\n this.scriptList.selectAt(0);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2164},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2163":{"this":{"__isSmartRef__":true,"id":1139}},"2164":{"timestamp":{"__isSmartRef__":true,"id":2165},"user":"lauritz","tags":[]},"2165":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:13:43 GMT+0100 (Mitteleuropäische Zeit)"},"2166":{"varMapping":{"__isSmartRef__":true,"id":2167},"source":"function displayJavaScriptSource(jsCode) {\n if (this.scriptPane.hasChanged()) {\n var that = this;\n var callback = function(confirmed) {\n if (confirmed) that.scriptPane.display(jsCode)\n };\n this.confirmUnsavedChanges(callback);\n } else {\n this.scriptPane.display(jsCode);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2168},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2167":{"this":{"__isSmartRef__":true,"id":1139}},"2168":{"timestamp":{"__isSmartRef__":true,"id":2169},"user":"lauritz","tags":[]},"2169":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (Mitteleuropäische Zeit)"},"2170":{"varMapping":{"__isSmartRef__":true,"id":2171},"source":"function displaySourceForConnection(connection) {\n var code = \"\", that = this;\n if (connection === undefined) return;\n if (connection === null) {\n this.sortedConnectionNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForConnection(each[1])).concat(\"\\n\\n\");\n });\n code = code.substring(0, code.length - \"\\n\\n\".length - 1);\n } else {\n code = this.generateSourceForConnection(connection);\n }\n this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":2172},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2171":{"this":{"__isSmartRef__":true,"id":1139}},"2172":{"timestamp":{"__isSmartRef__":true,"id":2173},"user":"conradcalmez","tags":[]},"2173":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:59:30 GMT+0100 (Mitteleuropäische Zeit)"},"2174":{"varMapping":{"__isSmartRef__":true,"id":2175},"source":"function displaySourceForScript(scriptName) {\n var code = \"\",\n that = this;\n if (scriptName === null) {\n this.sortedScriptNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForScript(each)).concat(\"\\n\\n\\n\");\n });\n code = code.substring(0, code.length - \"\\n\\n\\n\".length - 1);\n } else {\n code = this.generateSourceForScript(scriptName);\n }\n if (code) this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":2176},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2175":{"this":{"__isSmartRef__":true,"id":1139}},"2176":{"timestamp":{"__isSmartRef__":true,"id":2177},"user":"cschuster","tags":[]},"2177":{"isSerializedDate":true,"string":"Thu Aug 30 2012 08:14:26 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2178":{"varMapping":{"__isSmartRef__":true,"id":2179},"source":"function generateSourceForConnection(connection) {\n var c = connection, targetObject = this.target;\n\tif (!c.getTargetObj() || !c.getTargetObj().name || \n\t\t!c.getSourceObj() || !c.getSourceObj().name) return String(c);\n\n\tvar optConfig = []\n\tif (c.converterString)\n\t\toptConfig.push(\"converter: \\n\\t\" + c.converterString)\n\tif (c.updaterString)\n\t\toptConfig.push(\"updater: \\n\\t\" + c.updaterString)\n\treturn Strings.format('connect(%s, \"%s\", %s, \"%s\", {%s});', \n\t\t\tthis.generateTargetCode(targetObject, c.getSourceObj()),\n\t\t\tc.getSourceAttrName(),\n\t\t\tthis.generateTargetCode(targetObject, c.getTargetObj()),\n\t\t\tc.getTargetMethodName(),\n\t\t\toptConfig.join(','));\n\n}","funcProperties":{"__isSmartRef__":true,"id":2180},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2179":{"this":{"__isSmartRef__":true,"id":1139}},"2180":{"timestamp":{"__isSmartRef__":true,"id":2181},"user":"lauritz","tags":[]},"2181":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (Mitteleuropäische Zeit)"},"2182":{"varMapping":{"__isSmartRef__":true,"id":2183},"source":"function generateSourceForScript(scriptName) {\n var script = this.target[scriptName],\n annotation = '',\n scriptSource = '',\n tagScript = '';\n\n if (!script) return;\n\n if (script.timestamp && script.user) \n annotation = Strings.format('// changed at %s by %s \\n', script.timestamp, script.user);\n scriptSource = Strings.format('this.addScript(%s)', script.getOriginal());\n tagScript = Strings.format('.tag(%s);', this.printTags(script));\n\n return annotation + scriptSource + tagScript;\n}","funcProperties":{"__isSmartRef__":true,"id":2184},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2183":{"this":{"__isSmartRef__":true,"id":1139}},"2184":{"timestamp":{"__isSmartRef__":true,"id":2185},"user":"cschuster","tags":[]},"2185":{"isSerializedDate":true,"string":"Thu Aug 30 2012 08:14:45 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2186":{"varMapping":{"__isSmartRef__":true,"id":2187},"source":"function generateTargetCode(baseObject, targetObject) {\n\tvar name = targetObject.name;\n\tif (baseObject === targetObject) \n\t\treturn \"this\";\n\telse if (baseObject[name] === targetObject) \n\t\treturn \"this.\" + name;\n\telse if (baseObject.testObject === targetObject) \n\t\treturn \"this.testObject\";\n\telse if (baseObject.get(name) === targetObject) \n\t\treturn 'this.get(\"' + name + '\")';\n\telse if (targetObject instanceof Morph) \n\t\treturn '$morph(\"' + name + '\")';\n\telse \n\t\treturn \"????\";\n}","funcProperties":{"__isSmartRef__":true,"id":2188},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2187":{"this":{"__isSmartRef__":true,"id":1139}},"2188":{"timestamp":{"__isSmartRef__":true,"id":2189},"user":"lauritz","tags":[]},"2189":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (Mitteleuropäische Zeit)"},"2190":{"varMapping":{"__isSmartRef__":true,"id":2191},"source":"function newConnection() {\n if (this.target) {\n var code = \"connect(SOURCE, SOURCE_PROPERTY, TARGET, TARGET_PROPERTY);\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2192},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2191":{"this":{"__isSmartRef__":true,"id":1139}},"2192":{"timestamp":{"__isSmartRef__":true,"id":2193},"user":"lauritz","tags":[]},"2193":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (Mitteleuropäische Zeit)"},"2194":{"varMapping":{"__isSmartRef__":true,"id":2195},"source":"function newScript() {\n if (this.target) {\n var code = \"this.addScript(function SCRIPTNAME() {\\n \\n}).tag([]);\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2196},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2195":{"this":{"__isSmartRef__":true,"id":1139}},"2196":{"timestamp":{"__isSmartRef__":true,"id":2197},"user":"lauritz","tags":[]},"2197":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:24:25 GMT+0100 (Mitteleuropäische Zeit)"},"2198":{"varMapping":{"__isSmartRef__":true,"id":2199},"source":"function reset() {\n this.scriptPane = this.get('ObjectEditorScriptPane')\n this.scriptList = this.get('ObjectEditorScriptList')\n this.connectionList = this.get('ObjectEditorConnectionList')\n this.morphSelector = this.get('ObjectEditorMorphSelector')\n \n this.target = null;\n this.currentTag = null;\n \n this.scriptPane.reset();\n this.scriptList.setList();\n this.scriptList.selection = null;\n this.connectionList.setList();\n this.connectionList.selection = null;\n this.morphSelector.reset();\n this.tagChooser.reset();\n \n this.stopStepping();\n}","funcProperties":{"__isSmartRef__":true,"id":2200},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2199":{"this":{"__isSmartRef__":true,"id":1139}},"2200":{"timestamp":{"__isSmartRef__":true,"id":2201},"user":"lauritz","tags":[]},"2201":{"isSerializedDate":true,"string":"Fri Aug 03 2012 11:45:36 GMT+0200 (Mitteleuropäische Sommerzeit)"},"2202":{"varMapping":{"__isSmartRef__":true,"id":2203},"source":"function selectChangedContent(source) {\n\n var addScriptRegex = /this\\.addScript\\s*\\(\\s*function\\s*([^\\(]*)/g;\n var addScriptMatches = [];\n var addScriptMatch = addScriptRegex.exec(source);\n while (addScriptMatch) {\n addScriptMatches.push(addScriptMatch[1]);\n addScriptMatch = addScriptRegex.exec(source);\n }\n \n // if scripts were added, select either a specific one or all\n if (addScriptMatches.length > 0) { \n if (addScriptMatches.length === 1) {\n return this.scriptList.selectAddedScript(addScriptMatches[0]);\n }\n return this.scriptList.selectAt(0);\n }\n\n var connectionRegex = \n /connect\\(\\s*([^,]*)\\s*,\\s*\"([^,]*)\"\\s*,\\s*([^,]*)\\s*,\\s*\"([^,]*)\"/g;\n var connectionMatches = [];\n var connectionMatch = connectionRegex.exec(source);\n while (connectionMatch) {\n connectionMatches.push(connectionMatch);\n connectionMatch = connectionRegex.exec(source);\n }\n\n // if connections were made, select either a specific one or all\n if (connectionMatches.length > 0) {\n if (connectionMatches.length === 1) {\n var match = connectionMatches[0];\n for (var i=0; i