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> 1. Source codes:</div><div> - repository: <a href="http://www.squeaksource.com/JKExperiments.html">http://www.squeaksource.com/JKExperiments.html</a></div>
<div> - ob-dev: <a href="http://source.wiresong.ca/ob">http://source.wiresong.ca/ob</a></div><div> - packages:</div><div> - OmniBrowser-jk.408</div><div> - OB-Morphic-lr.45</div><div> - OB-Standard-jk.325</div>
<div> - OB-TraitsIntegration-jk.41</div><div> - packages with sUnit tests (necessary because of tests in</div><div> OB-TraitsIntegration-jk.41)</div><div> - OB-Tests-Core-cwp.65</div><div> - OB-Fake-lr.9</div>
<div> - Bogus-cwp.18</div><div> - BogusInfo-cwp.17</div><div> - OB-Tests-Standard-dr.86</div><div><br class="webkit-block-placeholder"></div><div> 2. Check out:</div><div> - OBTraitsBrowser openOnClass: ClassDescription selector: #addInstVarName:.</div>
<div> - OBTraitsBrowser openOnClass: ClassDescription.</div><div><br class="webkit-block-placeholder"></div><div> 3. Basic implementation motivation</div><div> - It is possible to set tree navigation for an OBMetaEdge. </div>
<div> See: OBTraitMetagraphBuilder>>populateTraitFilterInTree</div><div><br class="webkit-block-placeholder"></div><div> There is a new property for OBMetaEdge called navigate (instvar)</div><div> and new classes OBDefaultEdgeNavigation and OBTreeEdgeNavigation</div>
<div> which defines navigation. Every OBNode has also instvar</div><div> navigate. It is set during children gathering (see</div><div> OBMetaEdge>>nodesForParent:). So, how it works:</div><div><br class="webkit-block-placeholder">
</div><div> If `OBTraitsBrowser openOnClass: ClassDescription` is executed,</div><div> a Subtree collects OBFan(s). After that OBColumn(s) is/are</div><div> adjusted (see OBSubtree>>selectInColumns:). There are some</div>
<div> changes. Every column is responsible for adjusting of next</div><div> column (see #nextColumnWithFan:selection:,</div><div> #columnAfter:withFan:selection:). An OBNode's navigate instvar</div><div>
helps do decide which navigation to use (see</div><div> OBFan>>columnAfter:selection:).</div><div><br class="webkit-block-placeholder"></div><div> There is OBTreeColumn instead of OBColumn which can hold more</div>
<div> fans (OBFan).</div><div><br class="webkit-block-placeholder"></div><div> 4. The present state and issues</div><div> </div><div> Generally it works except switches. There is a lot of garbage,</div><div> which may breaks something, but after clarifying of some issues i</div>
<div> am planning to write everything from scratch again (i mean tree</div><div> navigation part).</div><div><br class="webkit-block-placeholder"></div><div> 1. Switches</div><div><br class="webkit-block-placeholder">
</div><div> Actually I do not know how to handle switches (e.g. buttons |</div><div> instance | ? | class |). There are 3 basic situations:</div><div><br class="webkit-block-placeholder"></div><div> 1. node has only default edges (no tree edges)</div>
<div><br class="webkit-block-placeholder"></div><div> There is no problem. It behaves just like now. Buttons are</div><div> in column with the node as parent node.</div><div><br class="webkit-block-placeholder">
</div><div> 2. node has both default and tree edges</div><div><br class="webkit-block-placeholder"></div><div> I have no idea how to handle it. Ignore tree edges?</div><div> Duplicate buttons?</div>
<div><br class="webkit-block-placeholder"></div><div> 3. node has only tree edges</div><div><br class="webkit-block-placeholder"></div><div> It is quite clear i think. Buttons are displayed if parent</div><div>
node is selected in the parent node's column.</div><div><br class="webkit-block-placeholder"></div><div> 2. OBColumn vs. OBTreeColumn (Tree navigation in core OmniBrowser</div><div> package)</div><div>
<br class="webkit-block-placeholder"></div><div> If it is wanted to integrate tree navigation to the core,</div><div> OBTreeColumn should be dissolved to OBColumn. And the same with</div><div> a view presentation (a Morphic classes). Should i focus on it?</div>
<div> Do we want to have a tree capable morph as default graphic</div><div> 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 <<a href="mailto:ssastre@seaswork.com" target="_blank">ssastre@seaswork.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Jura,<br><br> can you specify the repository you mention so I can take a look?<br><br> thanks,<br><div>
<br>Sebastian Sastre<br><br><br>________________________________<br><br> 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> Enviado el: Viernes, 08 de Febrero de 2008 11:42<br> Para: David Röthlisberger<br> CC: The general-purpose Squeak developers list<br> Asunto: Re: Class hierarchy topology<br><br><br>
</div><div><div></div><div> Hi!<br><br> OK. I will merge my changes back to OB repository and anyone can<br>play with it. But there are conceptual issues I haven't solved yet. I will<br>merge it by tomorrow and post some notes.<br>
<br> Jura<br><br><br> On Feb 8, 2008 2:17 PM, David Röthlisberger <<a href="mailto:squeak@c3com.ch" target="_blank">squeak@c3com.ch</a>> wrote:<br><br><br><br> > I'm not yet familiar to OmniBrowser but I read that<br>
it's a framework<br> > to make browsers. Do you think could be feasible to make a<br>variant of it so<br> > it have a tree view instead of the idented one?<br><br><br> Isn't Juraj Kubelka working on that? I think he has<br>
implemented a tree view for<br> OmniBrowser.<br> He can certainly tell you more.<br><br> David<br><br><br><br><br><br></div></div></blockquote></div><br></div>