node.getUI().checkbox.nextElementSibling.setValue(1);<br><br>could probably be replaced by <br><br>Ext.get(node.attributes.radio).setValue(1);<br><br>Other than that, your solution is fine.<br><br><div class="gmail_quote">

On Fri, Dec 10, 2010 at 3:04 PM, David E. Reksten <span dir="ltr">&lt;<a href="mailto:der@dod.no">der@dod.no</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;">

Nice! Thanks a lot for your answer.<br>
<br>
I was also able to accomplish the same with this hack:<br>
<br>
function setLayerRadioButton(layerID) {<br>
    selNodes = treePanel.getChecked();<br>
    Ext.each(selNodes, function(node){<br>
        if (<a href="http://node.layer.id" target="_blank">node.layer.id</a> == layerID) {<br>
            node.getUI().checkbox.nextElementSibling.setValue(1);<br>
            // trigger the &#39;radiochange&#39; event manually here...<br>
        }<br>
    });<br>
<br>
};<br>
<br>
Regards,<br>
David<br>
<br>
2010/12/10 Pierre Giraud &lt;<a href="mailto:pierre.giraud@camptocamp.com">pierre.giraud@camptocamp.com</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Hi,<br>
&gt;<br>
&gt; I&#39;ve just tried and I&#39;ve succeeded in using the following piece of code :<br>
&gt;<br>
&gt; var node = treePanel.root.findChild(&#39;layer&#39;, newVectorLayer, true);<br>
&gt; Ext.get(node.attributes.radio).set({<br>
&gt;     &#39;checked&#39;: &#39;checked&#39;<br>
&gt; });<br>
&gt;<br>
&gt; This won&#39;t fire the &#39;radiochange&#39; event though. However, I think you can<br>
&gt; execute the &#39;set active layer&#39; code on your own at the same time.<br>
&gt;<br>
&gt; Please also consider using the new &quot;GeoExt.plugins.TreeNodeRadioButton&quot;<br>
&gt; instead of the mixin. You may need a recent version of GeoExt though.<br>
&gt;<br>
&gt; Regards,<br>
&gt; Pierre<br>
&gt;<br>
&gt; On Thu, Dec 9, 2010 at 10:39 AM, David E. Reksten &lt;<a href="mailto:der@dod.no">der@dod.no</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; I have layer tree in my application with both checkboxes (visibility)<br>
&gt;&gt; and radiobuttons (&quot;active layer&quot;).<br>
&gt;&gt;<br>
&gt;&gt; Users may add new vector layers via a button, but for the moment they<br>
&gt;&gt; must always manually click the radio button after adding the layer to<br>
&gt;&gt; activate it. I would have preferred that a new layer was automatically<br>
&gt;&gt; checked, but I am unable to find out how to do it. Ideally, I would<br>
&gt;&gt; like to set the radio button at the same time as after having added<br>
&gt;&gt; the new layer to the map. I have googled extensively, but I suspect<br>
&gt;&gt; that I am using the wrong terminology here, as I have been unable to<br>
&gt;&gt; find out how to achieve this. Any hints would be very much<br>
&gt;&gt; appreciated!<br>
&gt;&gt;<br>
&gt;&gt; My tree panel is defined like this:<br>
&gt;&gt;<br>
&gt;&gt;    treeConfig = [{<br>
&gt;&gt;        nodeType: &quot;gx_baselayercontainer&quot;,<br>
&gt;&gt;        text: &quot;Base layers&quot;,<br>
&gt;&gt;        expanded: true<br>
&gt;&gt;    }, {<br>
&gt;&gt;        nodeType: &quot;gx_overlaylayercontainer&quot;,<br>
&gt;&gt;        text: &quot;My overlays&quot;,<br>
&gt;&gt;        expanded: true,<br>
&gt;&gt;        loader: {<br>
&gt;&gt;            baseAttrs: {<br>
&gt;&gt;                radioGroup: &quot;foo&quot;,<br>
&gt;&gt;                uiProvider: &quot;use_radio&quot;<br>
&gt;&gt;            }<br>
&gt;&gt;        }<br>
&gt;&gt;    }];<br>
&gt;&gt;<br>
&gt;&gt;    treePanel = new Ext.tree.TreePanel({<br>
&gt;&gt;        id: &#39;mainpanel&#39;,<br>
&gt;&gt;        border: true,<br>
&gt;&gt;        region: &quot;west&quot;,<br>
&gt;&gt;        title: &quot;My layers&quot;,<br>
&gt;&gt;        width: 200,<br>
&gt;&gt;        split: true,<br>
&gt;&gt;        collapsible: true,<br>
&gt;&gt;        margins: &#39;0 0 5 5&#39;,<br>
&gt;&gt;        collapseMode: &quot;mini&quot;,<br>
&gt;&gt;        autoScroll: true,<br>
&gt;&gt;        loader: new Ext.tree.TreeLoader({<br>
&gt;&gt;            // applyLoader has to be set to false to not interfere with<br>
&gt;&gt; loaders<br>
&gt;&gt;            // of nodes further down the tree hierarchy<br>
&gt;&gt;            applyLoader: false,<br>
&gt;&gt;            uiProviders: {<br>
&gt;&gt;                &quot;use_radio&quot;: Ext.extend(GeoExt.tree.LayerNodeUI, new<br>
&gt;&gt; GeoExt.tree.RadioButtonMixin());<br>
&gt;&gt;            }<br>
&gt;&gt;        }),<br>
&gt;&gt;        root: {<br>
&gt;&gt;            nodeType: &quot;async&quot;,<br>
&gt;&gt;            children: treeConfig<br>
&gt;&gt;        },<br>
&gt;&gt;        listeners: {<br>
&gt;&gt;            &quot;radiochange&quot;: function(node){<br>
&gt;&gt;                // toggle active layer<br>
&gt;&gt;            }<br>
&gt;&gt;        },<br>
&gt;&gt;        rootVisible: false,<br>
&gt;&gt;        lines: false<br>
&gt;&gt;    });<br>
&gt;&gt;<br>
&gt;&gt; After the user has clicked the button to add a layer:<br>
&gt;&gt;    // ... newVectorLayer is defined here ...<br>
&gt;&gt;    map.addLayer(newVectorLayer);<br>
&gt;&gt;    // would now like to activate the radio button in the TreePanel<br>
&gt;&gt; for &quot;newVectorLayer&quot;, so that the &quot;radiochange&quot; event is triggered:<br>
&gt;&gt; but how?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt; David<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Users mailing list<br>
&gt;&gt; <a href="mailto:Users@geoext.org">Users@geoext.org</a><br>
&gt;&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>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Pierre GIRAUD<br>
&gt; Géomaticien, Analyste<br>
&gt;<br>
&gt; Camptocamp France SAS<br>
&gt; Savoie Technolac, BP 352<br>
&gt; 73377 Le Bourget du Lac, Cedex<br>
&gt;<br>
&gt; Tel : 00 33 4 79 44 44 93<br>
&gt; Mail : <a href="mailto:pierre.giraud@camptocamp.com">pierre.giraud@camptocamp.com</a><br>
&gt; <a href="http://www.camptocamp.com" target="_blank">http://www.camptocamp.com</a><br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Pierre GIRAUD<br>Géomaticien, Analyste<br><br>Camptocamp France SAS<br>Savoie Technolac, BP 352<br>73377 Le Bourget du Lac, Cedex <br><br>Tel : 00 33 4 79 44 44 93<br>

Mail : <a href="mailto:pierre.giraud@camptocamp.com">pierre.giraud@camptocamp.com</a><br><a href="http://www.camptocamp.com">http://www.camptocamp.com</a>  <br>