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