<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">
</span></span>Hi, Benjamin -<div><br></div><div>did you already skype with Robert about this? I put the mailing list on CC, maybe it is also of interest to others....<br><div><br></div><div><div><div>Am 23.01.2012 um 13:02 schrieb Benjamin Gnauk:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br></div><div>First about the editing of objects:</div><div>I figure that a morph is created from a class in which its basic behavior is defined.</div>
<div>So, if the addScripts of a morph are edited and saved with the editor, is the original morph removed and a fresh instance with the new attributes is created, or are just the scripts of the object removed and readded?</div>
</blockquote><div><br></div><div>In lively our scripts are properties of objects, so editing a script means putting a function into a slot of an object. </div><div><br></div><br><blockquote type="cite"><div>And is there a possibility in the script editor or object inspector to view all the methods implemented by a morph's class (f.e. the adjustSliderParts method in a slider morph)?</div><div><br></div></blockquote><div><br></div><div>There is a keyboard shortcut for it: CMD + SHIFT + P (windows: CTRL+SHIFT +P). select a expression, for example "this" and go for it. You have to scroll since, we not yet put this into a nicer organization...</div><div><br></div><blockquote type="cite"><div>What's also very interesting for me is Lively's concept of RenderContexts, especially the HTML rendering, so I have several questions related to this.</div>
<div><br></div><div>In which way are events (f.e. mouse events) handed down from the rendering engine to a morph's event handler? </div><div>Is there some chaining mechanism that passes through an event from a morph to its owner when a morph does not handle this event under certain circumstances (f.e. consider a scrolllist including a list of buttons as it would appear on the iPad. There a move event is passed through to the surrounding scroller widget, instead of activating or moving the button itself)?</div>
<div><br></div></blockquote><div><br></div><div>In Lively2 the events are handles by the browser, we do not do the dispatching ourselves any more. </div><div><br></div><div>Here are some Code snippets, that can be found with the code search (CMD+SHIFT+F):</div><div><br></div><div><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">lively.morphic.Morph</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(128, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">addMethods</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">(</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 0); outline-style: none; outline-width: initial; outline-color: initial; ">{</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">
    </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(204, 0, 0); outline-style: none; outline-width: initial; outline-color: initial; ">registerForEvent</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(139, 0, 0); outline-style: none; outline-width: initial; outline-color: initial; ">s:</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">function</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> (handleOnCapture) </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 0); outline-style: none; outline-width: initial; outline-color: initial; ">{</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForMouseEvents(handleOnCapture);
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForKeyboardEvents(handleOnCapture);
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForOtherEvents(handleOnCapture);
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForTouchEvents(handleOnCapture);
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForFocusAndBlurEvents();
    </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 0); outline-style: none; outline-width: initial; outline-color: initial; ">}</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">
</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 0); outline-style: none; outline-width: initial; outline-color: initial; ">}</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">);</span></span></div><div><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "><br></span></span></div><div><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "><br></span></span></div><div><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">lively.morphic.Morph</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(128, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">addMethods</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">(</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 0); outline-style: none; outline-width: initial; outline-color: initial; ">{</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">
    </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(204, 0, 0); outline-style: none; outline-width: initial; outline-color: initial; ">registerForMouseEvents</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(139, 0, 0); outline-style: none; outline-width: initial; outline-color: initial; ">:</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">function</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> (handleOnCapture) </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 0); outline-style: none; outline-width: initial; outline-color: initial; ">{</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">if</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> (</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.onMouseUpEntry) </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForEvent(</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'mouseup'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'onMouseUpEntry'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, handleOnCapture);
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">if</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> (</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.onMouseDownEntry) </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForEvent(</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'mousedown'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'onMouseDownEntry'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, handleOnCapture);
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">if</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> (</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.onClick) </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForEvent(</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'click'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'onClick'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, handleOnCapture);
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">if</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> (</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.onMouseMoveEntry) </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForEvent(</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'mousemove'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'onMouseMoveEntry'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, handleOnCapture);
        </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">if</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> (</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.onDoubleClick) </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">.registerForEvent(</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'dblclick'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, </span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; color: rgb(0, 128, 128); outline-style: none; outline-width: initial; outline-color: initial; ">'onDoubleClick'</span></span><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">, handleOnCapture);
</span></span></div><div><span class="Apple-style-span" style="font-family: Monaco, Courier; font-size: 12px; white-space: pre-wrap; background-color: rgb(243, 243, 243); "><span style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "><br></span></span></div><div>The "onSomething" are then methods on each morph that do the work....</div><div><br></div><br><blockquote type="cite"><div>How are submorphs embedded in the render context of a morph?</div></blockquote><div><br></div><div>As childNodes of the parents div element.</div><br><blockquote type="cite"><div>Considering an HTML representation of a morph consisting of multiple tags, is there a possibility to define a render context so that submorphs can be rendered inside individually specified tags (f.e. a morph using the ul-tag with multiple submorphs as list items)?</div></blockquote><div><br></div><div>Have a look at the morphNode of our list morph:</div><div><br></div><div><span class="Apple-style-span" style="font-size: 13px; white-space: pre-wrap;"><?xml version="1.0"?>
<div xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>" tabindex="-1" style="-webkit-transform-origin-x: 0px; -webkit-transform-origin-y: 0px; position: absolute; left: 871px; top: 265px; -webkit-transform: rotate(0deg) scale(1, 1); ">
        <div style="position: absolute; left: 0px; top: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(243, 243, 243); opacity: 1; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: rgb(0, 0, 0); border-right-color: rgb(0, 0, 0); border-bottom-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); width: 100px; height: 100px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; overflow-x: visible; overflow-y: visible; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-left-radius: 0px 0px; border-top-right-radius: 0px 0px; border-bottom-right-radius: 0px 0px; border-bottom-left-radius: 0px 0px; background-position: initial initial; background-repeat: initial initial; ">
                <select size="2" style="white-space: pre; overflow-x: auto; overflow-y: auto; font-size: 10pt; font-family: Helvetica; left: 0px; top: 0px; width: 100px; height: 100px; " class="visibleSelection">
                        <option>1</option>
                        <option>2</option>
                        <option>3</option>
                </select>
        </div>
</div>
</span></div><div><span class="Apple-style-span" style="font-size: 13px; white-space: pre-wrap;"><br></span></div><div><br></div><br><blockquote type="cite">
<div>And speaking of tags, each html representation of a morph seems to be contained in an additional 0 x 0 px div. I assume this encodes the position of the morph, but why isn't this done in the actual div of the morph?</div></blockquote><div><br></div>We distinguish between the shape of the morph and the morph and all its submorphs. A morph does not need a shape.... </div><div><br></div><div><blockquote type="cite">
<div><br></div><div>Regarding theming: Is this done by assigning a basic style to the world which then passes down the styling to its submorphs?</div><div>If so, does this apply to all morphs, so any morph can override the world styling to employ a different style to all of its own submorphs?</div>
<div><br></div></blockquote><div><br></div><div>We do not have different themes in Lively2 yet. But ask Lauritz and Fabian, they are working on one right now.</div><br><blockquote type="cite"><div>I know these are quite a few questions for the start, but I hope you can give me some insights on some of them.</div><div><br></div>
</blockquote><br></div><div>I hope I could answer some of them. </div><div><br></div><div>Best,</div><div>Jens</div><div><br></div><br></div></div></body></html>