[OpenLayers-Dev] DeleteFeature control

Eric Lemoine eric.lemoine at camptocamp.com
Mon Jul 20 12:00:11 EDT 2009


On Monday, July 20, 2009, Eric Lemoine <eric.lemoine at camptocamp.com> wrote:
> On Monday, July 20, 2009, Alexandre Dube <adube at mapgears.com> wrote:
>> Hi Eric,
>>
>> Eric Lemoine wrote:
>>
>>   (I never used Protocol.MapFish and Strategy.Save together, I'm curious
>> to know why they don't play together)
>>
>>
>>
>>
>> I haven't tried either, but in the past I tried the HTTP protocol + featureserver and the Save strategy wasn't able to read the insertedId of the response received.  I should simply try it and see what's the status now...
>
> right. But a patch was committed before 2.8, so there's chance that
> the save strategy and the mapfish protocol actually work together.
>
>
>>
>>
>>
>>
>> So long that the control user can be notified when a feature is
>> deleted I don't see the value of having the control committing the
>> changes.
>>
>>
>>
>>
>>
>> Ok
>>
>>
>> I don't understand. Can't you listen to "featuredeleted" from your
>> control and trigger saveStrategy.save()? (assuming Strategy.Save work
>> with Protocol.MapFish).
>>
>>
>>
>>
>> Yes.  I just wondered if it was better to do it internally...
>>
>>
>> Some general comments on your control: from my understanding the
>> control has two activities, (1) when a feature is selected change its
>> state and redraw it, (2) when some delete key is pressed trigger
>> events. Since they are *independent* activities they could be done by
>> independent controls, and I think I'd disagree with wiring independent
>> activities within a single control.
>>
>> If we had support for composite controls in the base Control class one
>> could do something like what follows to implement your delete
>> control's behavior:
>>
>> var delCtrl = new OpenLayers.Control({
>>     handler: new OpenLayers.Handler.Keyboard({
>>         keydown: function(evt) {
>>              var delKey = ...
>>              if(delKey) {
>>                  saveStrategy.save();
>>              }
>>         }
>>     }),
>>     controls: [
>>         new OpenLayers.Control.SelectFeature(
>>             layer, {
>>                 onSelect: function(f) {
>>                     f.state = DELETE;
>>                     this.layer.drawFeature(f);
>>                 }
>>         })
>>     ]
>> });
>>
>>
>>
>> If I understand correctly, you would disagree to have this control added as a new OpenLayers official control because of its 2 independent actions, so you suggest instead I should define a customized control like above but it requires to have controls within the control to be automatically activated/deactivated on 'this' control activation/deactivation.  Is that it ?
>
> That's basically it, yes. But I may wrong, and there may be value in
> combining these two independent activities (as a helper control), I'm
> just not convinced at this point. To get to the delete control


[argh, my email got sent before I finished it]

so, to get to the delete control you've been working on, I see more
value, in terms of flexibility, in adding "control composition" to the
control base class.




>
>
>>
>>
>> (the support for composing controls I mentioned above involves having
>> the base Control class activates and deactivates every control that's
>> passed in the "controls" option.)
>>
>> What do you think?
>>
>> Cheers,
>>
>>
>>
>>
>> About the 'controls' property and the act./dea. automatism : that's a good idea, but wouldn't it be good to have a 'handlers' property also and activate/deactivate all handlers as well ?  Currently, control has a 'handler' property only.  Would it make sense to have 'handlers' added a do the same kind of automatism as the new 'controls' property ?


Agreed.

>>
>> Regards,
>>
>> Alexandre
>>
>>
>>
>>
>>
>>
>>   Any hint would be appreciated,
>>
>> Alexandre
>>
>> Alexandre Dube wrote:
>>
>>
>> Hi,
>>
>>   I just sent (finally) a new patch for ticket 1882 (1) (DeleteFeature
>> control) and set the status to review.
>>
>> (1) http://trac.openlayers.org/ticket/1882
>>
>> Regards,
>>
>>
>>
>>
>> --
>> Alexandre Dubé
>> Mapgears
>> www.mapgears.com
>>
>> _______________________________________________
>> Dev mailing list
>> Dev at openlayers.org
>> http://openlayers.org/mailman/listinfo/dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>> Alexandre Dubé
>> Mapgears
>> www.mapgears.com
>>
>>
>
> --
> Eric Lemoine
>
> Camptocamp France SAS
> Savoie Technolac, BP 352
> 73377 Le Bourget du Lac, Cedex
>
> Tel : 00 33 4 79 44 44 96
> Mail : eric.lemoine at camptocamp.com
> http://www.camptocamp.com
>

-- 
Eric Lemoine

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex

Tel : 00 33 4 79 44 44 96
Mail : eric.lemoine at camptocamp.com
http://www.camptocamp.com



More information about the Dev mailing list