Thank you Andres for your reply.  This line:<br><br>attr.iconCls = &quot;your_icon_class_here&quot;;<br><br>I know by default the gx-tree-layer-icon class is called.  But I am not sure how to create my own :?.  Also where is this gx-tree-layer-icon located?  Maybe if I look at the class code I&#39;ll get it.  Is there a way that I can have the iconCls just point to an image file?  <br>
<br>I ended up using layer containers instead and now I am worried that I won&#39;t be able to customize each node :(  Am I right about this? Here is my tree structure:<br><br>var layerRoot = new Ext.tree.TreeNode({<br>                text: &quot;All Layers&quot;,<br>
                expanded: true<br>  });<br><br>var tibNaturalLayers = new GeoExt.data.LayerStore({<br>                    map: map,<br>                    initDir: 0,<br>                    layers: [tib_villages, tib_rivers, tib_lakes, tib_grazing, tib_glaciers]<br>
 });<br><br>layerRoot.appendChild(new GeoExt.tree.OverlayLayerContainer({<br>                        text: &quot;Natural Selection (Tibetan trans)&quot;,<br>                        layerStore: tibNaturalLayers,<br>                        expanded: false,<br>
                        loader: {param: &quot;LAYERS&quot;}<br> }));<br><br>Thanks for all the support :)<br><br>elshae<br><br><br><div class="gmail_quote">On Thu, Sep 23, 2010 at 4:10 AM, Andreas Hocevar <span dir="ltr">&lt;<a href="mailto:ahocevar@opengeo.org">ahocevar@opengeo.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi,<br>
<br>
the easiest thing to do is indeed just create one WMS layer:<br>
<br>
var villages = new OpenLayers.Layer.WMS(<br>
    &quot;Villages&quot;,<br>
<div class="im">    &quot;<a href="http://10.0.102.11:8080/geoserver/wms" target="_blank">http://10.0.102.11:8080/geoserver/wms</a>&quot;, {<br>
</div>        layers: &#39;cite:tib_townships,cite:tib_villages,cite:chn_villages&#39;,<br>
<div class="im">        transparent: true<br>
    }, {<br>
        isBaseLayer: false,<br>
        displayInLayerSwitcher: true<br>
    }<br>
