[Users] Set visibility on Sub-layers

Paul james pauljame at gmail.com
Thu Oct 15 15:38:07 CEST 2009


Ohh no :(
Any other alternative to solve that?

ps.: Can you send that ticket url?

Paul

On Wed, Oct 14, 2009 at 11:12 PM, Andreas Hocevar <ahocevar at opengeo.org>wrote:

> Andreas Hocevar wrote:
>
>> 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.
>>
>
> which, unfortunately, will *not* work because GeoExt sets the visibility in
> the node's render method, regardless of its checked attribute. A tickdt with
> patch that fixes this would be in order I guess.
>
> Regards,
> Andreas.
>
>
>
>
>> 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20091015/9b2cce6c/attachment.htm 


More information about the Users mailing list