[Gvsig_desarrolladores] Añadir algún valor al fichero de proyecto

Fernando González fergonco en gmail.com
Vie Dic 9 18:01:12 CET 2011


En el WindowData no he podido guardarlo. Primero era un poco incómodo,
pero además, el WindowData de MapProject es nulo...

Al final lo que he hecho ha sido adaptar Project para poder meterle
XMLEntitys de usuario. Adjunto patch. Mi extensión persiste bien y
también carga proyectos anteriores hechos sin el código del patch.

Básicamente lo que hay en el patch son los cambios descritos aquí[1].

¿Existe la posibilidad de incluir estos cambios en el trunk? ¿Cuál es
el procedimiento habitual?

Saludos.

[1]
* Dos nuevos eventos:
	- Al crear un nuevo proyecto
	- Al cargar un proyecto

* Dos métodos en Project
	- putUserXMLEntity()
	- getUserXMLEntity()

* Persistencia de los XMLEntity de usuario

* Atributo 'visible' de todos los IFFrame

* Dibujado condicional en función del atributo 'visible' del IFFrame




2011/12/5 Fernando González <fergonco en gmail.com>:
> Lo de crearme un documento propio lo había intentado... pero no es
> nada trivial. Hay que crear una factory y tal.
>
> En cambio, he añadido un load listener (que no había) a
> ProjectExtension y un putUserXMLEntity y getUserXMLEntity a Project,
> para poder asociar información al proyecto. Son cambios bastante
> triviales y he probado a abrir proyectos creados anteriormente y no me
> ha dado problemas.
>
> Con eso puedo escuchar los eventos de guardado para meter mi XMLEntity
> y los de carga (para hacer lo mismo). Me faltaría añadir un evento de
> creación de proyecto nuevo.
>
> ¿Se considera interesante la funcionalidad como para aplicarla al
> trunk? ¿Véis bien el código que he creado o le falta algo?
>
> Por cierto, el patch está hecho sobre el tag de la 1.11. Antes de
> enviar el definitivo probaría sobre el trunk.
>
> Si no, seguramente pueda solucionar mi problema con el WindowData,
> pero prefiero empezar por el patch porque creo que es una
> funcionalidad bastante útil.
>
> 2011/12/5 Francisco José Peñarrubia <fpenarru en gmail.com>:
>> Pues en ese caso no lo sé.
>>
>> Quizás puedas crearte un documento propio, o asociar esos datos al
>> objeto WindowData, que guarda pares de clave-valor y se recuperan.
>> Me suena que las capas también tenían sus propias properties, pero creo
>> que con lo de WindowData te puede servir.
>> Si no... pues ya en la 2.0, que seguramente lo de los metadatos está más
>> estudiado.
>>
>> Saludos!.
>>
>> Fran.
>>
>> El 05/12/2011 16:18, Fernando González escribió:
>>> Jajaja, mira que sabía que me iba a llevar una así...
>>>
>>> Hay un matiz. El tema es que esa persistencia no se asocia a un
>>> proyecto, sino que es persistencia del plugin.
>>>
>>> Lo que yo quiero es asociar un valor al proyecto, por ejemplo si el
>>> día en que se guardó el proyecto por última vez el IBEX estaba por
>>> encima de los 8000 puntos o no (no, no se me ha ocurrido otro ejemplo
>>> y que conste que he estado pensando un rato).
>>>
>>> Podría guardarme un map de rutas de proyecto a valores, pero si se
>>> cambia el proyecto de sitio perdería el valor.
>>>
>>> Sigo pensando que debo estar pasando algo por alto. Igual eso se
>>> enfoca de manera distinta a cómo lo estoy enfocando yo... pero debe
>>> haber alguna solución.
>>>
>>> 2011/12/5 Francisco José Peñarrubia<fpenarru en gmail.com>:
>>>> Hola Fernando.
>>>>
>>>> Mira si te suena esto:
>>>>
>>>> XMLEntity xml = PluginServices.getPluginServices(this).getPersistentXML();
>>>>
>>>>
>>>>          PluginServices ps = PluginServices.getPluginServices(this);
>>>>          XMLEntity xml = ps.getPersistentXML();
>>>>          xml.putProperty(KEY_LAYERNAME_MDTINFO, layerName);
>>>>          xml.putProperty(KEY_BAND_MDTINFO, band);
>>>>
>>>> y si no te suena, mira el autor.... ;-)
>>>>
>>>> Lo guarda en el archivo plugin-services.xml.
>>>>
>>>> Saludos.
>>>>
>>>> Fran.
>>>>
>>>> El 05/12/2011 14:37, Fernando González escribió:
>>>>> Hola de nuevo.
>>>>>
>>>>> ¿Existe alguna manera de que mi extensión guarde información junto con
>>>>> el proyecto?
>>>>>
>>>>> Pensaba que se podría añadir XMLEntitys al proyecto para que las
>>>>> extensiones pudieran guardar cosas, pero no parece que sea posible, o
>>>>> yo no lo he visto.
>>>>>
>>>>> No puede ser que nadie haya tenido esta necesidad antes. ¿Alguna pista?
>>>>> _______________________________________________
>>>>> gvSIG_desarrolladores mailing list
>>>>> gvSIG_desarrolladores en listserv.gva.es
>>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>>>> --
>>>> Fran Peñarrubia
>>>> Scolab
>>>> www.scolab.es
>>>>
>>>> Asociación gvSIG
>>>> www.gvsig.com
>>>>
>>>> _______________________________________________
>>>> gvSIG_desarrolladores mailing list
>>>> gvSIG_desarrolladores en listserv.gva.es
>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>>> _______________________________________________
>>> gvSIG_desarrolladores mailing list
>>> gvSIG_desarrolladores en listserv.gva.es
>>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>>
>> --
>> Fran Peñarrubia
>> Scolab
>> www.scolab.es
>>
>> Asociación gvSIG
>> www.gvsig.com
>>
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores en listserv.gva.es
>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : gvsig.patch
Tipo       : text/x-patch
Tamaño     : 13459 bytes
Descripción: no disponible
Url        : http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20111209/cc0068ae/attachment.bin 


Más información sobre la lista de distribución gvSIG_desarrolladores