[OpenLayers-Users] how to deactivate editingtoolbar after featureadded

G. Allegri giohappy at gmail.com
Wed Jan 28 12:11:17 EST 2009


Thansk Alexandre for the reply. This is not exatcly what I need to achieve.
A first step is:

    OpenLayers.Event.stopObservingElement(panel.controls[i+1].panel_div);

but the true behaviour I want is something like this:

    panel.onClick = function fn(c,e){alert('only one feature admitted');}

but this way to overload the panel's onClick method doesn't work....






2009/1/28 Alexandre Dube <adube at mapgears.com>:
> Hi,
>
> Take a look at this example (1). Zoom in and out the map. You will see that
> the buttons completely disappear. That could be an other option to your
> issue.
>
> (1) http://dev4.mapgears.com/bdga/bdgaWFS-T.html
>
> Regards,
>
> Alexandre
>
> G. Allegri wrote:
>>
>> Sorry, I've sent too fast the solution. It works, but how can I
>> overload the onClick event on the control to alert the user with "a
>> feature has been already added"?
>> In this case I don't have to stop observing the click but I need to
>> handle it in a custom way...
>>
>> 2009/1/28 G. Allegri <giohappy at gmail.com>:
>>
>>>
>>> Solved (somehow...):
>>>
>>>      function locAdded(feature){
>>>               for(i=0;i<3;i++){
>>>                       panel.controls[i+1].deactivate();
>>>
>>> OpenLayers.Event.stopObservingElement(panel.controls[i+1].panel_div);
>>>               }
>>>       }
>>>
>>> giovanni
>>>
>>> 2009/1/28 G. Allegri <giohappy at gmail.com>:
>>>
>>>>
>>>> Hello list,
>>>> I'm using the editingtoolbar control panel. I need to disable it after
>>>> any feature has been added (point, line or polygon), and reactivate it
>>>> if the feature gets deleted.
>>>> I've seen that calling:
>>>>
>>>> function locAdded(feature){
>>>>               panel.controls[1].deactivate();
>>>>               panel.controls[2].deactivate();
>>>>               panel.controls[3].deactivate();
>>>> }
>>>>
>>>> deactivate the controls unitl the user click on the panel again...
>>>> this is not what I need. In fact the panel control has an onClick
>>>> handler that activate the control on which the onClick event has
>>>> happened (line 212 in Panel.js).
>>>> I've tried deactivating directly the panel, but the panel gets deleted.
>>>>
>>>> I need the panel to remain visible but "unclickable", until the unique
>>>> feature has been deleted from the layer.
>>>>
>>>> I've tried to overload the onClick panel's method, but I couldn't get
>>>> it to work...
>>>> Thanks for any hint.
>>>>
>>>> giovanni
>>>>
>>>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>
>
>
> --
> Alexandre Dubé
> Mapgears
> www.mapgears.com
>
>



More information about the Users mailing list