I have added a patch to OpenLayers trac which adds the " added" & "removed" events to the base OpenLayers.Layer and fires them from OpenLayers.Map The event object for both of these events includes a 'map' property (which could be redundant, might also be useful) Ticket - http://trac.osgeo.org/openlayers/ticket/2983 Patch - http://trac.osgeo.org/openlayers/attachment/ticket/2983/2983_layer_events.patch
Matt Priour Kestrel Computer Consulting -------------------------------------------------- From: "Andreas Hocevar" <[email protected]> Sent: Tuesday, January 18, 2011 9:45 AM To: "Matt Priour" <[email protected]> Cc: "Alexandre Dube" <[email protected]>; <[email protected]> Subject: Re: [Dev] Lazy loading of map panel layers > > On Jan 12, 2011, at 21:39 , Matt Priour wrote: > >> Agreed and I was hoping to do that the other day when I ran up against >> this >> problem, but when I checked the available layer events was reminded again >> that there was no added or removed events on the layer. >> >> So, yes that is an elegant solution, but in the meantime, wouldn't using >> an >> optional map configuration property be the most reasonable solution? > > I think creating a patch for http://trac.osgeo.org/openlayers/tickets/2983 > would not be much effort, and I'd be glad to review it once it is > available. Let's take advantage of the fact that most of us here also have > experience contributing to OpenLayers. > > Andreas. > >> >> Matt Priour >> Kestrel Computer Consulting >> >> -------------------------------------------------- >> From: "Andreas Hocevar" <[email protected]> >> Sent: Wednesday, January 12, 2011 1:40 PM >> To: "Alexandre Dube" <[email protected]> >> Cc: <[email protected]> >> Subject: Re: [Dev] Lazy loading of map panel layers >> >>> Hi, >>> >>> a very elegant solution, which depends on >>> http://trac.osgeo.org/openlayers/ticket/2983, would be to register for >>> the >>> layer's "added" event and continue when it is added. >>> >>> Andreas. >>> >>> On Jan 12, 2011, at 20:18 , Alexandre Dube wrote: >>> >>>> Hi, >>>> >>>> I just hit the exact same issue here. I was using an old proposed >>>> patch on ticket 235 [1] where the layer record, when rendered, >>>> registers >>>> an event to the record.layer.map, but the layer hasn't been added to >>>> the >>>> map yet so it's null. >>>> >>>> I'll try the Mixin pluggin instead, but I can see in it that it's >>>> guessing the mappanel and in my app I have two. I'll see what it >>>> does... >>>> >>>> Figured it was useful to tell. >>>> >>>> Regards, >>>> >>>> Alexandre >>>> >>>> [1] http://trac.geoext.org/ticket/235 >>>> >>>> >>>> On 11-01-12 11:50 AM, Matt Priour wrote: >>>>> Forgot the ticket link: >>>>> [1] http://trac.geoext.org/ticket/396 >>>>> >>>>> Matt Priour >>>>> Kestrel Computer Consulting >>>>> >>>>> -------------------------------------------------- >>>>> From: "Matt Priour"<[email protected]> >>>>> Sent: Wednesday, January 12, 2011 9:10 AM >>>>> To: "Eric Lemoine"<[email protected]> >>>>> Cc: "GeoEXT Dev"<[email protected]> >>>>> Subject: Re: [Dev] Lazy loading of map panel layers >>>>> >>>>>> Thanks for that suggestion Eric. >>>>>> I have opened a ticket [1] for this issue, and attached a patch with >>>>>> an >>>>>> example fix for two classes. If this approach seems sound, then I >>>>>> would >>>>>> be >>>>>> happy to fix the remaining 7 components and add tests for this use >>>>>> case. >>>>>> >>>>>> An alternative approach would be to add the GeoExt.MapPanel's map >>>>>> property >>>>>> to the layers in the GeoExt.MapPanel layers configuration option when >>>>>> it >>>>>> uses an array of OpenLayers.Layer objects. However, that could >>>>>> interfere >>>>>> with OpenLayers code and various tests it does to determine if a >>>>>> layer >>>>>> has >>>>>> been added to a map or not. So I don't think that is a good approach. >>>>>> >>>>>> -------------------------------------------------- >>>>>> From: "Eric Lemoine"<[email protected]> >>>>>> Sent: Wednesday, January 12, 2011 12:45 AM >>>>>> To: "Matt Priour"<[email protected]> >>>>>> Cc: "GeoEXT Dev"<[email protected]> >>>>>> Subject: Re: [Dev] Lazy loading of map panel layers >>>>>> >>>>>>> On Wednesday, January 12, 2011, Matt >>>>>>> Priour<[email protected]> >>>>>>> wrote: >>>>>>>> Given the change in the way layers configured in the map panel are >>>>>>>> loaded >>>>>>>> in >>>>>>>> the map: >>>>>>>> >>>>>>>> (http://trac.geoext.org/wiki/Release/1.0/Notes): "Layers configured >>>>>>>> in >>>>>>>> the >>>>>>>> MapPanel's layers property won't be added to the map before it is >>>>>>>> rendered. >>>>>>>> This is a behavioral change that may require changes in code that >>>>>>>> relies >>>>>>>> on >>>>>>>> a layer's map property before the map is rendered." >>>>>>>> >>>>>>>> Are there plans to change the internal GeoExt code so that >>>>>>>> components >>>>>>>> which >>>>>>>> rely on the layer's map property are initialized after the layer is >>>>>>>> added >>>>>>>> to >>>>>>>> the map or instead use the GeoExt.MapPanel.guess() and its map >>>>>>>> property. >>>>>>>> >>>>>>>> I recently ran into this problem when attempting to use a GridPanel >>>>>>>> configured with a FeatureStore and a FeatureSelectionModel. I'm >>>>>>>> sure >>>>>>>> other >>>>>>>> components also have this issue. I solved it by manually binding >>>>>>>> the >>>>>>>> FeatureStore and FeatureSelectionModel in an 'afterrender' listener >>>>>>>> for >>>>>>>> the >>>>>>>> MapPanel. >>>>>>> Would that solve the issue if these components could be optionally >>>>>>> be >>>>>>> configured with a Map or a MapPanel? >>>>>>> >>>>>>> -- >>>>>>> Eric Lemoine >>>>>>> >>>>>>> Camptocamp France SAS >>>>>>> Savoie Technolac, BP 352 >>>>>>> 73377 Le Bourget du Lac, Cedex >>>>>>> >>>>>>> Tel : 00 33 4 79 44 44 96 >>>>>>> Mail : [email protected] >>>>>>> http://www.camptocamp.com >>>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://www.geoext.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>> _______________________________________________ >>>>> Dev mailing list >>>>> [email protected] >>>>> http://www.geoext.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>>> -- >>>> Alexandre Dubé >>>> Mapgears >>>> www.mapgears.com >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> [email protected] >>>> http://www.geoext.org/cgi-bin/mailman/listinfo/dev >>> >>> >>> >>> -- >>> Andreas Hocevar >>> OpenGeo - http://opengeo.org/ >>> Expert service straight from the developers. >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://www.geoext.org/cgi-bin/mailman/listinfo/dev >>> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://www.geoext.org/cgi-bin/mailman/listinfo/dev > > -- > Andreas Hocevar > OpenGeo - http://opengeo.org/ > Expert service straight from the developers. > > _______________________________________________ Dev mailing list [email protected] http://www.geoext.org/cgi-bin/mailman/listinfo/dev
