Buenos días Ruben.
Si quieres enviar el log del error quizás te podamos dar una pista sobre
el problema.
Un cordial saludo,
Ruben Sanabrias escribió:
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]
<mailto:[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] <mailto:[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] <mailto:[email protected]>
http://lists.saig.es/mailman/listinfo/kosmo
------------------------------------------------------------------------
_______________________________________________
Kosmo mailing list
[email protected]
http://lists.saig.es/mailman/listinfo/kosmo
--
Sergio Baños Calvo
Jefe de desarrollos
Sistemas Abiertos de Información Geográfica, S.L. (SAIG S.L.)
Tlfno. móvil: 685005960
Tlfno. fijo: (+34) 954788876
E-mail: [EMAIL PROTECTED]
_______________________________________________
Kosmo mailing list
[email protected]
http://lists.saig.es/mailman/listinfo/kosmo