[OpenLayers-Users] how to deactivate editingtoolbar after featureadded

G. Allegri giohappy at gmail.com
Wed Jan 28 12:56:59 EST 2009


My last guess has been:

var panel = new OpenLayers.Control.EditingToolbar(vettoriale);
OpenLayers.Util.extend(panel,{
		onClick: function (ctrl, evt) {
        	alert('ohoh');
    		}
	});

but still the original behaviour happens...

2009/1/28 G. Allegri <giohappy at gmail.com>:
> 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