Hi Sebastian,<div><br></div><div>sorry, I am late. There was a really sunny weather :-)</div><div><br class="webkit-block-placeholder"></div><div>So, about my work, results and issues:</div><div><br class="webkit-block-placeholder">
</div><div><br class="webkit-block-placeholder"></div><div><div>&nbsp;1. Source codes:</div><div>&nbsp;&nbsp; &nbsp;- repository: <a href="http://www.squeaksource.com/JKExperiments.html">http://www.squeaksource.com/JKExperiments.html</a></div>
<div>&nbsp;&nbsp; &nbsp;- ob-dev: <a href="http://source.wiresong.ca/ob">http://source.wiresong.ca/ob</a></div><div>&nbsp;&nbsp; &nbsp;- packages:</div><div>&nbsp;&nbsp; &nbsp; &nbsp;- OmniBrowser-jk.408</div><div>&nbsp;&nbsp; &nbsp; &nbsp;- OB-Morphic-lr.45</div><div>&nbsp;&nbsp; &nbsp; &nbsp;- OB-Standard-jk.325</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;- OB-TraitsIntegration-jk.41</div><div>&nbsp;&nbsp; &nbsp;- packages with sUnit tests (necessary because of tests in</div><div>&nbsp;&nbsp; &nbsp; &nbsp;OB-TraitsIntegration-jk.41)</div><div>&nbsp;&nbsp; &nbsp; &nbsp;- OB-Tests-Core-cwp.65</div><div>&nbsp;&nbsp; &nbsp; &nbsp;- OB-Fake-lr.9</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;- Bogus-cwp.18</div><div>&nbsp;&nbsp; &nbsp; &nbsp;- BogusInfo-cwp.17</div><div>&nbsp;&nbsp; &nbsp; &nbsp;- OB-Tests-Standard-dr.86</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;2. Check out:</div><div>&nbsp;&nbsp; &nbsp;- OBTraitsBrowser openOnClass: ClassDescription selector: #addInstVarName:.</div>
<div>&nbsp;&nbsp; &nbsp;- OBTraitsBrowser openOnClass: ClassDescription.</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;3. Basic implementation motivation</div><div>&nbsp;&nbsp; &nbsp;- It is possible to set tree navigation for an OBMetaEdge.&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;See: OBTraitMetagraphBuilder&gt;&gt;populateTraitFilterInTree</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp; &nbsp;There is a new property for OBMetaEdge called navigate (instvar)</div><div>&nbsp;&nbsp; &nbsp; &nbsp;and new classes OBDefaultEdgeNavigation and OBTreeEdgeNavigation</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;which defines navigation. Every OBNode has also instvar</div><div>&nbsp;&nbsp; &nbsp; &nbsp;navigate. It is set during children gathering (see</div><div>&nbsp;&nbsp; &nbsp; &nbsp;OBMetaEdge&gt;&gt;nodesForParent:). So, how it works:</div><div><br class="webkit-block-placeholder">
</div><div>&nbsp;&nbsp; &nbsp; &nbsp;If `OBTraitsBrowser openOnClass: ClassDescription` is executed,</div><div>&nbsp;&nbsp; &nbsp; &nbsp;a Subtree collects OBFan(s). After that OBColumn(s) is/are</div><div>&nbsp;&nbsp; &nbsp; &nbsp;adjusted (see OBSubtree&gt;&gt;selectInColumns:). There are some</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;changes. Every column is responsible for adjusting of next</div><div>&nbsp;&nbsp; &nbsp; &nbsp;column (see #nextColumnWithFan:selection:,</div><div>&nbsp;&nbsp; &nbsp; &nbsp;#columnAfter:withFan:selection:). An OBNode&#39;s navigate instvar</div><div>
&nbsp;&nbsp; &nbsp; &nbsp;helps do decide which navigation to use (see</div><div>&nbsp;&nbsp; &nbsp; &nbsp;OBFan&gt;&gt;columnAfter:selection:).</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp; &nbsp;There is OBTreeColumn instead of OBColumn which can hold more</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;fans (OBFan).</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;4. The present state and issues</div><div>&nbsp;&nbsp; &nbsp;</div><div>&nbsp;&nbsp; &nbsp;Generally it works except switches. There is a lot of garbage,</div><div>&nbsp;&nbsp; &nbsp;which may breaks something, but after clarifying of some issues i</div>
<div>&nbsp;&nbsp; &nbsp;am planning to write everything from scratch again (i mean tree</div><div>&nbsp;&nbsp; &nbsp;navigation part).</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp;1. Switches</div><div><br class="webkit-block-placeholder">
</div><div>&nbsp;&nbsp; &nbsp; &nbsp; Actually I do not know how to handle switches (e.g. buttons |</div><div>&nbsp;&nbsp; &nbsp; &nbsp; instance | ? | class |). There are 3 basic situations:</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp; &nbsp; 1. node has only default edges (no tree edges)</div>
<div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;There is no problem. It behaves just like now. Buttons are</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;in column with the node as parent node.</div><div><br class="webkit-block-placeholder">
</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 2. node has both default and tree edges</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;I have no idea how to handle it. Ignore tree edges?</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Duplicate buttons?</div>
<div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp; &nbsp; 3. node has only tree edges</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;It is quite clear i think. Buttons are displayed if parent</div><div>
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;node is selected in the parent node&#39;s column.</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp;2. OBColumn vs. OBTreeColumn (Tree navigation in core OmniBrowser</div><div>&nbsp;&nbsp; &nbsp; &nbsp; package)</div><div>
<br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp; &nbsp; &nbsp; If it is wanted to integrate tree navigation to the core,</div><div>&nbsp;&nbsp; &nbsp; &nbsp; OBTreeColumn should be dissolved to OBColumn. And the same with</div><div>&nbsp;&nbsp; &nbsp; &nbsp; a view presentation (a Morphic classes). Should i focus on it?</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; Do we want to have a tree capable morph as default graphic</div><div>&nbsp;&nbsp; &nbsp; &nbsp; representation?</div><div><br class="webkit-block-placeholder"></div><div>Thanks for any comments.</div><div>Jura</div><div><br class="webkit-block-placeholder">
</div></div><div><br><div class="gmail_quote">On Feb 11, 2008 1:39 PM, Sebastian Sastre &lt;<a href="mailto:ssastre@seaswork.com" target="_blank">ssastre@seaswork.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Jura,<br><br> &nbsp; &nbsp; &nbsp; &nbsp;can you specify the repository you mention so I can take a look?<br><br> &nbsp; &nbsp; &nbsp; &nbsp;thanks,<br><div>

<br>Sebastian Sastre<br><br><br>________________________________<br><br> &nbsp; &nbsp; &nbsp; &nbsp;De: <a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank">squeak-dev-bounces@lists.squeakfoundation.org</a><br>[mailto:<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank">squeak-dev-bounces@lists.squeakfoundation.org</a>] En nombre de Juraj<br>

