Gracias, Paco.

Esto resuelve mi problema... o casi.
Ahora me salta un error al hacer el commit en capas con BD postgis.
Pero no tiene pinta de estar relacionado con esto.

Gracias de nuevo, y un saludo. :)

El 23 de septiembre de 2008 7:51, Paco Abato <[EMAIL PROTECTED]> escribió:

> Hola Rubén,
>
> te falta algo parecido a esto para que el estado de la feature se
> notifique:
>
>   FeatureCollection fc = tuLayer.getUltimateFeatureCollection();
>   fc.update(laFeatureModificada);
>   fc.commit();
>
> Si además cambia la geometría del feature tienes que llamar a:
>   tuLayer.fireAppearanceChanged();
> para que la vista se actualice.
>
> Espero que eso resuelva tu problema. Un saludo.
>
>
>
>
> Francisco Abato Helguera
>
> Programador
> Sistemas Abiertos de Información Geográfica, S.L. (SAIG S.L.)
> Teléfono: +34 675 903 750
> E-mail: [EMAIL PROTECTED]
>
>
>
> Ruben Sanabrias escribió:
>
>  Hola.
>>
>> Estoy desarrollando un plugin para hacer una cosa bastante sencilla, pero
>> no
>> consigo que me salga.
>> Seguramente no estoy usando las clases adecuadas y agradecería que alguien
>> me dijera cuales usar o qué parte del código de Kosmo debo mirar que haga
>> algo parecido.
>>
>> El plugin no es más que un formulario personalizado para editar los
>> atributos de un elemento existente en una capa vectorial.
>> Funciona seleccionando el elemento y dando a un botón, entonces sale una
>> pantallita con el valor actual de los atributos del elemento seleccionado
>> y
>> te permite cambiarlos.
>>
>> Con elementos recien creados no me da problemas, porque acabas de dibujar
>> el
>> elemento (puntos en este caso) y si acto seguido edito los atributos con
>> mi
>> plugin y despues guardo la capa, el elemento se añade a la capa con sus
>> valores seleccionados.
>>
>> El problema es cuando trato de editar los atributos de un elemento que ya
>> existía. todo parece funcionar igual, pero Kosmo no se "entera" de que el
>> elemento ha cambiado y por tanto no se activa el botón de "guardar
>> cambios".
>>
>>
>> Sospecho que con elementos nuevos funciona porque como acabo de
>> dibujarlos,
>> la propia herramienta de dibujo ya ha notificado de alguna forma que hay
>> un
>> elemento nuevo que debe ser guardado, y si antes de guardarlo edito los
>> atributos con mi plugin, mis cambios se guardan con el elemento.
>>
>> Resumo los pasos que hago y que utilizo (por si alguien me sabe decir si
>> lo
>> estoy haciendo mal o me falta algo):
>> 1) Saco el elemento seleccionado con:
>> Feature f = (Feature)
>>                context.getLayerViewPanel().getSelectionManager().
>>
>> getFeatureSelection().getFeaturesWithSelectedItems().iterator().next();
>>   De esto obtengo una instancia de un objeto que implementa
>> org.vividsolutions.jump.feature.Feature
>> 2) Doy nuevo valor al atributo que cambia con:
>> f.setAttribute("nombreAtributo", "nuevoValor");
>>
>> En la traza veo que el Feature toma el nuevo valor y continua la ejecución
>> sin problemas, pero ocurre lo que ya he descrito, la modificación es como
>> si
>> no hubiera ocurrido y no se activa el botón de "salvar cambios" (del panel
>> de herramientas de dibujo).
>>
>> Agradecería cualquier ayuda que alguien me pudiera ofrecer.
>> Gracias. :)
>>
>>
>
> _______________________________________________
> Kosmo mailing list
> [email protected]
> http://lists.saig.es/mailman/listinfo/kosmo
>
>
_______________________________________________
Kosmo mailing list
[email protected]
http://lists.saig.es/mailman/listinfo/kosmo

Responder a