{"id":0,"registry":{"0":{"submorphs":[{"__isSmartRef__":true,"id":1},{"__isSmartRef__":true,"id":49},{"__isSmartRef__":true,"id":67}],"scripts":[],"id":"6197F648-5B15-4C77-B376-3BCF9A2E64F8","shape":{"__isSmartRef__":true,"id":114},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":121},"showsHalos":false,"name":"TallyConnections","partsBinMetaInfo":{"__isSmartRef__":true,"id":122},"__SourceModuleName__":"Global.lively.morphic.Core","renderContextTable":{"__isSmartRef__":true,"id":135},"eventHandler":{"__isSmartRef__":true,"id":136},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","E0418536-DA6B-4E27-98F6-6118E7353359","74D19664-3F5E-43F9-8A42-B6858F46065A","0FCEB9F1-5588-4741-84C1-E639A1A31F1D"],"partTests":{"__isSmartRef__":true,"id":137},"priorExtent":{"__isSmartRef__":true,"id":142},"isBeingDragged":false,"prevScroll":[0,0],"headRevision":145429,"distanceToDragEvent":{"__isSmartRef__":true,"id":143},"linesCache":{"__isSmartRef__":true,"id":144},"displayCache":{"__isSmartRef__":true,"id":145},"counters":{"__isSmartRef__":true,"id":146},"_Rotation":0,"_Scale":1.002003004005006,"padding":{"__isSmartRef__":true,"id":147},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":148},"__LivelyClassName__":"lively.morphic.Box","withoutLayers":["Global.AnimateConnectionsLayer"]},"1":{"submorphs":[{"__isSmartRef__":true,"id":2}],"scripts":[],"id":"9AA44A8C-7713-422E-AE35-283CB4788BBE","shape":{"__isSmartRef__":true,"id":17},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":33},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":21},"lighterFill":{"__isSmartRef__":true,"id":34},"label":{"__isSmartRef__":true,"id":2},"name":"ScriptableButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":43},"attributeConnections":[{"__isSmartRef__":true,"id":44}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","priorExtent":{"__isSmartRef__":true,"id":45},"renderContextTable":{"__isSmartRef__":true,"id":46},"eventHandler":{"__isSmartRef__":true,"id":47},"derivationIds":[2588,"ED75C048-0E5C-405F-A9CF-BDCC2FE1C328","15517647-4C28-4BC7-844D-76FDE8263E13","756C4D69-3F3E-413A-8159-8829CF8119EE"],"owner":{"__isSmartRef__":true,"id":0},"distanceToDragEvent":{"__isSmartRef__":true,"id":48},"prevScroll":[0,0],"_Rotation":0,"_Scale":0.998001,"__LivelyClassName__":"lively.morphic.Button"},"2":{"submorphs":[],"scripts":[],"id":"A14C3827-6B29-4B83-9B7D-B0C1EF26F164","shape":{"__isSmartRef__":true,"id":3},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":9},"_MaxTextWidth":101,"_MaxTextHeight":null,"textStyle":null,"padding":{"__isSmartRef__":true,"id":10},"_Padding":{"__isSmartRef__":true,"id":11},"owner":{"__isSmartRef__":true,"id":1},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","_ClipMode":"hidden","priorExtent":{"__isSmartRef__":true,"id":12},"textChunks":[{"__isSmartRef__":true,"id":13}],"_Align":"center","renderContextTable":{"__isSmartRef__":true,"id":15},"eventHandler":{"__isSmartRef__":true,"id":16},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"71E89EC0-6CE6-4BC4-B324-D782D7DB308D","4F907927-C6C3-4F82-BEA3-7E1E7A57AB5F","4C27F26B-4DF2-42C1-92C4-B5FFA8AA7FE9"],"_MinTextWidth":101,"_MinTextHeight":null,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"__LivelyClassName__":"lively.morphic.Text"},"3":{"position":{"__isSmartRef__":true,"id":4},"_Extent":{"__isSmartRef__":true,"id":5},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":6},"_Fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":7},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":8},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"5":{"x":101,"y":21,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"7":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"8":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"10":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"11":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"12":{"x":101,"y":21,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"13":{"style":{"__isSmartRef__":true,"id":14},"chunkOwner":{"__isSmartRef__":true,"id":2},"storedString":"show","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"14":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"15":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML"},"16":{"morph":{"__isSmartRef__":true,"id":2},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"17":{"position":{"__isSmartRef__":true,"id":18},"_Extent":{"__isSmartRef__":true,"id":19},"_BorderWidth":1.1840000000000002,"_BorderColor":{"__isSmartRef__":true,"id":20},"_Fill":{"__isSmartRef__":true,"id":21},"_BorderRadius":5.2,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":31},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":32},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"18":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"19":{"x":101,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"20":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"21":{"stops":[{"__isSmartRef__":true,"id":22},{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":26},{"__isSmartRef__":true,"id":28}],"vector":{"__isSmartRef__":true,"id":30},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"22":{"offset":0,"color":{"__isSmartRef__":true,"id":23}},"23":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"24":{"offset":0.4,"color":{"__isSmartRef__":true,"id":25}},"25":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"26":{"offset":0.6,"color":{"__isSmartRef__":true,"id":27}},"27":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"28":{"offset":1,"color":{"__isSmartRef__":true,"id":29}},"29":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"30":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"31":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"32":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"33":{"x":7.984007999999989,"y":33.944028000000074,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"34":{"stops":[{"__isSmartRef__":true,"id":35},{"__isSmartRef__":true,"id":37},{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":41}],"vector":{"__isSmartRef__":true,"id":30},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"35":{"offset":0,"color":{"__isSmartRef__":true,"id":36}},"36":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"37":{"offset":0.4,"color":{"__isSmartRef__":true,"id":38}},"38":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"39":{"offset":0.6,"color":{"__isSmartRef__":true,"id":40}},"40":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"41":{"offset":1,"color":{"__isSmartRef__":true,"id":42}},"42":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"43":{"partsSpaceName":"PartsBin/Inputs","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"partName":"ScriptableButton","comment":"Has a script that is called on button press","revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"44":{"sourceObj":{"__isSmartRef__":true,"id":1},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"show","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"45":{"x":101,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"46":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"47":{"morph":{"__isSmartRef__":true,"id":1},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"48":{"x":70,"y":-17.012018024030056,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"49":{"submorphs":[],"scripts":[],"id":"1F3F6B72-9C2B-4908-BDF2-C3F2E48FB550","shape":{"__isSmartRef__":true,"id":50},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":56},"_MaxTextWidth":325,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":53},"showsHalos":false,"_FontSize":14,"__SourceModuleName__":"Global.lively.morphic.TextCore","name":"Text","partsBinMetaInfo":{"__isSmartRef__":true,"id":57},"textChunks":[{"__isSmartRef__":true,"id":60}],"charsReplaced":"Animate","lastFindLoc":7,"priorSelectionRange":[16,16],"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":62},"renderContextTable":{"__isSmartRef__":true,"id":63},"eventHandler":{"__isSmartRef__":true,"id":64},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_Padding":{"__isSmartRef__":true,"id":65},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","57D690B4-9938-4CCA-A92E-954D55B2E14C","CD142C34-4E6E-47BD-AF42-387861BF5FA2","BB474853-56C2-4571-8C9A-298DAAD0E344"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":325,"_MinTextHeight":null,"previousSelection":[17,17],"owner":{"__isSmartRef__":true,"id":0},"distanceToDragEvent":{"__isSmartRef__":true,"id":66},"savedTextString":"Show Connections","isBeingDragged":false,"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"50":{"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":51},"_Extent":{"__isSmartRef__":true,"id":52},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":53},"renderContextTable":{"__isSmartRef__":true,"id":54},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":55},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"51":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"52":{"x":325,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"53":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"54":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"55":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"56":{"x":7.996001999999908,"y":8.978011000000109,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"57":{"partsSpaceName":"PartsBin/Basic","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":58}],"revisionOnLoad":141269,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"58":{"date":{"__isSmartRef__":true,"id":59},"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"},"59":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"60":{"style":{"__isSmartRef__":true,"id":61},"morph":{"__isSmartRef__":true,"id":49},"__SourceModuleName__":"Global.lively.morphic.TextCore","chunkOwner":{"__isSmartRef__":true,"id":49},"storedString":"Tally Connections","__LivelyClassName__":"lively.morphic.TextChunk"},"61":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"62":{"x":325,"y":34,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"63":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML"},"64":{"morph":{"__isSmartRef__":true,"id":49},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"65":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"66":{"x":222.9879819759701,"y":-10.995993991990247,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"67":{"submorphs":[{"__isSmartRef__":true,"id":68}],"scripts":[],"id":"829E2DF3-E443-4DA4-9BDA-93CE09D5D255","shape":{"__isSmartRef__":true,"id":83},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":99},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":87},"lighterFill":{"__isSmartRef__":true,"id":100},"label":{"__isSmartRef__":true,"id":68},"name":"ScriptableButton1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":109},"attributeConnections":[{"__isSmartRef__":true,"id":110}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","priorExtent":{"__isSmartRef__":true,"id":111},"renderContextTable":{"__isSmartRef__":true,"id":112},"eventHandler":{"__isSmartRef__":true,"id":113},"derivationIds":[2588,"ED75C048-0E5C-405F-A9CF-BDCC2FE1C328","8A5BAA78-7A9D-474C-B473-6DE5374E16C4","F41FBE0D-EE3D-41C9-A287-898D9C09FEE8","324E3457-7DA6-4F08-8031-42AA2AA4838A"],"owner":{"__isSmartRef__":true,"id":0},"prevScroll":[0,0],"_Rotation":0,"_Scale":0.998001,"__LivelyClassName__":"lively.morphic.Button","withoutLayers":["Global.AnimateConnectionsLayer"]},"68":{"submorphs":[],"scripts":[],"id":"592F626A-F54F-43B8-8B21-66C223996571","shape":{"__isSmartRef__":true,"id":69},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":75},"_MaxTextWidth":101,"_MaxTextHeight":null,"textStyle":null,"padding":{"__isSmartRef__":true,"id":76},"_Padding":{"__isSmartRef__":true,"id":77},"owner":{"__isSmartRef__":true,"id":67},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","_ClipMode":"hidden","priorExtent":{"__isSmartRef__":true,"id":78},"textChunks":[{"__isSmartRef__":true,"id":79}],"_Align":"center","renderContextTable":{"__isSmartRef__":true,"id":81},"eventHandler":{"__isSmartRef__":true,"id":82},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"71E89EC0-6CE6-4BC4-B324-D782D7DB308D","AD5BB8F5-D4BA-4BC5-8925-7AD96F8E20D1","9C50830B-1429-4BC9-B357-156B9FF10E05","35FDDF5E-E83A-4653-B26D-19FCC3134092"],"_MinTextWidth":101,"_MinTextHeight":null,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"__LivelyClassName__":"lively.morphic.Text"},"69":{"position":{"__isSmartRef__":true,"id":70},"_Extent":{"__isSmartRef__":true,"id":71},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":72},"_Fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":73},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":74},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"70":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"71":{"x":101,"y":21,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"72":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"73":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"74":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"75":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"76":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"77":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"78":{"x":101,"y":21,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"79":{"style":{"__isSmartRef__":true,"id":80},"chunkOwner":{"__isSmartRef__":true,"id":68},"storedString":"hide","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"80":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"81":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML"},"82":{"morph":{"__isSmartRef__":true,"id":68},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"83":{"position":{"__isSmartRef__":true,"id":84},"_Extent":{"__isSmartRef__":true,"id":85},"_BorderWidth":1.1840000000000002,"_BorderColor":{"__isSmartRef__":true,"id":86},"_Fill":{"__isSmartRef__":true,"id":87},"_BorderRadius":5.2,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":97},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":98},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"84":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"85":{"x":101,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"86":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"87":{"stops":[{"__isSmartRef__":true,"id":88},{"__isSmartRef__":true,"id":90},{"__isSmartRef__":true,"id":92},{"__isSmartRef__":true,"id":94}],"vector":{"__isSmartRef__":true,"id":96},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"88":{"offset":0,"color":{"__isSmartRef__":true,"id":89}},"89":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"90":{"offset":0.4,"color":{"__isSmartRef__":true,"id":91}},"91":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"92":{"offset":0.6,"color":{"__isSmartRef__":true,"id":93}},"93":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"94":{"offset":1,"color":{"__isSmartRef__":true,"id":95}},"95":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"96":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"97":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"98":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"99":{"x":135.728136,"y":35.928036000000006,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"100":{"stops":[{"__isSmartRef__":true,"id":101},{"__isSmartRef__":true,"id":103},{"__isSmartRef__":true,"id":105},{"__isSmartRef__":true,"id":107}],"vector":{"__isSmartRef__":true,"id":96},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"101":{"offset":0,"color":{"__isSmartRef__":true,"id":102}},"102":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"103":{"offset":0.4,"color":{"__isSmartRef__":true,"id":104}},"104":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"105":{"offset":0.6,"color":{"__isSmartRef__":true,"id":106}},"106":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"107":{"offset":1,"color":{"__isSmartRef__":true,"id":108}},"108":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"109":{"partsSpaceName":"PartsBin/Inputs","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"partName":"ScriptableButton","comment":"Has a script that is called on button press","revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"110":{"sourceObj":{"__isSmartRef__":true,"id":67},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"hide","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"111":{"x":101,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"112":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"113":{"morph":{"__isSmartRef__":true,"id":67},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"114":{"position":{"__isSmartRef__":true,"id":115},"_Extent":{"__isSmartRef__":true,"id":116},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":117},"_Fill":{"__isSmartRef__":true,"id":118},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":119},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":120},"_BorderRadius":15.180000000000001,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"115":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"116":{"x":353.49225399999995,"y":68.063968,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"117":{"r":0.568,"g":0.568,"b":0.568,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"118":{"r":0.921,"g":0.921,"b":0.921,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"119":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"120":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"121":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"122":{"partsSpaceName":"PartsBin/Jens","__SourceModuleName__":"Global.lively.PartsBin","comment":"A little visualization the counts the connection updates","migrationLevel":4,"partName":"TallyConnections","changes":[{"__isSmartRef__":true,"id":123},{"__isSmartRef__":true,"id":125},{"__isSmartRef__":true,"id":127},{"__isSmartRef__":true,"id":129},{"__isSmartRef__":true,"id":131},{"__isSmartRef__":true,"id":133}],"revisionOnLoad":140998,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"123":{"date":{"__isSmartRef__":true,"id":124},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"124":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"125":{"date":{"__isSmartRef__":true,"id":126},"author":"undefined","message":"","id":"F12A47E8-D6D6-4FF4-B0F8-B7B4F0CE08EF"},"126":{"isSerializedDate":true,"string":"Fri Mar 09 2012 14:15:27 GMT+0100 (CET)"},"127":{"date":{"__isSmartRef__":true,"id":128},"author":"jenslincke","message":"","id":"7E7414FB-EF7C-41A8-BE0E-1D96165C7DD0"},"128":{"isSerializedDate":true,"string":"Tue Mar 13 2012 15:13:02 GMT+0100 (CET)"},"129":{"date":{"__isSmartRef__":true,"id":130},"author":"jenslincke","message":"","id":"087CCA8D-3534-404C-9C34-4B5825A93712"},"130":{"isSerializedDate":true,"string":"Tue Mar 13 2012 15:35:46 GMT+0100 (CET)"},"131":{"date":{"__isSmartRef__":true,"id":132},"author":"jenslincke","message":"","id":"E3509C49-DF4A-4C06-A879-B786FC790247"},"132":{"isSerializedDate":true,"string":"Tue Mar 13 2012 19:32:06 GMT+0100 (CET)"},"133":{"date":{"__isSmartRef__":true,"id":134},"author":"jenslincke","message":"","id":"D7AA17EE-A4BD-4C5F-81CB-8394B96A1018"},"134":{"isSerializedDate":true,"string":"Tue Mar 13 2012 19:38:18 GMT+0100 (CET)"},"135":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"136":{"morph":{"__isSmartRef__":true,"id":0},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"137":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":138}},"138":{"test01IsMorph":{"__isSmartRef__":true,"id":139}},"139":{"varMapping":{"__isSmartRef__":true,"id":140},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":141},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"140":{"this":{"__isSmartRef__":true,"id":137}},"141":{},"142":{"x":352.49425299999996,"y":69.061969,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"143":{"x":242,"y":-9,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"144":{},"145":{},"146":{},"147":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"148":{"hide":{"__isSmartRef__":true,"id":149},"ensureContainer":{"__isSmartRef__":true,"id":153},"install":{"__isSmartRef__":true,"id":157},"getContainerName":{"__isSmartRef__":true,"id":161},"getLayerName":{"__isSmartRef__":true,"id":165},"tallyConnection":{"__isSmartRef__":true,"id":169},"show":{"__isSmartRef__":true,"id":173},"getLayer":{"__isSmartRef__":true,"id":177},"ensureDisplayForMorph":{"__isSmartRef__":true,"id":181},"ensureNamedLabel":{"__isSmartRef__":true,"id":185},"fadeOutMorph":{"__isSmartRef__":true,"id":189},"tallyKey":{"__isSmartRef__":true,"id":193}},"149":{"varMapping":{"__isSmartRef__":true,"id":150},"source":"function hide() {\n    var container = this.get(this.getContainerName());\n    if (container) container.remove();\n    this.counters = {};\n    this.getLayer().beNotGlobal()\n}","funcProperties":{"__isSmartRef__":true,"id":151},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"150":{"this":{"__isSmartRef__":true,"id":0}},"151":{"timestamp":{"__isSmartRef__":true,"id":152},"user":"jenslincke","tags":[]},"152":{"isSerializedDate":true,"string":"Tue Mar 13 2012 19:28:39 GMT+0100 (CET)"},"153":{"varMapping":{"__isSmartRef__":true,"id":154},"source":"function ensureContainer() {\n    var container = this.get(this.getContainerName);\n    if (container){\n        return container;\n    }   \n\n    // we don't want to interfere with object structure, so we put the labels\n    // in a separate object\n    container = Morph.makeRectangle($world.shape.bounds())\n    container.name = this.getContainerName();\n    container.isEpiMorph = true\n    container.renderContext().morphNode.style.zIndex = 1\n    container.ignoreEvents();\n    container.disableEvents();\n    container.setOpacity(1);\n    container.setFill(null)\n    container.setBorderWidth(0)\n\n    this.container = container;\n    container.openInWorld();\n\n    return container\n}","funcProperties":{"__isSmartRef__":true,"id":155},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"154":{"this":{"__isSmartRef__":true,"id":0}},"155":{"timestamp":{"__isSmartRef__":true,"id":156},"user":"jenslincke","tags":[]},"156":{"isSerializedDate":true,"string":"Tue Mar 13 2012 17:22:09 GMT+0100 (CET)"},"157":{"varMapping":{"__isSmartRef__":true,"id":158},"source":"function install() {\n    var self= this;\n    var layer = cop.create(this.getLayerName())\n    layer.refineClass(AttributeConnection, {\n        update: function(newValue, oldValue) {\n            cop.withoutLayers([layer], function(){\n                try {\n                    self.tallyConnection(this, newValue, oldValue)\n                } catch(e) {\n                    $world.logError(e)\n                }\n            }.bind(this))\n            return cop.proceed(newValue, oldValue);\n        }\n    })\n}","funcProperties":{"__isSmartRef__":true,"id":159},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"158":{"this":{"__isSmartRef__":true,"id":0}},"159":{"timestamp":{"__isSmartRef__":true,"id":160},"user":"jenslincke","tags":[]},"160":{"isSerializedDate":true,"string":"Tue Mar 13 2012 15:57:16 GMT+0100 (CET)"},"161":{"varMapping":{"__isSmartRef__":true,"id":162},"source":"function getContainerName() {\n    return 'TallyConnectionsContainer'\n}","funcProperties":{"__isSmartRef__":true,"id":163},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"162":{"this":{"__isSmartRef__":true,"id":0}},"163":{"timestamp":{"__isSmartRef__":true,"id":164},"user":"jenslincke","tags":[]},"164":{"isSerializedDate":true,"string":"Tue Mar 13 2012 15:43:58 GMT+0100 (CET)"},"165":{"varMapping":{"__isSmartRef__":true,"id":166},"source":"function getLayerName() {\n    return 'TallyConnectionsLayer'\n}","funcProperties":{"__isSmartRef__":true,"id":167},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"166":{"this":{"__isSmartRef__":true,"id":0}},"167":{"timestamp":{"__isSmartRef__":true,"id":168},"user":"jenslincke","tags":[]},"168":{"isSerializedDate":true,"string":"Tue Mar 13 2012 15:46:32 GMT+0100 (CET)"},"169":{"varMapping":{"__isSmartRef__":true,"id":170},"source":"function tallyConnection(con, newValue, oldValue) {\n    if (! (con.sourceObj instanceof Morph)) return;\n    if (! (con.targetObj instanceof Morph)) return;\n\n    if (! this.container) return;\n\n    if (! this.counters) this.counters = {};\n\n    \n    var source = con.sourceObj;\n    var sourceDisplay = this.ensureDisplayForMorph(source);   \n\n\n    var sourceLabel = this.ensureNamedLabel(sourceDisplay, con.sourceAttrName, \n        \" \" + this.tallyKey(source.id +\">>\" + con.sourceAttName));\n    this.fadeOutMorph(sourceLabel, 2)\n    sourceLabel.counter = 0 || sourceLabel.counter++;\n\n    \n\n    var target = con.targetObj;\n    var targetDisplay = this.ensureDisplayForMorph(target);    \n    var targetLabel = this.ensureNamedLabel(targetDisplay, con.targetMethodName,\n        \" \" + this.tallyKey(target.id + \">>\" + con.targetMethodName));   \n    this.fadeOutMorph(targetLabel, 2)\n       sourceLabel.setTextColor(CrayonColors.maroon)\n\n}","funcProperties":{"__isSmartRef__":true,"id":171},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"170":{"this":{"__isSmartRef__":true,"id":0}},"171":{"timestamp":{"__isSmartRef__":true,"id":172},"user":"jenslincke","tags":[]},"172":{"isSerializedDate":true,"string":"Tue Mar 13 2012 19:27:44 GMT+0100 (CET)"},"173":{"varMapping":{"__isSmartRef__":true,"id":174},"source":"function show() {\n    this.hide();\n    this.container = this.ensureContainer();\n    this.displayCache = {};\n    this.install();\n    this.getLayer().beGlobal()\n    $world.setWithoutLayers([this.getLayer()])\n\n}","funcProperties":{"__isSmartRef__":true,"id":175},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"174":{"this":{"__isSmartRef__":true,"id":0}},"175":{"timestamp":{"__isSmartRef__":true,"id":176},"user":"jenslincke","tags":[]},"176":{"isSerializedDate":true,"string":"Tue Mar 13 2012 18:05:59 GMT+0100 (CET)"},"177":{"varMapping":{"__isSmartRef__":true,"id":178},"source":"function getLayer() {\n    return cop.create(this.getLayerName())\n}","funcProperties":{"__isSmartRef__":true,"id":179},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"178":{"this":{"__isSmartRef__":true,"id":0}},"179":{"timestamp":{"__isSmartRef__":true,"id":180},"user":"jenslincke","tags":[]},"180":{"isSerializedDate":true,"string":"Tue Mar 13 2012 15:49:24 GMT+0100 (CET)"},"181":{"varMapping":{"__isSmartRef__":true,"id":182},"source":"function ensureDisplayForMorph(morph) {\n    var key = morph.id\n    if (!this.displayCache[key]) {\n        var morph = Morph.makeRectangle(0,0, 200,200);\n        morph.setFill(Color.gray.withA(0));\n        morph.setBorderWidth(0)\n        morph.isEpiMorph = true;\n        morph.disableEvents();\n        morph.ignoreEvents();    \n        morph.disableDropping();\n        var layout = new lively.morphic.Layout.VerticalLayout(morph);\n        layout.borderSize = 0;\n        layout.spacing = 0;\n        morph.setLayouter(layout);\n        \n        this.displayCache[key] = morph\n    };\n\n    var display = this.displayCache[key]\n    var bounds = morph.getGlobalTransform().transformRectToRect(morph.getShape().getBounds());\n    display.setBounds(bounds);\n    this.container.addMorph(display);\n    return display\n    \n\n    return \n}","funcProperties":{"__isSmartRef__":true,"id":183},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"182":{"this":{"__isSmartRef__":true,"id":0}},"183":{"timestamp":{"__isSmartRef__":true,"id":184},"user":"jenslincke","tags":[]},"184":{"isSerializedDate":true,"string":"Tue Mar 13 2012 19:10:32 GMT+0100 (CET)"},"185":{"varMapping":{"__isSmartRef__":true,"id":186},"source":"function ensureNamedLabel(morph, labelName, optSuffix) {\n    var labelProp = 'label'+ labelName.capitalize()\n    if (! morph[labelProp]) {\n        var label = new TextMorph(new Rectangle(0,0, 100, 20), \"\");\n        label.beLabel();\n        label.setFontSize(8);\n        label.setTextColor(Color.green);\n        label.fit();\n        morph.addMorph(label);\n        morph[labelProp] = label;\n\n    }\n    morph[labelProp].setOpacity(1)\n    morph[labelProp].setTextString(labelName + optSuffix);\n    morph.addMorph(morph[labelProp])\n    return morph[labelProp]\n}","funcProperties":{"__isSmartRef__":true,"id":187},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"186":{"this":{"__isSmartRef__":true,"id":0}},"187":{"timestamp":{"__isSmartRef__":true,"id":188},"user":"jenslincke","tags":[]},"188":{"isSerializedDate":true,"string":"Tue Mar 13 2012 19:22:21 GMT+0100 (CET)"},"189":{"varMapping":{"__isSmartRef__":true,"id":190},"source":"function fadeOutMorph(morph, duration, steps) {\n    if (morph.isFadingOut) {\n        morph.setOpacity(1);\n        return \n    }\n    morph.isFadingOut = true;\n\n    if (steps == undefined) steps = 10;\n    if (duration == undefined) duration = 2;\n\n    var self = this;\n    var fadeOut = function() {\n        if (morph.getOpacity() > 0) {\n            var newOpacity = morph.getOpacity() - (1 / steps);\n            morph.setOpacity(newOpacity);\n            fadeOut.delay(duration / steps)            \n        } else {\n            morph.remove()\n            morph.isFadingOut = false;\n        }\n    };\n    fadeOut();\n}","funcProperties":{"__isSmartRef__":true,"id":191},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"190":{"this":{"__isSmartRef__":true,"id":0}},"191":{"timestamp":{"__isSmartRef__":true,"id":192},"user":"jenslincke","tags":[]},"192":{"isSerializedDate":true,"string":"Tue Mar 13 2012 19:15:47 GMT+0100 (CET)"},"193":{"varMapping":{"__isSmartRef__":true,"id":194},"source":"function tallyKey(key) {\n    if (!this.counters[key]) this.counters[key] = 0;\n    return this.counters[key]++;\n}","funcProperties":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"194":{"this":{"__isSmartRef__":true,"id":0}},"195":{"timestamp":{"__isSmartRef__":true,"id":196},"user":"jenslincke","tags":[]},"196":{"isSerializedDate":true,"string":"Tue Mar 13 2012 19:25:11 GMT+0100 (CET)"},"isSimplifiedRegistry":true}}