Kubelka<br> &nbsp; &nbsp; &nbsp; &nbsp;Enviado el: Viernes, 08 de Febrero de 2008 11:42<br> &nbsp; &nbsp; &nbsp; &nbsp;Para: David Röthlisberger<br> &nbsp; &nbsp; &nbsp; &nbsp;CC: The general-purpose Squeak developers list<br> &nbsp; &nbsp; &nbsp; &nbsp;Asunto: Re: Class hierarchy topology<br><br><br>

</div><div><div></div><div> &nbsp; &nbsp; &nbsp; &nbsp;Hi!<br><br> &nbsp; &nbsp; &nbsp; &nbsp;OK. I will merge my changes back to OB repository and anyone can<br>play with it. But there are conceptual issues I haven&#39;t solved yet. I will<br>merge it by tomorrow and post some notes.<br>

<br> &nbsp; &nbsp; &nbsp; &nbsp;Jura<br><br><br> &nbsp; &nbsp; &nbsp; &nbsp;On Feb 8, 2008 2:17 PM, David Röthlisberger &lt;<a href="mailto:squeak@c3com.ch" target="_blank">squeak@c3com.ch</a>&gt; wrote:<br><br><br><br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&gt; &nbsp; &nbsp; &nbsp; I&#39;m not yet familiar to OmniBrowser but I read that<br>

it&#39;s a framework<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&gt; to make browsers. Do you think could be feasible to make a<br>variant of it so<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&gt; it have a tree view instead of the idented one?<br><br><br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Isn&#39;t Juraj Kubelka working on that? I think he has<br>

implemented a tree view for<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OmniBrowser.<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;He can certainly tell you more.<br><br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;David<br><br><br><br><br><br></div></div></blockquote></div><br></div>