Hello Geoffrey,<div><br></div><div>Thanks a lot for your comments but my problem is exactly at destroying the legend printing for the vector layers. I have no idea on how to do this. I have tried the following but without success:</div>
<div><br></div><div><div>beforeprint: function(printProv, printMap, printPages, printOpt){</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>var includeLegend = Ext.getCmp(&#39;includeleg&#39;).getValue();</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>if (includeLegend == true){</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>var legOpt = printOpt.legend;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>var legLayerStore = legOpt.layerStore;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>legLayerStore.each(function(layerRec){</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>var layerDef = layerRec.get(&#39;layer&#39;);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>if (layerDef.ClASS_NAME == &#39;OpenLayers.Layer.Vector&#39;){</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>legLayerStore.remove(layerRec);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>})</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div>
<div>}</div><div><br></div><div>So my question would be, how can i tell the printprovider to not print the legend for this type of layers?</div><div><br></div><div>Thanks a lot,</div><div>Hugo</div><br><div class="gmail_quote">
On Fri, Oct 7, 2011 at 8:37 AM, gbrun <span dir="ltr">&lt;<a href="mailto:gbrun@myopera.com">gbrun@myopera.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi!<br>
<br>
I would rather use the &quot;beforeprint&quot; or the &quot;beforeencodelayer&quot; function<br>
 from the &quot;printProvider&quot; class. This function allows you to change some<br>
parameters before layers are printed. So, trough this function, you can<br>
test if your map contains vector layers. In this case, you can probably<br>
find a way to destroy their relative legend from the print process. You<br>
will find below an example:<br>
<br>
        printProvider = new GeoExt.data.PrintProvider({<br>
                method: &#39;POST&#39;, // &#39;POST&#39; recommended for production use (&#39;GET&#39; for<br>
development)<br>
                capabilities: printCapabilities, // from the info.json script in the html<br>
                listeners:{<br>
                        beforeprint: function(){<br>
                                // test each layer<br>
                                        // if the layer is vector, remove it from the printed legend<br>
                        }, // or use the &quot;beforeencodelayer&quot; function<br>
                        beforeencodelayer: function (printProvider, layer){<br>
                                // test each layer (easy with the layer parameter provided by this<br>
function!)<br>
                                        // if the layer is vector, remove it from the printed legend<br>
                        }<br>
                }<br>
        });<br>
<br>
I hope it might help you!<br>
<br>
Geoffrey<br>
<br>
<br>
Le Thu, 06 Oct 2011 20:17:20 +0200, Hugo &lt;<a href="mailto:hfpmartins@gmail.com">hfpmartins@gmail.com</a>&gt; a écrit:<br>
<div class="im"><br>
&gt; Hello once again,<br>
&gt;<br>
&gt; One more question though... If i still want to print legends without wfs<br>
&gt; and<br>
&gt; vector layers, how can i avoid these layers being passed in the request?<br>
&gt;<br>
&gt; At the moment i have:<br>
&gt; printProvider.print(mapPanel, printPage, {legend: legendPanel});<br>
&gt;<br>
&gt; So i suppose i have to clone my legendPanel and set some properties for<br>
&gt; the<br>
&gt; layers i don&#39;t want to include in the legend. What would be the approach<br>
&gt; to<br>
&gt; follow?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Hugo<br>
&gt;<br>
&gt; On Thu, Oct 6, 2011 at 2:48 PM, Hugo &lt;<a href="mailto:hfpmartins@gmail.com">hfpmartins@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hello Chris and Geoffrey,<br>
&gt;&gt;<br>
&gt;&gt; Thanks a lot for your replies. I will look further into your suggestions<br>
&gt;&gt; and come back with feedback.<br>
&gt;&gt; Cheers,<br>
&gt;&gt;<br>
&gt;&gt; Hugo<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Oct 4, 2011 at 8:15 PM, Christian Mayer<br>
&gt;&gt; &lt;<a href="mailto:mayer@terrestris.de">mayer@terrestris.de</a>&gt;wrote:<br>
&gt;&gt;<br>
</div>&gt;&gt;&gt; **<br>
<div class="im">&gt;&gt;&gt; Hello Hugo,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; for your second problem you may use the beforeprint event of the<br>
&gt;&gt;&gt; PrintProvider class, with the<br>
&gt;&gt;&gt; listener arguments:<br>
&gt;&gt;&gt;<br>
</div>&gt;&gt;&gt;    - printProvider -<br>
&gt;&gt;&gt; GeoExt.data.PrintProvider&lt;<a href="http://geoext.org/lib/GeoExt/data/PrintProvider.html#GeoExt.data.PrintProvider" target="_blank">http://geoext.org/lib/GeoExt/data/PrintProvider.html#GeoExt.data.PrintProvider</a>&gt;this<br>

