[Users] Set visibility on Sub-layers
Andreas Hocevar
ahocevar at opengeo.org
Thu Oct 15 01:06:32 CEST 2009
Hi Paul,
the recommendations given so far should all work, but let Papa Treenode
speak from his experience:
The best thing to do is override the createNode function of the loader,
as documented in
http://www.extjs.com/deploy/dev/docs/?class=Ext.tree.TreeLoader.
The createNode function is called with the attributes (attrs) as
argument, so you could check for attr.text and then set attr.checked
accordingly.
Regards,
Andreas.
Paul james wrote:
> Thanks Matt...
> I tried that:
>
> nodeType: "gx_layer",
> id: "Streets",
> layer: "Streets",
> isLeaf: false,
> expanded : true,
> loader: {
> param: "LAYERS",
> baseAttrs: {
> uiProvider: Ext.extend(Ext.tree.TreeNodeUI, {
> render: function(bulkRender) {
> if(this.node.text ==
> "Layer3")
>
> this.node.layer.setVisibility(false);
>
> Ext.tree.TreeNodeUI.prototype.render.apply(this, arguments);
> }
> ...
>
>
> But all node´s layer are set off... How can I set the
> subnode´s visibility separately?
>
> Thanks
>
> Paul
>
> On Wed, Oct 14, 2009 at 11:50 AM, Matt Priour
> <mpriour at kestrelcomputer.com <mailto:mpriour at kestrelcomputer.com>> wrote:
>
> Handle the 'render' event of the layer tree and programmatically
> uncheck the nodes that you don't want on.
> The only disadvantage of this method is that depending on timing the
> application may or may not attempt to do GetMap requests on the
> layers you don't want. Though they still would not be visible, if
> you are calling a slow service or complex rendering is involved,
> then the GetMap requests can block other WMS service requests.
> Matt Priour
> Kestrel Computer Consullting
>
> *From:* Paul james <mailto:pauljame at gmail.com>
> *Sent:* Wednesday, October 14, 2009 9:39 AM
> *To:* bartvde at osgis.nl <mailto:bartvde at osgis.nl>
> *Cc:* users at geoext.org <mailto:users at geoext.org> ; Andreas Hocevar
> <mailto:ahocevar at opengeo.org>
> *Subject:* Re: [Users] Set visibility on Sub-layers
>
> Thanks bart...
> But I need set all layers to build up my treeview, like that:
>
> nodeType: "gx_layer",
> layer: "Streets",
> isLeaf: false,
>
> loader: {
> param: "LAYERS",
> ...
>
>
>
>
> On Wed, Oct 14, 2009 at 11:16 AM, <bartvde at osgis.nl
> <mailto:bartvde at osgis.nl>> wrote:
>
> Hi Paul,
>
> only by using LAYERS: ['layer1', 'layer2'].
>
> Then later on, when you need more layers, you should change the
> LAYERS
> param using the mergeNewParams function.
>
> Best regards,
> Bart
>
> > Hello guys... I have that set of sublayers :
> >
> > new OpenLayers.Layer.MapServer("Streets",
> > _cgi, {
> > map: _mapfile,
> > "LAYERS":
> ['Layer1','Layer2','Layer3','Layer4',
> > 'Layer5'],
> > transparent: true,
> > format: "image/png"
> > }, {
> > isBaseLayer: false,
> > buffer: 0,
> > displayInLayerSwitcher: false,
> > visibility: false
> > })
> >
> > I悲 like to start with Layer1 and Layer2 with visibility true
> ... How can
> > I
> > do that?
> >
> > Paul
> > _______________________________________________
> > Users mailing list
> > Users at geoext.org <mailto:Users at geoext.org>
> > http://www.geoext.org/cgi-bin/mailman/listinfo/users
> >
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at geoext.org <mailto:Users at geoext.org>
> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>
>
--
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.
More information about the Users
mailing list