Hi,<br><br>WAComponent subclass: #Site<br>&nbsp;&nbsp;&nbsp; instanceVariableNames: &#39;head menu&#39;<br>&nbsp;&nbsp;&nbsp; classVariableNames: &#39;&#39;<br>&nbsp;&nbsp;&nbsp; poolDictionaries: &#39;&#39;<br>&nbsp;&nbsp;&nbsp; category: &#39;Pom&#39;<br><br>children<br>&nbsp;&nbsp;&nbsp; ^ Array with: self head with: self menu 
<br><br>initialize<br>&nbsp;&nbsp;&nbsp; super initialize.<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; head := Head new.<br>&nbsp;&nbsp;&nbsp; menu := Menu2 new.&nbsp;&nbsp;&nbsp; <br><br>Is this info better?<br>But from menu2 in renderContentOn i call next Class WMenuItem which i want use to render my items.
<br>When i render items direct in menu2 component it works fine. But i want learn render items in next component (because items are hierarchical structure and WMenuItem can work recursively)<br><br>When i write render i think write in html to website ;).
<br><br>I thought that problem is here: menu2 dont have dynamically created WMenuItem in his children array. But i am not able to add it into this array (children of menu2). When i change code renderContentOn of Menu2:<br>
<br>renderContentOn: html <br>&nbsp;&nbsp;&nbsp; | temp |<br>&nbsp;&nbsp;&nbsp; html<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unorderedList: [items do: [:item | <span style="font-weight: bold;">temp := WMenuItem new. self children: self children, temp.</span> html div class: &#39;a&#39;; with:&nbsp; (temp kategorie: item) ]]
<br><br>i get this error:<br><h2>Error: Instances of WMenuItem are not indexable</h2><br><br><br><div><span class="gmail_quote">2007/12/29, Rajeev Lochan &lt;<a href="mailto:lochan94@gmail.com">lochan94@gmail.com</a>&gt;:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">hi,<br>Have you defined/declared menu as an instance variable in class Site (I hope thats the class n ame for the first set of code). It would be clear if you can provide that info.
<br><br>The error you have got is due to the fact that the method 
<br>children<br>^ Array with: menu<br><br>is not triggered properly. <br><br>Update if you still encounter any problem,<br>Hope that helps,<br>Rajeev<br><br><div class="gmail_quote"><div><span class="e" id="q_11726a371ae0fe6e_1">
On Dec 29, 2007 5:48 PM, an organic &lt;
<a href="mailto:seasidebeginner@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">seasidebeginner@gmail.com</a>&gt; wrote:<br></span></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><span class="e" id="q_11726a371ae0fe6e_3">Hello, 
<br><br>i am new with seaside and i want make this demo:<br><br>class Site root component:<br><br>children<br>&nbsp;&nbsp;&nbsp; ^ Array with: self menu<br><br>renderContentOn: html<br>&nbsp;&nbsp;&nbsp; html div class: &#39;site&#39;; with: [<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; html div class: &#39;menu&#39;; with: self menu.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ]<br><br>initialize<br>&nbsp;&nbsp;&nbsp; super initialize.<br><br>&nbsp;&nbsp;&nbsp; menu := Menu2 new.<br><br>+canberoot and accessors for menu<br><br><br>class Menu2 instance variables: items
<br>initialize<br>&nbsp;&nbsp;&nbsp; super initialize.<br>&nbsp;&nbsp;&nbsp; items := OrderedCollection new.<br>&nbsp;&nbsp;&nbsp; items<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; add: (Item new value: &#39;1&#39;).<br>&nbsp;&nbsp;&nbsp; items<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; add: (Item new value: &#39;2&#39;).<br>&nbsp;&nbsp;&nbsp; items<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; add: (Item new value: &#39;3&#39;)
<br><br>renderContentOn: html <br>&nbsp;&nbsp;&nbsp; html<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unorderedList: [items do: [:item | html div class: &#39;a&#39;; with:&nbsp; (SubMenu new item: item) ]]<br><br>class Item instanceVar value<br>renderContentOn: html<br>&nbsp;&nbsp;&nbsp; html text: value.
<br><br><br><br>WAComponent subclass: #SubMenu<br>&nbsp;&nbsp; &nbsp;instanceVariableNames: &#39;item itemEditor&#39;<br>&nbsp;&nbsp; &nbsp;classVariableNames: &#39;&#39;<br>&nbsp;&nbsp; &nbsp;poolDictionaries: &#39;&#39;<br>&nbsp;&nbsp; &nbsp;category: &#39;Pom&#39;<br><br>editItem: aItem
<br>&nbsp;&nbsp;&nbsp; self itemEditor item: aItem copy.<br>&nbsp;&nbsp;&nbsp; (self call: self itemEditor)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ifTrue: [aItem copyFrom: self itemEditor item]<br><br>initialize<br>&nbsp;&nbsp;&nbsp; super initialize.<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; itemEditor := ItemEditor new.
<br><br>renderContentOn: html <br>&nbsp;&nbsp;&nbsp; html<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listItem: [html text: &#39; a &#39; , self item value.<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; html anchor<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; callback: [self editItem: self item];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;with: &#39;e&#39;]
<br><br>and itemEditor, i think editors is fine. <br><br>i think problem is in menu2 when i create new object subMenu because when i click on &#39;e&#39; and i want edit item i get error:<br><br><h3>Possible Causes</h3><ul>


<li>you do not implement #children correctly</li><li>you do not backtrack #children correctly</li><li>you do not implement #states correctly</li></ul><h3>Stack Trace</h3><ol><li><dl><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;3" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


thisContext</a></dt><dd>WARenderContinuation&gt;&gt;componentsNotFound:</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;4" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
self</a></dt><dd>a WARenderContinuation
</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;5" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
aCollection</a></dt><dd>an Array(a SubMenu)</dd></dl></li><li><dl><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;6" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
thisContext</a></dt><dd>WARenderContinuation&gt;&gt;unprocessedCallbacks:
</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;7" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">self</a></dt><dd>a WARenderContinuation</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;8" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


aCollection</a></dt><dd>an Array(a WAActionCallback)</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;9" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">owners
</a></dt><dd>an Array(a SubMenu)</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;10" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

each</a></dt><dd>a WAActionCallback</dd></dl></li><li><dl><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;11" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
thisContext</a></dt><dd>WARenderContinuation&gt;&gt;processCallbacks:
</dd>
<dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;12" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">self</a></dt><dd>a WARenderContinuation</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;13" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


aRequest</a></dt><dd>a WARequest GET /seaside/site</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;14" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">lastPosition
</a></dt><dd>0</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;15" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

callbackStream</a></dt><dd>a WACallbackStream</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;16" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">each</a>
</dt><dd>a WAToolFrame</dd></dl></li><li><dl><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;17" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

thisContext</a></dt><dd>[] in WARenderContinuation&gt;&gt;handleRequest: {[self processCallbacks: aRequest]}</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

self</a></dt><dd>
a WARenderContinuation</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;19" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">aRequest</a></dt><dd>a WARequest GET /seaside/site
</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;20" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

r</a></dt><dd>nil</dd></dl></li><li><dl><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;21" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">thisContext</a></dt>
<dd>BlockContext&gt;&gt;on:do:</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;22" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

self</a></dt><dd>[] in WARenderContinuation&gt;&gt;handleRequest: {[self processCallbacks: aRequest]}</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;23" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
exception
</a></dt><dd>an ExceptionSet
</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;24" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">handlerAction</a></dt><dd>[] in WARenderContinuation&gt;&gt;withNotificationHandler: {[:n | n]}
</dd><dt><a href="http://localhost:8080/seaside/site?_s=sVPLwysvyCJwWnRw&amp;_k=aILgLVQn&amp;25" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

handlerActive</a></dt><dd>true</dd></dl></li></ol><br><br>I hope it&#39;s quite clear. Thnx for help<br>
<br></span></div>_______________________________________________<br>seaside mailing list<br><a href="mailto:seaside@lists.squeakfoundation.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">seaside@lists.squeakfoundation.org
</a><br><a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Rajeev Lochan<br><br>Co-founder, AR-CAD.com<br><br><a href="http://www.ar-cad.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.ar-cad.com
</a><br>+91 9243468076 (Bangalore)<br>080 65355873
<br>_______________________________________________<br>seaside mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
</a><br><br></blockquote></div><br>