[Users] Tree node disabling with min/max scale
Matt Priour
mpriour at kestrelcomputer.com
Thu Oct 21 19:58:18 CEST 2010
Good plan, I like that idea.
Matt Priour
--------------------------------------------------
From: "Alexandre Dube" <adube at mapgears.com>
Sent: Thursday, October 21, 2010 12:33 PM
To: "Matt Priour" <mpriour at kestrelcomputer.com>
Cc: "Andreas Hocevar" <ahocevar at opengeo.org>; "GeoEXT Users"
<users at geoext.org>
Subject: Re: [Users] Tree node disabling with min/max scale
> The 'visibilitychanged' event would be used as usual, but for the
> disabling/enabling we only need to check the 'inRange' property of the
> layer. If it's set to false and it's not a base layer, disable the node,
> else enable it. That way, it would prevent the issue you mentioned.
>
> Alexandre
>
> On 10-10-21 12:24 PM, Matt Priour wrote:
>> The only issue I see with that is that checking / unchecking a layer will
>> cause it to become visible or not and that in turn fires the
>> 'visibilitychanged' event which would now disable the layer node,
>> preventing one from turning on that layer again
>>
>> If you wanted to strictly tie the node disable/enable to the layer's
>> 'visibilitychanged' event then you would need to have some kind of flag
>> that would prevent the node from disabling itself after a checkbox change
>> event
>>
>> Matt Priour
>>
>> --------------------------------------------------
>> From: "Alexandre Dube" <adube at mapgears.com>
>> Sent: Thursday, October 21, 2010 10:51 AM
>> To: "Matt Priour" <mpriour at kestrelcomputer.com>
>> Cc: "Andreas Hocevar" <ahocevar at opengeo.org>; "GeoEXT Users"
>> <users at geoext.org>
>> Subject: Re: [Users] Tree node disabling with min/max scale
>>
>>> Hi,
>>>
>>> Would it make sense to register a 'visibilitychanged' event inside the
>>> LayerNode object and disable/enable the UI components accordingly ?
>>> Having a plugin is nice but this seems like a feature everyone would
>>> like to have by default. Having to configure an additional plugin for
>>> that could be avoided IMHO.
>>>
>>> Using the 'visibilitychanged' event registration method, you trigger
>>> much less events and you don't need to check each node on each map zoom.
>>> Only when a layer would be actually changed the according event would
>>> trigger only once and for the layer only.
>>>
>>> What do you think ? What do others think ?
>>>
>>> Alexandre
>>>
>>>
>>> On 10-10-21 11:44 AM, Matt Priour wrote:
>>>> My method is very similar to Pierre's.
>>>> I have a TreePanel plugin who's init function wires up event listeners
>>>> to the map's zoom change event and async node expand event.
>>>>
>>>> it walks the tree and for each gx_layer type node it checks if the
>>>> associated layer is in range.
>>>> If not then it disables the node and all of its children if any.
>>>> It also checks for any node that has all of its children disabled, and
>>>> if so it also disables that node.
>>>>
>>>> I should have a working patch with test soon.
>>>>
>>>> Matt Priour
>>>>
>>>> --------------------------------------------------
>>>> From: "Alexandre Dube" <adube at mapgears.com>
>>>> Sent: Thursday, October 21, 2010 9:52 AM
>>>> To: "Matt Priour" <mpriour at kestrelcomputer.com>
>>>> Cc: "Andreas Hocevar" <ahocevar at opengeo.org>; "GeoEXT Users"
>>>> <users at geoext.org>
>>>> Subject: Re: [Users] Tree node disabling with min/max scale
>>>>
>>>>> Hi Matt,
>>>>>
>>>>> Nah, it's no "race" but I definitively need that feature soon, so I
>>>>> rather share how I would have done it.
>>>>>
>>>>> Ideally, I would have made a new "rangechange" event for the
>>>>> OpenLayers.Layer object and listen to that event to disable/enable the
>>>>> UI of the node accordingly. Upon creation, a node would be disabled
>>>>> if the 'inRange' is set to 'false' (unless it's a base layer).
>>>>>
>>>>> That's pretty much it. Does that make sense ? How about your
>>>>> method ?
>>>>>
>>>>> Alexandre
>>>>>
>>>>>
>>>>> On 10-10-21 10:29 AM, Matt Priour wrote:
>>>>>> "It's a race" ;)
>>>>>> I am working on implementing that feature today as well.
>>>>>>
>>>>>> Matt Priour
>>>>>> Kestrel Computer Consutling
>>>>>>
>>>>>>
>>>>>> --------------------------------------------------
>>>>>> From: "Alexandre Dube" <adube at mapgears.com>
>>>>>> Sent: Thursday, October 21, 2010 8:55 AM
>>>>>> To: "Andreas Hocevar" <ahocevar at opengeo.org>
>>>>>> Cc: "GeoEXT Users" <users at geoext.org>
>>>>>> Subject: Re: [Users] Tree node disabling with min/max scale
>>>>>>
>>>>>>> Got it. I guess it shouldn't be that hard to implement, so I'll
>>>>>>> give it
>>>>>>> a try and report back with a patch + ticket if it goes well.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Alexandre
>>>>>>>
>>>>>>>
>>>>>>> On 10-10-21 09:39 AM, Andreas Hocevar wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> this would be a useful improvement, but it is not yet implemented -
>>>>>>>> patches welcome!
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Andreas.
>>>>>>>>
>>>>>>>> On Oct 21, 2010, at 15:30 , Alexandre Dube wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> The LayerSwitcher automatically disables its layer elements
>>>>>>>>> when
>>>>>>>>> zooming in/out following the min/max scale values of each layer.
>>>>>>>>> Is
>>>>>>>>> that feature available with GeoExt tree nodes as well or do I need
>>>>>>>>> to do
>>>>>>>>> that manually ?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Alexandre Dubé
>>>>>>>>> Mapgears
>>>>>>>>> www.mapgears.com
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Users mailing list
>>>>>>>>> Users at geoext.org
>>>>>>>>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Alexandre Dubé
>>>>>>> Mapgears
>>>>>>> www.mapgears.com
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Users mailing list
>>>>>>> Users at geoext.org
>>>>>>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Alexandre Dubé
>>>>> Mapgears
>>>>> www.mapgears.com
>>>>>
>>>>>
>>>
>>>
>>> --
>>> Alexandre Dubé
>>> Mapgears
>>> www.mapgears.com
>>>
>>>
>
>
> --
> Alexandre Dubé
> Mapgears
> www.mapgears.com
>
>
More information about the Users
mailing list