</div>);<br>
<br>
Then, you could have an object for your options:<br>
<br>
var options = {<br>
    &quot;cite:tib_townships&quot;: {visibility: true, text: &quot;Townships (Tibetan trans)&quot;},<br>
    &quot;cite:tib_villages&quot;: {visibility: true, text: &quot;Villages (Tibetan trans)&quot;},<br>
    &quot;cite:chn_villages&quot;: {visibility: false, text: &quot;Villages (Chinese trans)&quot;}<br>
};<br>
<br>
Now in your tree, add the node for the WMS layer, and configure a loader with a custom createNode method that applies your options:<br>
<div class="im"><br>
layerRoot.appendChild(new GeoExt.tree.LayerNode({<br>
</div>    layer: villages,<br>
    isLeaf: false,<br>
    loader: {<br>
        param: &quot;LAYERS&quot;,<br>
        createNode: function(attr) {<br>
            attr.layer.setVisibility(options[<a href="http://attr.layer.name" target="_blank">attr.layer.name</a>].visibility);<br>
            attr.text = options[<a href="http://attr.layer.name" target="_blank">attr.layer.name</a>].text;<br>
            attr.iconCls = &quot;your_icon_class_here&quot;;<br>
            GeoExt.tree.LayerParamLoader.prototype.createNode.call(this, attr);<br>
        }<br>
    }<br>
});<br>
<br>
The iconCls is for your custom icon. See the ExtJS documentation for Ext.tree.TreeNode for an explanation.<br>
<br>
This should cover about all you were asking.<br>
<br>
Regards,<br>
Andreas.<br>
<div><div></div><div class="h5"><br>
<br>
<br>
On Sep 22, 2010, at 19:37 , IT Intern wrote:<br>
<br>
&gt; I sincerely apologize about the previous emails :(, they were sent by accident...<br>
&gt;<br>
&gt; Hello GeoExt List,<br>
&gt;<br>
&gt; I am new to GeoExt and I am grateful such a library has been created.  Now I am trying to make a layer tree for my map browser.  I got some ideas on how to create a general one, but there are some options I&#39;d like to have that I cannot find.  I do not know if it is because they do not exist or I am just unaware.<br>

&gt;<br>
&gt; Here&#39;s what I&#39;d like to do:<br>
&gt;<br>
&gt; 1.  I&#39;d like to be able to have a few layers declared by variables as such:<br>
&gt;<br>
&gt;            var tib_townships = new OpenLayers.Layer.WMS(<br>
&gt;                             &quot;Townships (Tibetan trans)&quot;, &quot;<a href="http://10.0.102.11:8080/geoserver/wms" target="_blank">http://10.0.102.11:8080/geoserver/wms</a>&quot;, {layers: &#39;cite:tib_townships&#39;, transparent: true}, {isBaseLayer: false, displayInLayerSwitcher: true, visibility: true}<br>

&gt;                        );<br>
&gt;<br>
&gt;             var chn_villages = new OpenLayers.Layer.WMS(<br>
&gt;                             &quot;Villages (Chinese trans)&quot;, &quot;<a href="http://10.0.102.11:8080/geoserver/wms" target="_blank">http://10.0.102.11:8080/geoserver/wms</a>&quot;, {layers: &#39;cite:chn_villages&#39;, transparent: true}, {isBaseLayer: false, displayInLayerSwitcher: true, visibility: false}<br>

&gt;                        );<br>
&gt;<br>
&gt;             var tib_villages = new OpenLayers.Layer.WMS(<br>
&gt;                             &quot;Villages (Tibetan trans)&quot;, &quot;<a href="http://10.0.102.11:8080/geoserver/wms" target="_blank">http://10.0.102.11:8080/geoserver/wms</a>&quot;, {layers: &#39;cite:tib_villages&#39;, transparent: true}, {isBaseLayer: false, displayInLayerSwitcher: true, visibility: true}<br>

&gt;                        );<br>
&gt;<br>
&gt; and then I&#39;d like to be able to add these layers to a single node:<br>
&gt;<br>
&gt;                 var layerRoot = new Ext.tree.TreeNode({<br>
&gt;                 text: &quot;All Layers&quot;,<br>
&gt;                 expanded: true<br>
&gt;                 });<br>
&gt;<br>
&gt;                 layerRoot.appendChild(new GeoExt.tree.LayerNode({<br>
&gt;                 text: &quot;Tibetan Villages&quot;,<br>
&gt;                 layer: tib_villages,                                        //RIGHT HERE, is there a way to add all three layers here using those variables???<br>
&gt;                 loader: {param: &quot;LAYERS&quot;},<br>
&gt;                 expanded: true<br>
&gt;                 }));<br>
&gt;<br>
&gt; I know my other option is to create a Openlayer WMS with all three layers in it sort of as a group, but I run into the same problem there that I am unable to add these variables but have to add the layers directly from the wms and then they do not have the options I have set in my code :-/<br>

&gt;<br>
&gt;<br>
&gt; 2.  I&#39;d also like to be able to change the names that appear for the layers that are in the nodes.  Instead of the wms store:layer, I&#39;d like something custom as &quot;my layer&quot;.  Is there any property for this anywhere???<br>

&gt;<br>
&gt; 3.  I&#39;d like to change the icons of the default layer tree.  Maybe instead of folders etc, something like my own image etc..<br>
&gt;<br>
&gt; I appreciate all the feedback.  I have been struggling with layer trees and I would really like to do something awesome with them for my app.<br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt; elshae<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; <a href="mailto:Users@geoext.org">Users@geoext.org</a><br>
&gt; <a href="http://www.geoext.org/cgi-bin/mailman/listinfo/users" target="_blank">http://www.geoext.org/cgi-bin/mailman/listinfo/users</a><br>
<font color="#888888"><br>
<br>
<br>
--<br>
Andreas Hocevar<br>
OpenGeo - <a href="http://opengeo.org/" target="_blank">http://opengeo.org/</a><br>
Expert service straight from the developers.<br>
<br>
</font></blockquote></div><br>