<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span><span class="Apple-tab-span" style="white-space:pre">        </span></span></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">HI,</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">Thanks a million Andreas!</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">I´ve been tearing my hair out for months on and off for the following EASY solution.......</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;
 "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div><div><font class="Apple-style-span" size="2">&nbsp;map.events.on({</font></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; &nbsp; &nbsp; "zoomend": function (e) {</font></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.getZoom() &gt; 12) {</font><span class="Apple-style-span" style="font-size: small; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;layer_Flurbloeke.setVisibility(true);</font></div><div><font class="Apple-style-span" size="2">&nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>&nbsp; &nbsp; &nbsp;</font><span class="Apple-style-span" style="font-size: small; ">layerTree.getRootNode().findChild('layer', layer_1, true).enable();</span><span
 class="Apple-style-span" style="font-size: small; ">&nbsp; &nbsp; &nbsp;</span></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {</font></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; layer_1.setVisibility(false);</font><span class="Apple-style-span" style="font-size: small; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; layerTree.getRootNode().findChild('layer', layer_1, true).disable();</font></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; &nbsp; </font><span class="Apple-style-span" style="font-size: 13px; ">&nbsp; &nbsp; &nbsp; &nbsp;</span></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</font></div><div><font class="Apple-style-span" size="2">&nbsp;
 &nbsp; &nbsp; &nbsp; }</font></div><div><font class="Apple-style-span" size="2">&nbsp; &nbsp; });</font></div></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">This checks/unchecks the layer and disables the treenode on the required zoom level!!!</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">Yours,</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">Rob</div><div
 style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div>  <div style="font-size: 10pt; font-family: arial, helvetica, sans-serif; "> <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">Von:</span></b> Andreas Hocevar &lt;ahocevar@opengeo.org&gt;<br> <b><span style="font-weight: bold;">An:</span></b> Robert Buckley &lt;robertdbuckley@yahoo.com&gt; <br><b><span style="font-weight: bold;">Cc:</span></b> "users@geoext.org" &lt;users@geoext.org&gt; <br> <b><span style="font-weight: bold;">Gesendet:</span></b> 17:43 Montag, 28.November 2011<br> <b><span style="font-weight: bold;">Betreff:</span></b> Re: [Users] How to disable a Treenode ?<br> </font> <br>You are confusing layer (i.e. instances of OpenLayers.Layer, which<br>have a setVisibility() method) and node (i.e. instances of<br>Ext.tree.TreeNode, which have a config
 option "disabled", which only<br>controls the initial enabled/disabled state upon instance creation,<br>and enable() and disable() methods). As you found out, you are using<br>setVisibility in the correct context (the layer), but you are totally<br>off controlling the node.<br><br>Search the archives, this question was thoroughly answered a few weeks<br>ago. IIRC even a code snippet was provided.<br><br>Andreas.<br><br>On Mon, Nov 28, 2011 at 5:21 PM, Robert Buckley<br>&lt;<a ymailto="mailto:robertdbuckley@yahoo.com" href="mailto:robertdbuckley@yahoo.com">robertdbuckley@yahoo.com</a>&gt; wrote:<br>&gt; Hi,<br>&gt; I want to disable treenode like in this webapp (<a href="http://www2.visdat.de/" target="_blank">http://www2.visdat.de/</a>) look<br>&gt; at "Freie Webdienste" which nicely disables treenodes after a certain<br>&gt; resolution.<br>&gt; The relevant code is this....<br>&gt; "<br>&gt; map.events.register('zoomend', map, function (e) {<br>&gt;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (map.getZoom() &lt; minZoom) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; map.zoomTo(minZoom)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (map.getZoom() &gt; maxZoom) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; map.zoomTo(maxZoom)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (var k = 0; k &lt; layerArray.length; k++) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var layerId = layerArray[k][8];<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (layerTree.getNodeById(layerId)) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ((map.getResolution() &gt;= layerArray[k][9] &amp;&amp;<br>&gt; map.getResolution() &lt;= layerArray[k][10]) || (layerArray[k][9] == null
 &amp;&amp;<br>&gt; layerArray[k][10] == null)) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; layerTree.getNodeById(layerId).enable();<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (layerArray[k][9] != null &amp;&amp; layerArray[k][10] !=<br>&gt; null) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (map.getResolution() &lt;= layerArray[k][9] ||<br>&gt; map.getResolution() &gt;= layerArray[k][10]) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; layerTree.getNodeById(layerId).disable();<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&gt; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&gt;<br>&gt;<br>&gt; "<br>&gt; In my Application I wanted to disable a treenode when the zoomlevel goes<br>&gt; above 12, but although api docs (<a href="http://www.myext.cn/ext-3.2.1/docs/" target="_blank">http://www.myext.cn/ext-3.2.1/docs/</a>)&nbsp;say<br>&gt; that a treenode has a disabled property, firebug says otherwise<br>&gt; According to the geoext docs<br>&gt; (<a href="http://geoext.org/lib/GeoExt/widgets/tree/LayerNode.html" target="_blank">http://geoext.org/lib/GeoExt/widgets/tree/LayerNode.html</a>)<br>&gt; "Configuration properties in addition to those listed<br>&gt; for&nbsp;Ext.tree.TreeNode."<br>&gt;<br>&gt; So I looked at the&nbsp;Ext.tree.TreeNod&nbsp;propertie and saw this...<br>&gt; disabled&nbsp;: Boolean<br>&gt; true to start the node disabled<br>&gt; So, I tried this...<br>&gt; map.events.on({<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp;
 "zoomend": function (e) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.getZoom() &gt; 12) {<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; layer_1.setVisibility(true);<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; layer_1.disabled="false";<br>&gt;<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; layer_1.setVisibility(false);<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; layer_1.disabled="true";<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var mapcenter = getMapCenter();<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&gt; &nbsp; &nbsp; });<br>&gt; and my console reports "has no method 'disable'"<br>&gt; The setVisibility(true); works ok, but this method isn´t even documented!<br>&gt; I am not a javaascript guru
 unfortunately, but I thought I could understand<br>&gt; the docs...now i´m not too sure.<br>&gt; Thanks for any help,<br>&gt; Rob<br>&gt;<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; Users mailing list<br>&gt; <a ymailto="mailto:Users@geoext.org" 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>&gt;<br>&gt;<br><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><br> </div> </div>  </div></body></html>