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

Responder a