&gt;&gt;&gt; PrintProvider<br>
&gt;&gt;&gt;    - map - OpenLayers.Map the map being printed<br>
&gt;&gt;&gt;    - pages - Array of<br>
&gt;&gt;&gt; GeoExt.data.PrintPage&lt;<a href="http://geoext.org/lib/GeoExt/data/PrintPage.html#GeoExt.data.PrintPage" target="_blank">http://geoext.org/lib/GeoExt/data/PrintPage.html#GeoExt.data.PrintPage</a>&gt;the<br>

&gt;&gt;&gt; print pages being printed<br>
&gt;&gt;&gt;    - options - Object the options to the print command<br>
<div><div></div><div class="h5">&gt;&gt;&gt;<br>
&gt;&gt;&gt; see: <a href="http://geoext.org/lib/GeoExt/data/PrintProvider.html" target="_blank">http://geoext.org/lib/GeoExt/data/PrintProvider.html</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Maybe you check and rearrange your map object here.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Best regards,<br>
&gt;&gt;&gt; Chris<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Am 04.10.2011 19:58, schrieb gbrun:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi Hugo,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; As far as I know, printing vector legend is not supported in the<br>
&gt;&gt;&gt; current<br>
&gt;&gt;&gt; GeoExt trunk.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; No idea for your second problem!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Geoffrey<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Le Tue, 04 Oct 2011 17:15:01 +0200, Hugo &lt;<a href="mailto:hfpmartins@gmail.com">hfpmartins@gmail.com</a>&gt;<br>
&gt;&gt;&gt; &lt;<a href="mailto:hfpmartins@gmail.com">hfpmartins@gmail.com</a>&gt; a écrit:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  Hello all,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I was able to implement printing using printprovider, printpage and the<br>
&gt;&gt;&gt; printextent plugin. However i have some small bugs which, untill now, i<br>
&gt;&gt;&gt; wasn&#39;t able to solve.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The first problem i&#39;m having is related with printing legends when<br>
&gt;&gt;&gt; having<br>
&gt;&gt;&gt; WFS layers on the map (firebuf is always showing: encFn is undefined).<br>
&gt;&gt;&gt; I<br>
&gt;&gt;&gt; have checked the encoders part of the prinProvider.js and in fact i<br>
&gt;&gt;&gt; don&#39;t<br>
&gt;&gt;&gt; see WFS there. However there is an encoder for vector layers. So my<br>
&gt;&gt;&gt; first<br>
&gt;&gt;&gt; question would be is it possible to print legends with WFS?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; My second problem is related with layer order. When the app is loaded,<br>
&gt;&gt;&gt; there<br>
&gt;&gt;&gt; are some initial layers that are loaded (WMS, WFS and TileCache). I<br>
&gt;&gt;&gt; also<br>
&gt;&gt;&gt; have the functionality to allow user to add additional layers returned<br>
&gt;&gt;&gt; by<br>
&gt;&gt;&gt; WMS capabilities of geoserver. Because i wnated to keep all layers that<br>
&gt;&gt;&gt; were<br>
&gt;&gt;&gt; initially loaded above all others i&#39;m setting layers ZIndex dynamically<br>
&gt;&gt;&gt; in<br>
&gt;&gt;&gt; the app. All is working fine when viewing and adding new layers (i<br>
&gt;&gt;&gt; always<br>
&gt;&gt;&gt; get inital loaded layers on top of the added ones). However, when<br>
&gt;&gt;&gt; trying<br>
&gt;&gt;&gt; to<br>
&gt;&gt;&gt; print, the added layers from wms capabilities are always on the top of<br>
&gt;&gt;&gt; all<br>
&gt;&gt;&gt; others. More interesting is that, after printing, all layers are<br>
&gt;&gt;&gt; magically<br>
&gt;&gt;&gt; rearranged and in fact, the added layers become on top of all the<br>
&gt;&gt;&gt; others.<br>
&gt;&gt;&gt; What property am i missing here???<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Kind regards,<br>
&gt;&gt;&gt; Hugo<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  _______________________________________________<br>
&gt;&gt;&gt; Users mailing<br>
</div></div>&gt;&gt;&gt; listUsers@geoext.orghttp://<a href="http://www.geoext.org/cgi-bin/mailman/listinfo/users" target="_blank">www.geoext.org/cgi-bin/mailman/listinfo/users</a><br>
<div class="im">&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Dipl.-Ing.(FH) Christian Mayer<br>
&gt;&gt;&gt;   - Anwendungsentwickler -<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   terrestris GmbH &amp; Co. KG<br>
&gt;&gt;&gt;   Irmintrudisstraße 17<br>
&gt;&gt;&gt;   53111 Bonn<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   Tel:    <a href="tel:%2B%2B49%20%280%29228%20%2F%2096%2028%2099%20-53" value="+4922896289953">++49 (0)228 / 96 28 99 -53</a><br>
&gt;&gt;&gt;   Fax:    <a href="tel:%2B%2B49%20%280%29228%20%2F%2096%2028%2099%20-57" value="+4922896289957">++49 (0)228 / 96 28 99 -57</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   Email:  <a href="mailto:mayer@terrestris.de">mayer@terrestris.de</a><br>
&gt;&gt;&gt;   Web:    <a href="http://www.terrestris.de" target="_blank">http://www.terrestris.de</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   Amtsgericht Bonn, HRA 6835<br>
&gt;&gt;&gt;   Komplementärin:  terrestris Verwaltungsgesellschaft mbH<br>
&gt;&gt;&gt;   vertreten durch: Hinrich Paulsen, Till Adams<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Users mailing list<br>
&gt;&gt;&gt; <a href="mailto:Users@geoext.org">Users@geoext.org</a><br>
&gt;&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;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Hugo Martins<br>
&gt;&gt; LabNT - ISEGI UNL<br>
&gt;&gt; Campus de Campolide<br>
&gt;&gt; 1070-312 Lisboa<br>
&gt;&gt; N 38°43&#39;56.84&quot;, W 9°9&#39;35.74&quot;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
--<br>
</div><font color="#888888">--<br>
Geoffrey BRUN<br>
<br>
Étudiant en master SIGMA<br>
Stagiaire au PNR du Haut-Languedoc<br>
<br>
Hameau de Brassac<br>
Saint-Pons de Thomières<br>
<a href="tel:%2B33%20%280%29%206%2077%2074%2044%2016" value="+33677744416">+33 (0) 6 77 74 44 16</a><br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@geoext.org">Users@geoext.org</a><br>
<a href="http://www.geoext.org/cgi-bin/mailman/listinfo/users" target="_blank">http://www.geoext.org/cgi-bin/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Hugo Martins<br>LabNT - ISEGI UNL<br>Campus de Campolide<br>1070-312 Lisboa<br>N 38°43&#39;56.84&quot;, W 9°9&#39;35.74&quot;<br>
</div>