[Gvsig_desarrolladores] Resumen de gvSIG_desarrolladores, Vol 130, Envío 9

Tomás Cabezudo tcabezudo en gmail.com
Vie Oct 23 12:20:23 CEST 2015


Muchas gracias Joaquín,

yo tambien había pensado hacer una capa 'temporal' donde poner las
geometrías que quiera resaltar de la capa principal, así que optaré por ese
camino, donde me parece que tengo más control.



Gracias por tu tiempo, un saludo

El 23 de octubre de 2015, 12:00, <
gvsig_desarrolladores-request en listserv.gva.es> escribió:

> Envie los mensajes para la lista gvSIG_desarrolladores a
>         gvsig_desarrolladores en listserv.gva.es
>
> Para subscribirse o anular su subscripción a través de WEB
>
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
> O por correo electrónico, enviando un mensaje con el texto "help" en
> el asunto (subject) o en el cuerpo a:
>         gvsig_desarrolladores-request en listserv.gva.es
>
> Puede contactar con el responsable de la lista escribiendo a:
>         gvsig_desarrolladores-owner en listserv.gva.es
>
> Si responde a algún contenido de este mensaje, por favor, edite la
> linea del asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of gvSIG_desarrolladores digest...". Ademas, por favor,
> incluya en la respuesta solo aquellas partes del mensaje a las que
> esta respondiendo.
>
>
> Asuntos del día:
>
>    1. Re: Resumen de gvSIG_desarrolladores, Vol 130, Envío 8
>       (Tomás Cabezudo)
>    2. Re: Resumen de gvSIG_desarrolladores, Vol 130, Envío 8
>       (Tomás Cabezudo)
>    3. Re: Resumen de gvSIG_desarrolladores, Vol 130, Envío 8
>       (Joaquin Jose del Cerro Murciano)
>    4. Re: cómo recorrer los elementos de un mapa automaticamente
>       (Javier Galán)
>    5. Re: cómo recorrer los elementos de un mapa automaticamente
>       (Ana Calle)
>    6. Re: cómo recorrer los elementos de un mapa automaticamente
>       (Javier Galán)
>    7. Re: cómo recorrer los elementos de un mapa automaticamente
>       (Ana Calle)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 22 Oct 2015 12:39:17 +0200
> From: Tomás Cabezudo <tcabezudo en gmail.com>
> Subject: Re: [Gvsig_desarrolladores] Resumen de gvSIG_desarrolladores,
>         Vol 130, Envío 8
> To: gvsig_desarrolladores en listserv.gva.es
> Message-ID:
>         <
> CAObipL489XPjyjcNWHU9fv1vuv_rcn0URCCagen81fvgaYjrCw en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Muchas Gracias por la explicación.
> He probado de la 1ª forma que me indicabas, registrando mis propios
> símbolos y ha funcionado perfectamente.
>
> Gracias de nuevo, un saludo
>
> El 22 de octubre de 2015, 12:00, <
> gvsig_desarrolladores-request en listserv.gva.es> escribió:
>
> > Envie los mensajes para la lista gvSIG_desarrolladores a
> >         gvsig_desarrolladores en listserv.gva.es
> >
> > Para subscribirse o anular su subscripción a través de WEB
> >
> > http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >
> > O por correo electrónico, enviando un mensaje con el texto "help" en
> > el asunto (subject) o en el cuerpo a:
> >         gvsig_desarrolladores-request en listserv.gva.es
> >
> > Puede contactar con el responsable de la lista escribiendo a:
> >         gvsig_desarrolladores-owner en listserv.gva.es
> >
> > Si responde a algún contenido de este mensaje, por favor, edite la
> > linea del asunto (subject) para que el texto sea mas especifico que:
> > "Re: Contents of gvSIG_desarrolladores digest...". Ademas, por favor,
> > incluya en la respuesta solo aquellas partes del mensaje a las que
> > esta respondiendo.
> >
> >
> > Asuntos del día:
> >
> >    1. Ayuda en el dibujado de símbolos sobre la vista. (Tomás Cabezudo)
> >    2. Re: Ayuda en el dibujado de símbolos sobre la vista.
> >       (Joaquin Jose del Cerro Murciano)
> >
> >
> > ----------------------------------------------------------------------
> >
> > Message: 1
> > Date: Thu, 22 Oct 2015 09:35:35 +0200
> > From: Tomás Cabezudo <tcabezudo en gmail.com>
> > Subject: [Gvsig_desarrolladores] Ayuda en el dibujado de símbolos
> >         sobre la vista.
> > To: gvsig_desarrolladores en listserv.gva.es
> > Message-ID:
> >         <
> > CAObipL7eT_wwMXMRe0sODe_k883ZCdiOCekr1AODh7ak_HjdUA en mail.gmail.com>
> > Content-Type: text/plain; charset="utf-8"
> >
> > Buenos días,
> >
> > estoy intentando pintar un símbolo(un ISimpleFillSymbol sencillo) sobre
> una
> > feature en la vista y no lo consigo, a ver si alguien puede echar una
> mano.
> >
> > He probado varios caminos, pero ninguno con éxito.
> >
> >
> >
> > //aqui compongo el simbolo
> >
> > private ISymbol getSymbolMunicipios(){
> >
> >                         SymbologyManager sm =
> > SymbologyLocator.getSymbologyManager();
> >
> >
> >
> >                         Color color = new Color(206,242,213);
> >
> >
> >
> >         ISimpleFillSymbol resp = sm.createSimpleFillSymbol();
> >
> >         resp.setFillColor(color);
> >
> >         resp.setOutline(null);
> >
> >
> >
> >         return resp;
> >
> > }
> >
> >
> >
> >
> >
> > //aqui intento pintarlo Utilizando el mapcontroldrawer:
> >
> > MapControl mapCtrl = ((DefaultViewPanel)vista).getMapControl();
> >
> > MapControlDrawer mapControlDrawer = mapCtrl.getMapControlDrawer();
> >
> > mapControlDrawer.draw(geomFeature, simbolo, feature);
> >
> >
> >
> > //Utilizando el graphics2d:
> >
> > Graphics2D g =  (mapCtrl.getImage()).createGraphics();
> >
> >
> > simbolo.draw(g, g.getTransform(), geomFeature, feature, null);
> >
> >
> >
> > Ninguno de los caminos parece el correcto.
> >
> >
> >
> > Cualquier orientación será bienvenida, gracias
> >
> > Saludos
> > ------------ pr?a parte ------------
> > Se ha borrado un adjunto en formato HTML...
> > URL:
> >
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/c2be5349/attachment-0001.htm
> >
> > ------------------------------
> >
> > Message: 2
> > Date: Thu, 22 Oct 2015 11:00:56 +0200
> > From: Joaquin Jose del Cerro Murciano <jjdelcerro en gvsig.org>
> > Subject: Re: [Gvsig_desarrolladores] Ayuda en el dibujado de símbolos
> >         sobre la vista.
> > To: Lista de Desarrolladores de gvSIG
> >         <gvsig_desarrolladores en listserv.gva.es>
> > Message-ID:
> >         <CABLUYi123P+zgynx60jPeTZmX=
> > b7tbisPvEcr5JOiG-gZMUDbQ en mail.gmail.com>
> > Content-Type: text/plain; charset="utf-8"
> >
> > El 22 de octubre de 2015, 9:35, Tomás Cabezudo <tcabezudo en gmail.com>
> > escribió:
> >
> > > Buenos días,
> > >
> > > estoy intentando pintar un símbolo(un ISimpleFillSymbol sencillo) sobre
> > > una feature en la vista y no lo consigo, a ver si alguien puede echar
> una
> > > mano.
> > >
> > > He probado varios caminos, pero ninguno con éxito.
> > >
> > >
> > >
> > > //aqui compongo el simbolo
> > >
> > > private ISymbol getSymbolMunicipios(){
> > >
> > >                         SymbologyManager sm =
> > > SymbologyLocator.getSymbologyManager();
> > >
> > >
> > >
> > >                         Color color = new Color(206,242,213);
> > >
> > >
> > >
> > >         ISimpleFillSymbol resp = sm.createSimpleFillSymbol();
> > >
> > >         resp.setFillColor(color);
> > >
> > >         resp.setOutline(null);
> > >
> > >
> > >
> > >         return resp;
> > >
> > > }
> > >
> > >
> > >
> > >
> > >
> > > //aqui intento pintarlo Utilizando el mapcontroldrawer:
> > >
> > > MapControl mapCtrl = ((DefaultViewPanel)vista).getMapControl();
> > >
> > > MapControlDrawer mapControlDrawer = mapCtrl.getMapControlDrawer();
> > >
> > > mapControlDrawer.draw(geomFeature, simbolo, feature);
> > >
> > >
> > >
> > > //Utilizando el graphics2d:
> > >
> > > Graphics2D g =  (mapCtrl.getImage()).createGraphics();
> > >
> > >
> > > simbolo.draw(g, g.getTransform(), geomFeature, feature, null);
> > >
> > >
> > >
> > > Ninguno de los caminos parece el correcto.
> > >
> > >
> > >
> >
> >
> > Hola Tomás,
> > me temo que lo que quieres hacer no se puede.
> > El pintado de la simbologia se encarga de hacerlo la
> > leyenda de forma automatica al hacer un draw de la capa.
> > No puedes forzar el pintado de una solo geometria.
> > Depende de lo que quieras tienes varias opciones, pero
> > necesitaria algo mas de descripcion de lo que quieres hacer
> > para orientarte mejor.
> >
> > La opcion mas rapida si lo que quieres es pintar una geometria,
> > o unas pocas, sobre la vista con una simbologia en concreto es
> > usar el GraphicsLayer. Se trata de una capa virtual que se
> > pinta sobre todas las demas y en la que puedes insertar geometrias
> > con una simbologia en concreto y se pintaran sobre todas las
> > capas. Un pedacito de codigo...
> >
> >         MapContext mapContext = ...;
> >         Geometry theGeom = ...;
> >
> >         GraphicLayer gl = mapContext.getGraphicsLayer();
> >
> >         ISymbol symbolMunicipios = getSymbolMunicipios();
> >
> >         int symid = gl.getSymbolId(symbolMunicipios);
> >         if( symid<0 ) {
> >             symid = gl.addSymbol(symbolMunicipios);
> >         }
> >         gl.addGraphic("miGrupo", theGeom, symid);
> >
> >         mapContext.invalidate();
> >
> > No lo he probado pero la idea seria algo asi.
> >
> > - Al mapContext le pedimos su GraphicsLayer.
> >
> > - En el hay que registrar el simbolo o simbolos que
> >   vamos a usar con addSymbol.
> >
> > - Tenemos que tener la precaucion de no registrar
> >   simbolos como locos, si ya lo hemos registrado
> >   no lo volvemos a registrar.
> >   Para eso, utilizaremos la funcion getSymbolId para
> >   consultar si ya hemos registrado ese simbolo y solo
> >   lo registraremos si no lo habiamos registrado antes.
> >   Ojo, que esto solo funciona si utilizamos la misma
> >   instanancia de simbolo. Si la funcion getSymbolMunicipios
> >   nos devuelve una instanancia distinta cada vez que se
> >   llama esto no ira.
> >
> > - Añadiremos al GraphicsLayer la geometria indicandole que
> >   use el identificador del simbolo que hemos añadido.
> >   Ademas usaremos un identificador, "miGrupo" en el codigo
> >   que he picado, que identifique mi funcionalidad.
> >   Hay que tener en cuenta que el GraphicsLayer se usa
> >   en varias herramientas y cuando queremos borrar nuestros
> >   graficos de el, deberemos borrar solo los nuestros usando
> >
> >   gl.removeGraphics("miGrupo");
> >
> >   Para no borrar los de las demas herramientas que puedan
> >   haber insertado graficos en el.
> >
> > - Por ultimo forzamos un refresco del mapa.
> >
> > Ademas tendras que determinar cuando quieres eliminar los
> > datos que has introducido en el GraphicsLayer.
> >
> > Otra opcion...
> > Puedes crear tu propia leyenda que es la que se encarga de
> > pintar las geometrias y asignarla a la capa. Asi sin pensarlo
> > mucho, podrias extender de "SingleSymbolLegend" y sobreescribir
> > el metodo:
> >
> >   public ISymbol getSymbolByFeature(Feature feat)
> >
> > para que en caso de que sea la feature que requieres un
> > pintado especial retorne el simbolo que toque, y para el
> > resto de casos llame al super.
> >
> > La cosa se puede complicar un poco mas si en lugar de
> > usar una leyenda de simbolo unico quieres usar otra,
> > mas que nada por su inicializacion, pero la idea seria
> > la misma.
> >
> > Espero que te sirva algo de lo que cuento, y lo dicho,
> > si me cuantas algo mas te puedo orientar mejor.
> >
> > Espero que cuentes por donde tiras y nos digas como te va.
> >
> > Un saludo
> > Joaquin
> >
> >
> >
> >
> > > Cualquier orientación será bienvenida, gracias
> > >
> > > Saludos
> > >
> > > _______________________________________________
> > > 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
> > >
> > >
> >
> >
> > --
> > --------------------------------------
> > Joaquin Jose del Cerro Murciano
> > Development and software arquitecture manager at gvSIG Team
> > jjdelcerro en gvsig.com
> > jjdelcerro en gvsig.org
> > gvSIG Association
> > www.gvsig.com
> > www.gvsig.org
> > ------------ pr?a parte ------------
> > Se ha borrado un adjunto en formato HTML...
> > URL:
> >
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/932081f7/attachment-0001.htm
> >
> > ------------------------------
> >
> > _______________________________________________
> > gvSIG_desarrolladores mailing list
> > gvSIG_desarrolladores en listserv.gva.es
> > http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >
> >
> > Fin de Resumen de gvSIG_desarrolladores, Vol 130, Envío 8
> > *********************************************************
> >
> ------------ pr?a parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/cdeb887b/attachment-0001.htm
>
> ------------------------------
>
> Message: 2
> Date: Thu, 22 Oct 2015 13:18:04 +0200
> From: Tomás Cabezudo <tcabezudo en gmail.com>
> Subject: Re: [Gvsig_desarrolladores] Resumen de gvSIG_desarrolladores,
>         Vol 130, Envío 8
> To: gvsig_desarrolladores en listserv.gva.es
> Message-ID:
>         <
> CAObipL5+BciC6r9AUCSUAjRO2cXOn0Daj74GzmE1fzF3xBe96g en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Una pequeña observación:
>
> mi objetivo es marcar ciertos municipios sobre la vista, para lo cual
> vuestro código ha funcionado perfectamente.
>
> El siguiente paso es que esa vista la quiero llevar a un mapa como un
> 'marco de vista', ahí ya no veo esos municipios 'marcados' .
>
> Entiendo que al ser una capa virtual sobre la que dibuja los gráficos, no
> se puede llevar sobre el marco de vista del mapa ¿es cierto esa suposición?
>
> ¿Habría alguna manera de poder verlo sobre el mapa?
>
>
>
> Gracias, un saludo
>
> El 22 de octubre de 2015, 12:39, Tomás Cabezudo <tcabezudo en gmail.com>
> escribió:
>
> > Muchas Gracias por la explicación.
> > He probado de la 1ª forma que me indicabas, registrando mis propios
> > símbolos y ha funcionado perfectamente.
> >
> > Gracias de nuevo, un saludo
> >
> > El 22 de octubre de 2015, 12:00, <
> > gvsig_desarrolladores-request en listserv.gva.es> escribió:
> >
> >> Envie los mensajes para la lista gvSIG_desarrolladores a
> >>         gvsig_desarrolladores en listserv.gva.es
> >>
> >> Para subscribirse o anular su subscripción a través de WEB
> >>
> >> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>
> >> O por correo electrónico, enviando un mensaje con el texto "help" en
> >> el asunto (subject) o en el cuerpo a:
> >>         gvsig_desarrolladores-request en listserv.gva.es
> >>
> >> Puede contactar con el responsable de la lista escribiendo a:
> >>         gvsig_desarrolladores-owner en listserv.gva.es
> >>
> >> Si responde a algún contenido de este mensaje, por favor, edite la
> >> linea del asunto (subject) para que el texto sea mas especifico que:
> >> "Re: Contents of gvSIG_desarrolladores digest...". Ademas, por favor,
> >> incluya en la respuesta solo aquellas partes del mensaje a las que
> >> esta respondiendo.
> >>
> >>
> >> Asuntos del día:
> >>
> >>    1. Ayuda en el dibujado de símbolos sobre la vista. (Tomás Cabezudo)
> >>    2. Re: Ayuda en el dibujado de símbolos sobre la vista.
> >>       (Joaquin Jose del Cerro Murciano)
> >>
> >>
> >> ----------------------------------------------------------------------
> >>
> >> Message: 1
> >> Date: Thu, 22 Oct 2015 09:35:35 +0200
> >> From: Tomás Cabezudo <tcabezudo en gmail.com>
> >> Subject: [Gvsig_desarrolladores] Ayuda en el dibujado de símbolos
> >>         sobre la vista.
> >> To: gvsig_desarrolladores en listserv.gva.es
> >> Message-ID:
> >>         <
> >> CAObipL7eT_wwMXMRe0sODe_k883ZCdiOCekr1AODh7ak_HjdUA en mail.gmail.com>
> >> Content-Type: text/plain; charset="utf-8"
> >>
> >> Buenos días,
> >>
> >> estoy intentando pintar un símbolo(un ISimpleFillSymbol sencillo) sobre
> >> una
> >> feature en la vista y no lo consigo, a ver si alguien puede echar una
> >> mano.
> >>
> >> He probado varios caminos, pero ninguno con éxito.
> >>
> >>
> >>
> >> //aqui compongo el simbolo
> >>
> >> private ISymbol getSymbolMunicipios(){
> >>
> >>                         SymbologyManager sm =
> >> SymbologyLocator.getSymbologyManager();
> >>
> >>
> >>
> >>                         Color color = new Color(206,242,213);
> >>
> >>
> >>
> >>         ISimpleFillSymbol resp = sm.createSimpleFillSymbol();
> >>
> >>         resp.setFillColor(color);
> >>
> >>         resp.setOutline(null);
> >>
> >>
> >>
> >>         return resp;
> >>
> >> }
> >>
> >>
> >>
> >>
> >>
> >> //aqui intento pintarlo Utilizando el mapcontroldrawer:
> >>
> >> MapControl mapCtrl = ((DefaultViewPanel)vista).getMapControl();
> >>
> >> MapControlDrawer mapControlDrawer = mapCtrl.getMapControlDrawer();
> >>
> >> mapControlDrawer.draw(geomFeature, simbolo, feature);
> >>
> >>
> >>
> >> //Utilizando el graphics2d:
> >>
> >> Graphics2D g =  (mapCtrl.getImage()).createGraphics();
> >>
> >>
> >> simbolo.draw(g, g.getTransform(), geomFeature, feature, null);
> >>
> >>
> >>
> >> Ninguno de los caminos parece el correcto.
> >>
> >>
> >>
> >> Cualquier orientación será bienvenida, gracias
> >>
> >> Saludos
> >> ------------ pr?a parte ------------
> >> Se ha borrado un adjunto en formato HTML...
> >> URL:
> >>
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/c2be5349/attachment-0001.htm
> >>
> >> ------------------------------
> >>
> >> Message: 2
> >> Date: Thu, 22 Oct 2015 11:00:56 +0200
> >> From: Joaquin Jose del Cerro Murciano <jjdelcerro en gvsig.org>
> >> Subject: Re: [Gvsig_desarrolladores] Ayuda en el dibujado de símbolos
> >>         sobre la vista.
> >> To: Lista de Desarrolladores de gvSIG
> >>         <gvsig_desarrolladores en listserv.gva.es>
> >> Message-ID:
> >>         <CABLUYi123P+zgynx60jPeTZmX=
> >> b7tbisPvEcr5JOiG-gZMUDbQ en mail.gmail.com>
> >> Content-Type: text/plain; charset="utf-8"
> >>
> >> El 22 de octubre de 2015, 9:35, Tomás Cabezudo <tcabezudo en gmail.com>
> >> escribió:
> >>
> >> > Buenos días,
> >> >
> >> > estoy intentando pintar un símbolo(un ISimpleFillSymbol sencillo)
> sobre
> >> > una feature en la vista y no lo consigo, a ver si alguien puede echar
> >> una
> >> > mano.
> >> >
> >> > He probado varios caminos, pero ninguno con éxito.
> >> >
> >> >
> >> >
> >> > //aqui compongo el simbolo
> >> >
> >> > private ISymbol getSymbolMunicipios(){
> >> >
> >> >                         SymbologyManager sm =
> >> > SymbologyLocator.getSymbologyManager();
> >> >
> >> >
> >> >
> >> >                         Color color = new Color(206,242,213);
> >> >
> >> >
> >> >
> >> >         ISimpleFillSymbol resp = sm.createSimpleFillSymbol();
> >> >
> >> >         resp.setFillColor(color);
> >> >
> >> >         resp.setOutline(null);
> >> >
> >> >
> >> >
> >> >         return resp;
> >> >
> >> > }
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > //aqui intento pintarlo Utilizando el mapcontroldrawer:
> >> >
> >> > MapControl mapCtrl = ((DefaultViewPanel)vista).getMapControl();
> >> >
> >> > MapControlDrawer mapControlDrawer = mapCtrl.getMapControlDrawer();
> >> >
> >> > mapControlDrawer.draw(geomFeature, simbolo, feature);
> >> >
> >> >
> >> >
> >> > //Utilizando el graphics2d:
> >> >
> >> > Graphics2D g =  (mapCtrl.getImage()).createGraphics();
> >> >
> >> >
> >> > simbolo.draw(g, g.getTransform(), geomFeature, feature, null);
> >> >
> >> >
> >> >
> >> > Ninguno de los caminos parece el correcto.
> >> >
> >> >
> >> >
> >>
> >>
> >> Hola Tomás,
> >> me temo que lo que quieres hacer no se puede.
> >> El pintado de la simbologia se encarga de hacerlo la
> >> leyenda de forma automatica al hacer un draw de la capa.
> >> No puedes forzar el pintado de una solo geometria.
> >> Depende de lo que quieras tienes varias opciones, pero
> >> necesitaria algo mas de descripcion de lo que quieres hacer
> >> para orientarte mejor.
> >>
> >> La opcion mas rapida si lo que quieres es pintar una geometria,
> >> o unas pocas, sobre la vista con una simbologia en concreto es
> >> usar el GraphicsLayer. Se trata de una capa virtual que se
> >> pinta sobre todas las demas y en la que puedes insertar geometrias
> >> con una simbologia en concreto y se pintaran sobre todas las
> >> capas. Un pedacito de codigo...
> >>
> >>         MapContext mapContext = ...;
> >>         Geometry theGeom = ...;
> >>
> >>         GraphicLayer gl = mapContext.getGraphicsLayer();
> >>
> >>         ISymbol symbolMunicipios = getSymbolMunicipios();
> >>
> >>         int symid = gl.getSymbolId(symbolMunicipios);
> >>         if( symid<0 ) {
> >>             symid = gl.addSymbol(symbolMunicipios);
> >>         }
> >>         gl.addGraphic("miGrupo", theGeom, symid);
> >>
> >>         mapContext.invalidate();
> >>
> >> No lo he probado pero la idea seria algo asi.
> >>
> >> - Al mapContext le pedimos su GraphicsLayer.
> >>
> >> - En el hay que registrar el simbolo o simbolos que
> >>   vamos a usar con addSymbol.
> >>
> >> - Tenemos que tener la precaucion de no registrar
> >>   simbolos como locos, si ya lo hemos registrado
> >>   no lo volvemos a registrar.
> >>   Para eso, utilizaremos la funcion getSymbolId para
> >>   consultar si ya hemos registrado ese simbolo y solo
> >>   lo registraremos si no lo habiamos registrado antes.
> >>   Ojo, que esto solo funciona si utilizamos la misma
> >>   instanancia de simbolo. Si la funcion getSymbolMunicipios
> >>   nos devuelve una instanancia distinta cada vez que se
> >>   llama esto no ira.
> >>
> >> - Añadiremos al GraphicsLayer la geometria indicandole que
> >>   use el identificador del simbolo que hemos añadido.
> >>   Ademas usaremos un identificador, "miGrupo" en el codigo
> >>   que he picado, que identifique mi funcionalidad.
> >>   Hay que tener en cuenta que el GraphicsLayer se usa
> >>   en varias herramientas y cuando queremos borrar nuestros
> >>   graficos de el, deberemos borrar solo los nuestros usando
> >>
> >>   gl.removeGraphics("miGrupo");
> >>
> >>   Para no borrar los de las demas herramientas que puedan
> >>   haber insertado graficos en el.
> >>
> >> - Por ultimo forzamos un refresco del mapa.
> >>
> >> Ademas tendras que determinar cuando quieres eliminar los
> >> datos que has introducido en el GraphicsLayer.
> >>
> >> Otra opcion...
> >> Puedes crear tu propia leyenda que es la que se encarga de
> >> pintar las geometrias y asignarla a la capa. Asi sin pensarlo
> >> mucho, podrias extender de "SingleSymbolLegend" y sobreescribir
> >> el metodo:
> >>
> >>   public ISymbol getSymbolByFeature(Feature feat)
> >>
> >> para que en caso de que sea la feature que requieres un
> >> pintado especial retorne el simbolo que toque, y para el
> >> resto de casos llame al super.
> >>
> >> La cosa se puede complicar un poco mas si en lugar de
> >> usar una leyenda de simbolo unico quieres usar otra,
> >> mas que nada por su inicializacion, pero la idea seria
> >> la misma.
> >>
> >> Espero que te sirva algo de lo que cuento, y lo dicho,
> >> si me cuantas algo mas te puedo orientar mejor.
> >>
> >> Espero que cuentes por donde tiras y nos digas como te va.
> >>
> >> Un saludo
> >> Joaquin
> >>
> >>
> >>
> >>
> >> > Cualquier orientación será bienvenida, gracias
> >> >
> >> > Saludos
> >> >
> >> > _______________________________________________
> >> > 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
> >> >
> >> >
> >>
> >>
> >> --
> >> --------------------------------------
> >> Joaquin Jose del Cerro Murciano
> >> Development and software arquitecture manager at gvSIG Team
> >> jjdelcerro en gvsig.com
> >> jjdelcerro en gvsig.org
> >> gvSIG Association
> >> www.gvsig.com
> >> www.gvsig.org
> >> ------------ pr?a parte ------------
> >> Se ha borrado un adjunto en formato HTML...
> >> URL:
> >>
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/932081f7/attachment-0001.htm
> >>
> >> ------------------------------
> >>
> >> _______________________________________________
> >> gvSIG_desarrolladores mailing list
> >> gvSIG_desarrolladores en listserv.gva.es
> >> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>
> >>
> >> Fin de Resumen de gvSIG_desarrolladores, Vol 130, Envío 8
> >> *********************************************************
> >>
> >
> >
> ------------ pr?a parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/06a1299a/attachment-0001.htm
>
> ------------------------------
>
> Message: 3
> Date: Thu, 22 Oct 2015 14:26:16 +0200
> From: Joaquin Jose del Cerro Murciano <jjdelcerro en gvsig.org>
> Subject: Re: [Gvsig_desarrolladores] Resumen de gvSIG_desarrolladores,
>         Vol 130, Envío 8
> To: Lista de Desarrolladores de gvSIG
>         <gvsig_desarrolladores en listserv.gva.es>
> Message-ID:
>         <
> CABLUYi2+JhXcWJB72U94Y9R1GamOYmMbFNCXdkY18pGn_ba91A en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> El 22 de octubre de 2015, 13:18, Tomás Cabezudo <tcabezudo en gmail.com>
> escribió:
>
> > Una pequeña observación:
> >
> > mi objetivo es marcar ciertos municipios sobre la vista, para lo cual
> > vuestro código ha funcionado perfectamente.
> >
> > El siguiente paso es que esa vista la quiero llevar a un mapa como un
> > 'marco de vista', ahí ya no veo esos municipios 'marcados' .
> >
> > Entiendo que al ser una capa virtual sobre la que dibuja los gráficos, no
> > se puede llevar sobre el marco de vista del mapa ¿es cierto esa
> suposición?
> >
> > ¿Habría alguna manera de poder verlo sobre el mapa?
> >
> >
> No me habia dado cuenta nunca, pero efectivamente, cuando se inserta
> una vista en el mapa no se copia el graphicsLayer. Probablemente estaria
> bien ver de meter algun check que indique que quieres mantener sincronizado
> el graphicsLayer de la vista.
>
> Supongo que tendra algun problema de persistencia.
> Como el graphicsLayer vive en memoria y es muy cambiante dudo que
> al guardar el proyecto y recuperarlo este ahi de nuevo y probablemente
> por eso no se incluyo en el layout.
>
> No tengo muy claro como solucionarlo, aunque dejo aqui algunas
> ideas que no termino de ver como encajarlas sin mas contexto de
> que hace la aplicacion.
>
> - Es posible copiar el graphicsLayer de la vista en el mapa.
>   Lo que no se es cuando tendrias que hacerlo.
>
> - Puedes acceder al MapContext de la vista del layout e insertar
>   en el los graficos.
>
> Y pasando ha hacer algo completamente distinto, en lugar de usar
> el GraphicsLayer  tambien podrias ver de generar alguna capa (shp)
> con las geometrias que quieras y insertarla en la vista con una leyenda
> especifica (tal vez una de catagorias). Eso seguro que se ve en el mapa.
>
> He probado ha hacer un script de forma rapida para probar el primer
> caso y parece que funcionaria. Te dejo aqui el script por si ir
> por esa linea te sirbe de algo. Es facilmente pasable a java.
>
> Ya cuentas por donde tiras.
>
> Un saludo
> Joaquin
>
> #--------------><----------------><--------------
>
> # ==========================================================
> #
> # Declara como que el plugin de scripting puede importar modulos
> # de otro plugin de gvSIG.
> #
> # Por ejemplo, tras ejecutar:
> #
> #   use_plugin("org.gvsig.app.document.layout2.app.mainplugin")
> #
> # Ya podriamos importar modulos del plugin de Mapas (documento mapa)
> #
>
> def use_plugin(pluginName):
>   from org.gvsig.andami import PluginsLocator
>
>   pluginsManager = PluginsLocator.getManager()
>   other = pluginsManager.getPlugin(pluginName)
>   scripting = pluginsManager.getPlugin("org.gvsig.scripting.app.extension")
>   scripting.addDependencyWithPlugin(other)
>
> #
> # ==========================================================
> #
> use_plugin("org.gvsig.app.document.layout2.app.mainplugin")
>
> from gvsig_2_0_0 import *
> from org.gvsig.app.project.documents.layout import DefaultLayoutManager
>
> def main(*args):
>
>   view = currentView()
>   viewMapContext = view.getMapContext()
>
>   # Obtenemos el objeto que se corresponde con el proyecto.
>   proyecto = currentProject()() # Ojo con los dobles perentesis
>
>   # Localizamos el mapa de nombre "prueba" de entre los documentos del
> proyecto
>   mapa = proyecto.getDocument("prueba",DefaultLayoutManager.TYPENAME )
>
>   context = mapa.getLayoutContext()
>
>   # Nos recorremos todos los elementos del mapa buscando la vista
>   for elemento in  context.getAllFFrames():
>     if "FFrameView" in elemento.__class__.__name__:
>       mapContext = elemento.getMapContext()
>       mapContext.setGraphicsLayer(viewMapContext.getGraphicsLayer())
>       mapContext.invalidate()
>
>   context.fullRefresh()
>
> #--------------><----------------><--------------
>
>
>
> >
> >
> > Gracias, un saludo
> >
> >
> --
> --------------------------------------
> Joaquin Jose del Cerro Murciano
> Development and software arquitecture manager at gvSIG Team
> jjdelcerro en gvsig.com
> jjdelcerro en gvsig.org
> gvSIG Association
> www.gvsig.com
> www.gvsig.org
> ------------ pr?a parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/2fbfef31/attachment-0001.htm
>
> ------------------------------
>
> Message: 4
> Date: Fri, 23 Oct 2015 10:56:13 +0200
> From: Javier Galán <javiergalans en gmail.com>
> Subject: Re: [Gvsig_desarrolladores] cómo recorrer los elementos de un
>         mapa automaticamente
> To: Lista de Desarrolladores de gvSIG
>         <gvsig_desarrolladores en listserv.gva.es>
> Message-ID:
>         <
> CAPBKqyPNcFYPJEmy7O-O5H-ROstapBs8uEoge7kQuapCAXyTfA en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hola
>
> Quiero intentar algunas automatizaciones con las salidas de los mapas, y
> estoy buscando el pom para poder modificarlo, pero no se donde lo almacena.
> ¿Alguien podría decirme donde lo encuentro?
>
> Gracias
> Javier
>
>
> El 15 de octubre de 2015, 7:52, Ana Calle <nico200307 en gmail.com> escribió:
>
> > Muchas gracias Joaquín, claro que me servirá, a mi y a mucha más gente.
> > Esos pequeños scripts de código que casi siempre se aportan como ejemplos
> > (unido a esas buenas explicaciones a las que nos tienes acostumbrados),
> > ayudan mucho para continuar el trabajo.
> >
> > Saludos
> > ana
> >
> > El 14 de octubre de 2015, 21:20, Joaquin Jose del Cerro Murciano <
> > jjdelcerro en gvsig.org> escribió:
> >
> >>
> >>
> >> El 14 de octubre de 2015, 9:03, Lluís Marqués <lmarques en disid.com>
> >> escribió:
> >>
> >>> Hola Ana,
> >>>
> >>> si no me equivoco, efectivamente te faltan las siguientes dependencias
> >>> en el pom:
> >>>
> >>> <dependency>
> >>>     <groupId>org.gvsig</groupId>
> >>>
>  <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >>> </dependency>
> >>> <dependency>
> >>>      <groupId>org.gvsig</groupId>
> >>>
> >>> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>  </dependency>
> >>>
> >>> Además de añadir esta dos dependencias, tendrás que añadir el siguiente
> >>> manejo de dependencia en el pom de tu proyecto padre:
> >>>
> >>> <dependencyManagement>
> >>>     <dependencies>
> >>>         <dependency>
> >>>              <groupId>org.gvsig</groupId>
> >>>
> >>> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>               <version>2.0.57</version>
> >>>         </dependency>
> >>>     </dependencies>
> >>> </dependencyManagement>
> >>>
> >>> Solo es necesario añadir el manejo de *layout2* porque en el *pom* de
> >>> *org.gvsig.desktop* ya tiene indicado el manejo para la dependencia del
> >>> documento tabla.
> >>>
> >>> Por otro lado, como las dependencias que estas añadiendo son a otros
> >>> plugins de gvSIG, es necesario indicar en el config.xml  que depende de
> >>> estos dos plugins por dos motivos: el primero para que en tiempo de
> >>> ejecución sepa donde se encuentran las clases y para que gvSIG cargue
> >>> primero los plugins de los que dependes antes de tu plugin. Quedaría
> algo
> >>> así:
> >>>
> >>> <plugin-config>
> >>>     <depends plugin-name="org.gvsig.app.mainplugin" />
> >>>     <depends plugin-name="org.gvsig.app.document.table.app.mainplugin"
> />
> >>>     <depends
> plugin-name="org.gvsig.app.document.layout2.app.mainplugin"
> >>> />
> >>>
> >>> [...]
> >>>
> >>> Si alguien ven algo incorrecto que me corriga. Un saludo, Lluís.
> >>>
> >>>
> >>>
> >>>
> >> Hola Ana,
> >> un correccion a lo que comenta Luis, y algunas recomendaciones.
> >>
> >> Primero la correccion.
> >>
> >> La versiom del layout no creo que sea esa la que te interese, esa es
> >> la version del layout del build 2.3.0-2403, y supongo que tu querras
> >> la de la 2.2.0 final o la de la 2.1.0 final.
> >>
> >> - Para gvSIG 2.2.0-2313 es la 2.0.52 del layout.
> >> - Para gvSIG 2.1.0-2269 es la 2.0.42 del layout.
> >>
> >> Como aun no hay version final de la 2.3.0 no te aconsejo que trabajes
> >> con versiones del layout superiores a la 2.0.52.
> >>
> >> Para saber que version tienes que usar del layout, tienes que determinar
> >> contra que version de gvSIG vas a trabajar y mirar en la instalacion de
> >> esa version en:
> >>
> >>
> >>
> gvSIG/extensiones/org.gvsig.app.document.layout2.app.mainplugin/org.gvsig.app.document.layout2.app.mainplugin-*.jar
> >>
> >> La version de ese jar te da la version del layout para ese gvSIG.
> >>
> >> Y ahora las recomendaciones.
> >>
> >> Son dos...
> >>
> >> - Relacionadas con la inclusion de las dependencias
> >>   en el dependencyManagement
> >> - Relacionadas con el scope de las dependencias.
> >>
> >> Es correcto usar la definicion de dependencias en el dependencyManagenet
> >> que te ha indicado Lluis, pero la recomendacion es que para añadir una
> >> dependencia al
> >> dependencyManagenet le pongas algo como:
> >>
> >> ...
> >>   <properties>
> >> ...
> >>
> >>
> <org.gvsig.app.document.layout2.app.version>2.0.55</org.gvsig.app.document.layout2.app.version>
> >> ...
> >>   </properties>
> >>
> >> ...
> >>
> >>   <dependency>
> >>       <groupId>org.gvsig</groupId>
> >>       <artifactId>org.gvsig.app.document.layout2.app</artifactId>
> >>       <version>${org.gvsig.app.document.layout2.app.version}</version>
> >>       <type>pom</type>
> >>       <scope>import</scope>
> >>   </dependency>
> >> ...
> >>
> >> Que significa eso:
> >> - En lugar de incluir una dependencia con un subproyecto del proyecto
> >>   org.gvsig.app.document.layout2.app, le diremos que importe las
> >>   dependencias que hay declaradas en el proyecto raiz del layout.
> >>   Eso lo hacemos con los tags type y scope.
> >>   Esto minimiza los errores al especificar la version cuando tenemos
> >>   que declarar mas de una dependencia de un mismo proyecto.
> >>   Salvo error, todos los proyectos de gvSIG indican en el
> >> dependencyManagement
> >>   del proyecto raiz las versiones de los artifactos que generan sus
> >>   subproyectos y las de las librerias que pueden ser necesarias para
> >>   linkar con ellos.
> >>   Es aconsojable que en tus proyectos relacionados con gvSIG sigas esta
> >>   practica para facilitar el uso desde otros proyectos.
> >>
> >> - Desde gvSIG aconsejamos que para indicar una version de un proyecto
> >>   de gvSIG declaremos el numero de version en una propiedad en el pom.
> >>   Esto facilita actualizar las versiones a la ultima usando
> >>     mvn update-properties
> >>
> >>
> >> En cuanto a la declaracion del scope...
> >>
> >> En el pom del plugin, que es donde deben ir las dependencias con los
> >> otros plugins, es recomendable especificar el scope de esa dependencia.
> >> Si no se especifica maven asume que es una dependencia de compilacion.
> >> Esto parece no tener muchas repercusiones salvo que en algun momento
> >> quieras obtener un informe de dependencias de tu proyecto o esteis
> >> trabajando mas de un desarrollador en el y de repente necesites saber
> >> si el proyecto precisa de una libreria en concreto. Te encontraras que
> no
> >> sabras nunca si es una dependencia de runtime y alguien se olvido
> >> de poner el scope, o es de compilacion. Asi que como cuesta
> >> muy poquito poner que tipo de depenencia es, aconsejo que cuando se
> >> añada al pom se tenga la costumbre de indicarlo.
> >>
> >> Los scopes mas comunes son:
> >>     <scope>compile</scope>
> >>     <scope>runtime</scope>
> >>
> >>
> >> Asi la declaracion con las dependencias con el plugin de tablas y layout
> >> serian:
> >>
> >> <dependency>
> >>     <groupId>org.gvsig</groupId>
> >>     <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >>     <scope>compile</scope>
> >> </dependency>
> >> <dependency>
> >>      <groupId>org.gvsig</groupId>
> >>
> >> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>     <scope>compile</scope>
> >>  </dependency>
> >>
> >> Bueno, pues solo era matizar algunas cosillas.
> >>
> >> Espero que te sirba.
> >>
> >> Un saludo
> >> Joaquin
> >>
> >>
> >>
> >>
> >>>
> >>> El 14/10/15 a las 08:10, Ana Calle escribió:
> >>>
> >>> Hola Joaquin,
> >>> he estado intentando hacer funcionar el código que me pasaste, a mi
> >>> extensión en java, pero (perdona mi ignorancia) no he sido capaz.
> >>>
> >>> Me da error directamente al intentar hacer los import correspondientes.
> >>>
> >>> Sí que me deja hacer:
> >>> import org.gvsig.app.project.documents.view.ViewManager;
> >>>
> >>> Pero me da error de que no puede resolver:
> >>> import org.gvsig.app.project.documents.layout.LayoutManager;
> >>> import org.gvsig.app.project.documents.table.TableManager;
> >>> Supongo que me falta alguna referencia en el pom.xml o algo así, pero
> no
> >>> consigo verlo
> >>> A ver si me puedes echar una mano...
> >>> Como siempre muchas gracias por tu tiempo.
> >>>
> >>> Saludos
> >>>
> >>> El 13 de octubre de 2015, 14:22, Joaquin Jose del Cerro Murciano <
> >>> <jjdelcerro en gvsig.org>jjdelcerro en gvsig.org> escribió:
> >>>
> >>>>
> >>>>
> >>>> El 13 de octubre de 2015, 12:26, Ana Calle < <nico200307 en gmail.com>
> >>>> nico200307 en gmail.com> escribió:
> >>>>
> >>>>> Buenos días,
> >>>>> en el proceso de migración del código de una extensión realizada en
> >>>>> gvSig 1.10, tenemos implementados una serie de planos con sus
> respectivos
> >>>>> cajetines.
> >>>>> De manera automática, el plano se rellenaba según las características
> >>>>> de consulta correspondientes, es decir, en el cajetín se van
> sustituyendo
> >>>>> los textos genéricos por los específicos de la consulta.
> >>>>> Teníamos implementado el código en el que obtenía el layout de la
> >>>>> ventana del plano, y ahí se recorrían los elementos:
> >>>>>
> >>>>> --recorriendo los documentos llegábamos a la ventana del plano
> >>>>> (vEntana):
> >>>>>
> >>>>> Layout l =(Layout)vEntana;
> >>>>> IFFrame[] fframes = l.getFFrames();
> >>>>> for (int i = 0; i < fframes.length; i++) {
> >>>>> if (fframes[i] instanceof FFrameView) {
> >>>>> ......
> >>>>> }else if (fframes[i] instanceof FFrameText){
> >>>>> ......
> >>>>> }
> >>>>> }
> >>>>> ¿como podría obtener ese layout y los IFFrame[] con la nueva version
> >>>>> gvSig 2.2?
> >>>>>
> >>>>>
> >>>> Puedes o recorrer todos los documentos, puedes o no filtrar por tipo,
> o
> >>>> recuperar un documento layout en concreto por nombre. Una vez tengas
> el
> >>>> documento layout, accedes LayoutContext y a el ya le puedes peridr
> >>>> "getFFrames".
> >>>>
> >>>> Dejo pedacito de script (falta la iniciaciacion del acceso al layout
> >>>> desde scripting pero para usarlo de inspiracion en java es
> suficiente).
> >>>>
> >>>> Ojo, que el LayoutDocument, lo que devuelbe el getDocuments, no es la
> >>>> ventana del plano, si no el documento. No recuerdo cuando se separo,
> por un
> >>>> lado el interface grafico y por otro la logica del documento.
> >>>>
> >>>> Un saludo
> >>>> Joaquin
> >>>>
> >>>>
> >>>>
> >>>> from org.gvsig.app import ApplicationLocator
> >>>> from org.gvsig.app.project.documents.layout import LayoutManager
> >>>>
> >>>> def main(*args):
> >>>>   # Recuperamos el proyecto
> >>>>   project = ApplicationLocator.getManager().getCurrentProject()
> >>>>
> >>>>   # Opcion 1
> >>>>   # Recorremos los layouts que hay en el proyecto
> >>>>   layouts = project.getDocuments(LayoutManager.TYPENAME)
> >>>>   for layout in layouts:
> >>>>     print layout.__class__.__name__, layout.getName()
> >>>>     contextLayout = layout.getLayoutContext()
> >>>>     for elemento in  contextLayout.getAllFFrames():
> >>>>       print elemento.getName()
> >>>>
> >>>>   print "----------------------------"
> >>>>
> >>>>   # Opcion 2
> >>>>   # Recuperamos un layout por nombre
> >>>>   layout = project.getDocument("Plantilla", LayoutManager.TYPENAME)
> >>>>   print layout.__class__.__name__, layout.getName()
> >>>>   contextLayout = layout.getLayoutContext()
> >>>>   for elemento in  contextLayout.getAllFFrames():
> >>>>     print elemento.getName()
> >>>>
> >>>>   print "----------------------------"
> >>>>
> >>>>   # Como obtener la venta del layout
> >>>>   layoutManager =
> >>>>
> ApplicationLocator.getProjectManager().getDocumentManager(LayoutManager.TYPENAME)
> >>>>
> >>>>   layout = project.getDocument("Plantilla", LayoutManager.TYPENAME)
> >>>>   layoutPanel = layoutManager.getMainWindow(layout)
> >>>>   print layoutPanel.__class__.__name__,
> >>>> layoutPanel.getDocument().getName()
> >>>>
> >>>> Esto con el proyecto que tengo cargado saca:
> >>>>
> >>>> Running script test_layout2.
> >>>> DefaultLayoutDocument Plantilla
> >>>> FFrameGraphics
> >>>> FFrameGraphics
> >>>> FFrameGraphics
> >>>> FFrameGraphics
> >>>> FFrameText
> >>>> FFrameText
> >>>> FFrameText
> >>>> FFrameView
> >>>> FFrameScaleBar
> >>>> FFrameLegend
> >>>> FFrameText
> >>>> FFrameOverView
> >>>> FFrameGraphics
> >>>> FFrameNorth
> >>>> FFramePicture
> >>>> ----------------------------
> >>>> DefaultLayoutDocument Plantilla
> >>>> FFrameGraphics
> >>>> FFrameGraphics
> >>>> FFrameGraphics
> >>>> FFrameGraphics
> >>>> FFrameText
> >>>> FFrameText
> >>>> FFrameText
> >>>> FFrameView
> >>>> FFrameScaleBar
> >>>> FFrameLegend
> >>>> FFrameText
> >>>> FFrameOverView
> >>>> FFrameGraphics
> >>>> FFrameNorth
> >>>> FFramePicture
> >>>> ----------------------------
> >>>> LayoutPanelImpl Plantilla
> >>>> Script test_layout2 terminated.
> >>>>
> >>>>
> >>>>
> >>>>> Muchas gracias de antemano,
> >>>>> un saludo
> >>>>> Ana
> >>>>>
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> 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>
> >>>>>
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> --------------------------------------
> >>>> Joaquin Jose del Cerro Murciano
> >>>> Development and software arquitecture manager at gvSIG Team
> >>>> jjdelcerro en gvsig.com
> >>>> jjdelcerro en gvsig.org
> >>>> gvSIG Association
> >>>> www.gvsig.com
> >>>> www.gvsig.org
> >>>>
> >>>> _______________________________________________
> >>>> 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
> listgvSIG_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
> >>>
> >>>
> >>> --
> >>>
> >>> Lluís Marqués Castelló / Ingeniero software
> >>>
> >>> [image: DISID] <lmarques en disid.com> [image: DISID]
> >>> <http://twitter.com/llumarca>
> >>> [image: DISID] <http://www.disid.com>
> >>>
> >>> DISID Corporation S.L. Tfno: 34 963 516 309 / Fax: 96 119 81 10
> >>> C/ San Vicente 84, 5 A 46002 Valencia - España
> >>> http://www.disid.com
> >>>
> >>> [image: Facebook] <http://www.facebook.com/DISIDCorp> [image: Twitter]
> >>> <http://twitter.com/disid_corp> [image: Linkedin]
> >>> <http://www.linkedin.com/company/disid> [image: Github]
> >>> <http://github.com/disid/>
> >>> *Proveedor de soluciones software*
> >>>
> >>> Confidencialidad: Esta comunicación contiene información que puede ser
> >>> confidencial y privilegiada. Es para uso exclusivo del destinatario
> >>> indicado. Si no es Vd. el destinatario, por favor tome nota de que
> >>> cualquier distribución, copia o uso de esta comunicación o información
> está
> >>> estrictamente prohibido. Si ha recibido este mensaje por error, por
> favor
> >>> avísenos por e-mail a info en disid.com y después destruya el mensaje y
> >>> cualquier copia de él. Las opiniones expresadas en el mensaje pueden
> ser
> >>> personales y no necesariamente opiniones de DISID Corporation, S.L.
> >>>
> >>> Virus y Seguridad: Aunque hemos tomado las medidas para asegurarnos que
> >>> este correo electrónico y sus ficheros adjuntos están libres de virus,
> le
> >>> recomendamos que a efectos de mantener buenas prácticas de seguridad,
> el
> >>> receptor debe asegurarse que este correo y sus ficheros adjuntos están
> >>> libres de virus.
> >>>
> >>>
> >>> _______________________________________________
> >>> 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
> >>>
> >>>
> >>
> >>
> >> --
> >> --------------------------------------
> >> Joaquin Jose del Cerro Murciano
> >> Development and software arquitecture manager at gvSIG Team
> >> jjdelcerro en gvsig.com
> >> jjdelcerro en gvsig.org
> >> gvSIG Association
> >> www.gvsig.com
> >> www.gvsig.org
> >>
> >> _______________________________________________
> >> 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
> >
> >
> ------------ pr?a parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/6d78b216/attachment-0001.htm
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : befdbihe.png
> Tipo       : image/png
> Tamaño     : 177 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/6d78b216/attachment-0007.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : hahcfbda.png
> Tipo       : image/png
> Tamaño     : 737 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/6d78b216/attachment-0008.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : ecbggaai.png
> Tipo       : image/png
> Tamaño     : 871 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/6d78b216/attachment-0009.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : jdadeejc.png
> Tipo       : image/png
> Tamaño     : 243 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/6d78b216/attachment-0010.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : ajhjhdag.png
> Tipo       : image/png
> Tamaño     : 909 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/6d78b216/attachment-0011.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : bdeciebd.png
> Tipo       : image/png
> Tamaño     : 603 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/6d78b216/attachment-0012.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : jbbagihd.png
> Tipo       : image/png
> Tamaño     : 3310 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/6d78b216/attachment-0013.png
>
> ------------------------------
>
> Message: 5
> Date: Fri, 23 Oct 2015 11:16:36 +0200
> From: Ana Calle <nico200307 en gmail.com>
> Subject: Re: [Gvsig_desarrolladores] cómo recorrer los elementos de un
>         mapa automaticamente
> To: Lista de Desarrolladores de gvSIG
>         <gvsig_desarrolladores en listserv.gva.es>
> Message-ID:
>         <CACeTTzgUU9_JWv5Zo=
> m9hovqx9em422eUPOK0b2HJRXDic4VYw en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hola Javier,
> consulta el hilo
> cómo recorrer los elementos de un mapa automaticamente
> de este mismo mes, seguro que te ayuda
>
> Saludos
>
> El 23 de octubre de 2015, 10:56, Javier Galán <javiergalans en gmail.com>
> escribió:
>
> > Hola
> >
> > Quiero intentar algunas automatizaciones con las salidas de los mapas, y
> > estoy buscando el pom para poder modificarlo, pero no se donde lo
> almacena.
> > ¿Alguien podría decirme donde lo encuentro?
> >
> > Gracias
> > Javier
> >
> >
> > El 15 de octubre de 2015, 7:52, Ana Calle <nico200307 en gmail.com>
> escribió:
> >
> >> Muchas gracias Joaquín, claro que me servirá, a mi y a mucha más gente.
> >> Esos pequeños scripts de código que casi siempre se aportan como
> ejemplos
> >> (unido a esas buenas explicaciones a las que nos tienes acostumbrados),
> >> ayudan mucho para continuar el trabajo.
> >>
> >> Saludos
> >> ana
> >>
> >> El 14 de octubre de 2015, 21:20, Joaquin Jose del Cerro Murciano <
> >> jjdelcerro en gvsig.org> escribió:
> >>
> >>>
> >>>
> >>> El 14 de octubre de 2015, 9:03, Lluís Marqués <lmarques en disid.com>
> >>> escribió:
> >>>
> >>>> Hola Ana,
> >>>>
> >>>> si no me equivoco, efectivamente te faltan las siguientes dependencias
> >>>> en el pom:
> >>>>
> >>>> <dependency>
> >>>>     <groupId>org.gvsig</groupId>
> >>>>
>  <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >>>> </dependency>
> >>>> <dependency>
> >>>>      <groupId>org.gvsig</groupId>
> >>>>
> >>>> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>>  </dependency>
> >>>>
> >>>> Además de añadir esta dos dependencias, tendrás que añadir el
> siguiente
> >>>> manejo de dependencia en el pom de tu proyecto padre:
> >>>>
> >>>> <dependencyManagement>
> >>>>     <dependencies>
> >>>>         <dependency>
> >>>>              <groupId>org.gvsig</groupId>
> >>>>
> >>>> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>>               <version>2.0.57</version>
> >>>>         </dependency>
> >>>>     </dependencies>
> >>>> </dependencyManagement>
> >>>>
> >>>> Solo es necesario añadir el manejo de *layout2* porque en el *pom* de
> >>>> *org.gvsig.desktop* ya tiene indicado el manejo para la dependencia
> >>>> del documento tabla.
> >>>>
> >>>> Por otro lado, como las dependencias que estas añadiendo son a otros
> >>>> plugins de gvSIG, es necesario indicar en el config.xml  que depende
> de
> >>>> estos dos plugins por dos motivos: el primero para que en tiempo de
> >>>> ejecución sepa donde se encuentran las clases y para que gvSIG cargue
> >>>> primero los plugins de los que dependes antes de tu plugin. Quedaría
> algo
> >>>> así:
> >>>>
> >>>> <plugin-config>
> >>>>     <depends plugin-name="org.gvsig.app.mainplugin" />
> >>>>     <depends plugin-name="org.gvsig.app.document.table.app.mainplugin"
> >>>> />
> >>>>     <depends
> >>>> plugin-name="org.gvsig.app.document.layout2.app.mainplugin" />
> >>>>
> >>>> [...]
> >>>>
> >>>> Si alguien ven algo incorrecto que me corriga. Un saludo, Lluís.
> >>>>
> >>>>
> >>>>
> >>>>
> >>> Hola Ana,
> >>> un correccion a lo que comenta Luis, y algunas recomendaciones.
> >>>
> >>> Primero la correccion.
> >>>
> >>> La versiom del layout no creo que sea esa la que te interese, esa es
> >>> la version del layout del build 2.3.0-2403, y supongo que tu querras
> >>> la de la 2.2.0 final o la de la 2.1.0 final.
> >>>
> >>> - Para gvSIG 2.2.0-2313 es la 2.0.52 del layout.
> >>> - Para gvSIG 2.1.0-2269 es la 2.0.42 del layout.
> >>>
> >>> Como aun no hay version final de la 2.3.0 no te aconsejo que trabajes
> >>> con versiones del layout superiores a la 2.0.52.
> >>>
> >>> Para saber que version tienes que usar del layout, tienes que
> determinar
> >>> contra que version de gvSIG vas a trabajar y mirar en la instalacion de
> >>> esa version en:
> >>>
> >>>
> >>>
> gvSIG/extensiones/org.gvsig.app.document.layout2.app.mainplugin/org.gvsig.app.document.layout2.app.mainplugin-*.jar
> >>>
> >>> La version de ese jar te da la version del layout para ese gvSIG.
> >>>
> >>> Y ahora las recomendaciones.
> >>>
> >>> Son dos...
> >>>
> >>> - Relacionadas con la inclusion de las dependencias
> >>>   en el dependencyManagement
> >>> - Relacionadas con el scope de las dependencias.
> >>>
> >>> Es correcto usar la definicion de dependencias en el
> dependencyManagenet
> >>> que te ha indicado Lluis, pero la recomendacion es que para añadir una
> >>> dependencia al
> >>> dependencyManagenet le pongas algo como:
> >>>
> >>> ...
> >>>   <properties>
> >>> ...
> >>>
> >>>
> <org.gvsig.app.document.layout2.app.version>2.0.55</org.gvsig.app.document.layout2.app.version>
> >>> ...
> >>>   </properties>
> >>>
> >>> ...
> >>>
> >>>   <dependency>
> >>>       <groupId>org.gvsig</groupId>
> >>>       <artifactId>org.gvsig.app.document.layout2.app</artifactId>
> >>>       <version>${org.gvsig.app.document.layout2.app.version}</version>
> >>>       <type>pom</type>
> >>>       <scope>import</scope>
> >>>   </dependency>
> >>> ...
> >>>
> >>> Que significa eso:
> >>> - En lugar de incluir una dependencia con un subproyecto del proyecto
> >>>   org.gvsig.app.document.layout2.app, le diremos que importe las
> >>>   dependencias que hay declaradas en el proyecto raiz del layout.
> >>>   Eso lo hacemos con los tags type y scope.
> >>>   Esto minimiza los errores al especificar la version cuando tenemos
> >>>   que declarar mas de una dependencia de un mismo proyecto.
> >>>   Salvo error, todos los proyectos de gvSIG indican en el
> >>> dependencyManagement
> >>>   del proyecto raiz las versiones de los artifactos que generan sus
> >>>   subproyectos y las de las librerias que pueden ser necesarias para
> >>>   linkar con ellos.
> >>>   Es aconsojable que en tus proyectos relacionados con gvSIG sigas esta
> >>>   practica para facilitar el uso desde otros proyectos.
> >>>
> >>> - Desde gvSIG aconsejamos que para indicar una version de un proyecto
> >>>   de gvSIG declaremos el numero de version en una propiedad en el pom.
> >>>   Esto facilita actualizar las versiones a la ultima usando
> >>>     mvn update-properties
> >>>
> >>>
> >>> En cuanto a la declaracion del scope...
> >>>
> >>> En el pom del plugin, que es donde deben ir las dependencias con los
> >>> otros plugins, es recomendable especificar el scope de esa dependencia.
> >>> Si no se especifica maven asume que es una dependencia de compilacion.
> >>> Esto parece no tener muchas repercusiones salvo que en algun momento
> >>> quieras obtener un informe de dependencias de tu proyecto o esteis
> >>> trabajando mas de un desarrollador en el y de repente necesites saber
> >>> si el proyecto precisa de una libreria en concreto. Te encontraras que
> no
> >>> sabras nunca si es una dependencia de runtime y alguien se olvido
> >>> de poner el scope, o es de compilacion. Asi que como cuesta
> >>> muy poquito poner que tipo de depenencia es, aconsejo que cuando se
> >>> añada al pom se tenga la costumbre de indicarlo.
> >>>
> >>> Los scopes mas comunes son:
> >>>     <scope>compile</scope>
> >>>     <scope>runtime</scope>
> >>>
> >>>
> >>> Asi la declaracion con las dependencias con el plugin de tablas y
> layout
> >>> serian:
> >>>
> >>> <dependency>
> >>>     <groupId>org.gvsig</groupId>
> >>>
>  <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >>>     <scope>compile</scope>
> >>> </dependency>
> >>> <dependency>
> >>>      <groupId>org.gvsig</groupId>
> >>>
> >>> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>     <scope>compile</scope>
> >>>  </dependency>
> >>>
> >>> Bueno, pues solo era matizar algunas cosillas.
> >>>
> >>> Espero que te sirba.
> >>>
> >>> Un saludo
> >>> Joaquin
> >>>
> >>>
> >>>
> >>>
> >>>>
> >>>> El 14/10/15 a las 08:10, Ana Calle escribió:
> >>>>
> >>>> Hola Joaquin,
> >>>> he estado intentando hacer funcionar el código que me pasaste, a mi
> >>>> extensión en java, pero (perdona mi ignorancia) no he sido capaz.
> >>>>
> >>>> Me da error directamente al intentar hacer los import
> correspondientes.
> >>>>
> >>>>
> >>>> Sí que me deja hacer:
> >>>> import org.gvsig.app.project.documents.view.ViewManager;
> >>>>
> >>>> Pero me da error de que no puede resolver:
> >>>> import org.gvsig.app.project.documents.layout.LayoutManager;
> >>>> import org.gvsig.app.project.documents.table.TableManager;
> >>>> Supongo que me falta alguna referencia en el pom.xml o algo así, pero
> >>>> no consigo verlo
> >>>> A ver si me puedes echar una mano...
> >>>> Como siempre muchas gracias por tu tiempo.
> >>>>
> >>>> Saludos
> >>>>
> >>>> El 13 de octubre de 2015, 14:22, Joaquin Jose del Cerro Murciano <
> >>>> <jjdelcerro en gvsig.org>jjdelcerro en gvsig.org> escribió:
> >>>>
> >>>>>
> >>>>>
> >>>>> El 13 de octubre de 2015, 12:26, Ana Calle < <nico200307 en gmail.com>
> >>>>> nico200307 en gmail.com> escribió:
> >>>>>
> >>>>>> Buenos días,
> >>>>>> en el proceso de migración del código de una extensión realizada en
> >>>>>> gvSig 1.10, tenemos implementados una serie de planos con sus
> respectivos
> >>>>>> cajetines.
> >>>>>> De manera automática, el plano se rellenaba según las
> características
> >>>>>> de consulta correspondientes, es decir, en el cajetín se van
> sustituyendo
> >>>>>> los textos genéricos por los específicos de la consulta.
> >>>>>> Teníamos implementado el código en el que obtenía el layout de la
> >>>>>> ventana del plano, y ahí se recorrían los elementos:
> >>>>>>
> >>>>>> --recorriendo los documentos llegábamos a la ventana del plano
> >>>>>> (vEntana):
> >>>>>>
> >>>>>> Layout l =(Layout)vEntana;
> >>>>>> IFFrame[] fframes = l.getFFrames();
> >>>>>> for (int i = 0; i < fframes.length; i++) {
> >>>>>> if (fframes[i] instanceof FFrameView) {
> >>>>>> ......
> >>>>>> }else if (fframes[i] instanceof FFrameText){
> >>>>>> ......
> >>>>>> }
> >>>>>> }
> >>>>>> ¿como podría obtener ese layout y los IFFrame[] con la nueva version
> >>>>>> gvSig 2.2?
> >>>>>>
> >>>>>>
> >>>>> Puedes o recorrer todos los documentos, puedes o no filtrar por tipo,
> >>>>> o recuperar un documento layout en concreto por nombre. Una vez
> tengas el
> >>>>> documento layout, accedes LayoutContext y a el ya le puedes peridr
> >>>>> "getFFrames".
> >>>>>
> >>>>> Dejo pedacito de script (falta la iniciaciacion del acceso al layout
> >>>>> desde scripting pero para usarlo de inspiracion en java es
> suficiente).
> >>>>>
> >>>>> Ojo, que el LayoutDocument, lo que devuelbe el getDocuments, no es la
> >>>>> ventana del plano, si no el documento. No recuerdo cuando se separo,
> por un
> >>>>> lado el interface grafico y por otro la logica del documento.
> >>>>>
> >>>>> Un saludo
> >>>>> Joaquin
> >>>>>
> >>>>>
> >>>>>
> >>>>> from org.gvsig.app import ApplicationLocator
> >>>>> from org.gvsig.app.project.documents.layout import LayoutManager
> >>>>>
> >>>>> def main(*args):
> >>>>>   # Recuperamos el proyecto
> >>>>>   project = ApplicationLocator.getManager().getCurrentProject()
> >>>>>
> >>>>>   # Opcion 1
> >>>>>   # Recorremos los layouts que hay en el proyecto
> >>>>>   layouts = project.getDocuments(LayoutManager.TYPENAME)
> >>>>>   for layout in layouts:
> >>>>>     print layout.__class__.__name__, layout.getName()
> >>>>>     contextLayout = layout.getLayoutContext()
> >>>>>     for elemento in  contextLayout.getAllFFrames():
> >>>>>       print elemento.getName()
> >>>>>
> >>>>>   print "----------------------------"
> >>>>>
> >>>>>   # Opcion 2
> >>>>>   # Recuperamos un layout por nombre
> >>>>>   layout = project.getDocument("Plantilla", LayoutManager.TYPENAME)
> >>>>>   print layout.__class__.__name__, layout.getName()
> >>>>>   contextLayout = layout.getLayoutContext()
> >>>>>   for elemento in  contextLayout.getAllFFrames():
> >>>>>     print elemento.getName()
> >>>>>
> >>>>>   print "----------------------------"
> >>>>>
> >>>>>   # Como obtener la venta del layout
> >>>>>   layoutManager =
> >>>>>
> ApplicationLocator.getProjectManager().getDocumentManager(LayoutManager.TYPENAME)
> >>>>>
> >>>>>   layout = project.getDocument("Plantilla", LayoutManager.TYPENAME)
> >>>>>   layoutPanel = layoutManager.getMainWindow(layout)
> >>>>>   print layoutPanel.__class__.__name__,
> >>>>> layoutPanel.getDocument().getName()
> >>>>>
> >>>>> Esto con el proyecto que tengo cargado saca:
> >>>>>
> >>>>> Running script test_layout2.
> >>>>> DefaultLayoutDocument Plantilla
> >>>>> FFrameGraphics
> >>>>> FFrameGraphics
> >>>>> FFrameGraphics
> >>>>> FFrameGraphics
> >>>>> FFrameText
> >>>>> FFrameText
> >>>>> FFrameText
> >>>>> FFrameView
> >>>>> FFrameScaleBar
> >>>>> FFrameLegend
> >>>>> FFrameText
> >>>>> FFrameOverView
> >>>>> FFrameGraphics
> >>>>> FFrameNorth
> >>>>> FFramePicture
> >>>>> ----------------------------
> >>>>> DefaultLayoutDocument Plantilla
> >>>>> FFrameGraphics
> >>>>> FFrameGraphics
> >>>>> FFrameGraphics
> >>>>> FFrameGraphics
> >>>>> FFrameText
> >>>>> FFrameText
> >>>>> FFrameText
> >>>>> FFrameView
> >>>>> FFrameScaleBar
> >>>>> FFrameLegend
> >>>>> FFrameText
> >>>>> FFrameOverView
> >>>>> FFrameGraphics
> >>>>> FFrameNorth
> >>>>> FFramePicture
> >>>>> ----------------------------
> >>>>> LayoutPanelImpl Plantilla
> >>>>> Script test_layout2 terminated.
> >>>>>
> >>>>>
> >>>>>
> >>>>>> Muchas gracias de antemano,
> >>>>>> un saludo
> >>>>>> Ana
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> 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>
> >>>>>>
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> --------------------------------------
> >>>>> Joaquin Jose del Cerro Murciano
> >>>>> Development and software arquitecture manager at gvSIG Team
> >>>>> jjdelcerro en gvsig.com
> >>>>> jjdelcerro en gvsig.org
> >>>>> gvSIG Association
> >>>>> www.gvsig.com
> >>>>> www.gvsig.org
> >>>>>
> >>>>> _______________________________________________
> >>>>> 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
> listgvSIG_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
> >>>>
> >>>>
> >>>> --
> >>>>
> >>>> Lluís Marqués Castelló / Ingeniero software
> >>>>
> >>>> [image: DISID] <lmarques en disid.com> [image: DISID]
> >>>> <http://twitter.com/llumarca>
> >>>> [image: DISID] <http://www.disid.com>
> >>>>
> >>>> DISID Corporation S.L. Tfno: 34 963 516 309 / Fax: 96 119 81 10
> >>>> C/ San Vicente 84, 5 A 46002 Valencia - España
> >>>> http://www.disid.com
> >>>>
> >>>> [image: Facebook] <http://www.facebook.com/DISIDCorp> [image:
> Twitter]
> >>>> <http://twitter.com/disid_corp> [image: Linkedin]
> >>>> <http://www.linkedin.com/company/disid> [image: Github]
> >>>> <http://github.com/disid/>
> >>>> *Proveedor de soluciones software*
> >>>>
> >>>> Confidencialidad: Esta comunicación contiene información que puede ser
> >>>> confidencial y privilegiada. Es para uso exclusivo del destinatario
> >>>> indicado. Si no es Vd. el destinatario, por favor tome nota de que
> >>>> cualquier distribución, copia o uso de esta comunicación o
> información está
> >>>> estrictamente prohibido. Si ha recibido este mensaje por error, por
> favor
> >>>> avísenos por e-mail a info en disid.com y después destruya el mensaje y
> >>>> cualquier copia de él. Las opiniones expresadas en el mensaje pueden
> ser
> >>>> personales y no necesariamente opiniones de DISID Corporation, S.L.
> >>>>
> >>>> Virus y Seguridad: Aunque hemos tomado las medidas para asegurarnos
> >>>> que este correo electrónico y sus ficheros adjuntos están libres de
> virus,
> >>>> le recomendamos que a efectos de mantener buenas prácticas de
> seguridad, el
> >>>> receptor debe asegurarse que este correo y sus ficheros adjuntos están
> >>>> libres de virus.
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> 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
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> --------------------------------------
> >>> Joaquin Jose del Cerro Murciano
> >>> Development and software arquitecture manager at gvSIG Team
> >>> jjdelcerro en gvsig.com
> >>> jjdelcerro en gvsig.org
> >>> gvSIG Association
> >>> www.gvsig.com
> >>> www.gvsig.org
> >>>
> >>> _______________________________________________
> >>> 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
> >>
> >>
> >
> > _______________________________________________
> > 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?a parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/fb0241b7/attachment-0001.htm
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : bdeciebd.png
> Tipo       : image/png
> Tamaño     : 603 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/fb0241b7/attachment-0007.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : hahcfbda.png
> Tipo       : image/png
> Tamaño     : 737 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/fb0241b7/attachment-0008.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : ecbggaai.png
> Tipo       : image/png
> Tamaño     : 871 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/fb0241b7/attachment-0009.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : jbbagihd.png
> Tipo       : image/png
> Tamaño     : 3310 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/fb0241b7/attachment-0010.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : ajhjhdag.png
> Tipo       : image/png
> Tamaño     : 909 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/fb0241b7/attachment-0011.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : befdbihe.png
> Tipo       : image/png
> Tamaño     : 177 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/fb0241b7/attachment-0012.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : jdadeejc.png
> Tipo       : image/png
> Tamaño     : 243 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/fb0241b7/attachment-0013.png
>
> ------------------------------
>
> Message: 6
> Date: Fri, 23 Oct 2015 11:43:47 +0200
> From: Javier Galán <javiergalans en gmail.com>
> Subject: Re: [Gvsig_desarrolladores] cómo recorrer los elementos de un
>         mapa automaticamente
> To: Lista de Desarrolladores de gvSIG
>         <gvsig_desarrolladores en listserv.gva.es>
> Message-ID:
>         <
> CAPBKqyNYeAjHb7FodL+r_mwWj1Sia9NRuFJxt+f40mqJ28eY8A en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hola Ana:
>
> Ese es exactamente el hilo que esto mirando. Y gracias al cual me he
> animado a probar.
> Y al probar el script de Joaquín, me da el mismo error que a ti.
> Por lo que al ver que faltaban dependencias quería configurarlo, pero no he
> encontrado donde he de escribirlas.
> He buscado  tanto "*.pom" como "pom.xml", "pom.*". Salen muchos, pero
> ninguno en la carpeta de gvSIG (igual estoy buscando donde no toca.
> Perdonadme, pero en esto del scrip soy un poco nuevo y a veces me pierdo un
> poco.
>
> Muchísimas gracias por la ayuda
> Javier
>
> El 23 de octubre de 2015, 11:16, Ana Calle <nico200307 en gmail.com>
> escribió:
>
> > Hola Javier,
> > consulta el hilo
> > cómo recorrer los elementos de un mapa automaticamente
> > de este mismo mes, seguro que te ayuda
> >
> > Saludos
> >
> > El 23 de octubre de 2015, 10:56, Javier Galán <javiergalans en gmail.com>
> > escribió:
> >
> >> Hola
> >>
> >> Quiero intentar algunas automatizaciones con las salidas de los mapas, y
> >> estoy buscando el pom para poder modificarlo, pero no se donde lo
> almacena.
> >> ¿Alguien podría decirme donde lo encuentro?
> >>
> >> Gracias
> >> Javier
> >>
> >>
> >> El 15 de octubre de 2015, 7:52, Ana Calle <nico200307 en gmail.com>
> >> escribió:
> >>
> >>> Muchas gracias Joaquín, claro que me servirá, a mi y a mucha más gente.
> >>> Esos pequeños scripts de código que casi siempre se aportan como
> >>> ejemplos (unido a esas buenas explicaciones a las que nos tienes
> >>> acostumbrados), ayudan mucho para continuar el trabajo.
> >>>
> >>> Saludos
> >>> ana
> >>>
> >>> El 14 de octubre de 2015, 21:20, Joaquin Jose del Cerro Murciano <
> >>> jjdelcerro en gvsig.org> escribió:
> >>>
> >>>>
> >>>>
> >>>> El 14 de octubre de 2015, 9:03, Lluís Marqués <lmarques en disid.com>
> >>>> escribió:
> >>>>
> >>>>> Hola Ana,
> >>>>>
> >>>>> si no me equivoco, efectivamente te faltan las siguientes
> dependencias
> >>>>> en el pom:
> >>>>>
> >>>>> <dependency>
> >>>>>     <groupId>org.gvsig</groupId>
> >>>>>
> >>>>> <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >>>>> </dependency>
> >>>>> <dependency>
> >>>>>      <groupId>org.gvsig</groupId>
> >>>>>
> >>>>>
> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>>>  </dependency>
> >>>>>
> >>>>> Además de añadir esta dos dependencias, tendrás que añadir el
> >>>>> siguiente manejo de dependencia en el pom de tu proyecto padre:
> >>>>>
> >>>>> <dependencyManagement>
> >>>>>     <dependencies>
> >>>>>         <dependency>
> >>>>>              <groupId>org.gvsig</groupId>
> >>>>>
> >>>>>
> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>>>               <version>2.0.57</version>
> >>>>>         </dependency>
> >>>>>     </dependencies>
> >>>>> </dependencyManagement>
> >>>>>
> >>>>> Solo es necesario añadir el manejo de *layout2* porque en el *pom* de
> >>>>> *org.gvsig.desktop* ya tiene indicado el manejo para la dependencia
> >>>>> del documento tabla.
> >>>>>
> >>>>> Por otro lado, como las dependencias que estas añadiendo son a otros
> >>>>> plugins de gvSIG, es necesario indicar en el config.xml  que depende
> de
> >>>>> estos dos plugins por dos motivos: el primero para que en tiempo de
> >>>>> ejecución sepa donde se encuentran las clases y para que gvSIG cargue
> >>>>> primero los plugins de los que dependes antes de tu plugin. Quedaría
> algo
> >>>>> así:
> >>>>>
> >>>>> <plugin-config>
> >>>>>     <depends plugin-name="org.gvsig.app.mainplugin" />
> >>>>>     <depends
> plugin-name="org.gvsig.app.document.table.app.mainplugin"
> >>>>> />
> >>>>>     <depends
> >>>>> plugin-name="org.gvsig.app.document.layout2.app.mainplugin" />
> >>>>>
> >>>>> [...]
> >>>>>
> >>>>> Si alguien ven algo incorrecto que me corriga. Un saludo, Lluís.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>> Hola Ana,
> >>>> un correccion a lo que comenta Luis, y algunas recomendaciones.
> >>>>
> >>>> Primero la correccion.
> >>>>
> >>>> La versiom del layout no creo que sea esa la que te interese, esa es
> >>>> la version del layout del build 2.3.0-2403, y supongo que tu querras
> >>>> la de la 2.2.0 final o la de la 2.1.0 final.
> >>>>
> >>>> - Para gvSIG 2.2.0-2313 es la 2.0.52 del layout.
> >>>> - Para gvSIG 2.1.0-2269 es la 2.0.42 del layout.
> >>>>
> >>>> Como aun no hay version final de la 2.3.0 no te aconsejo que trabajes
> >>>> con versiones del layout superiores a la 2.0.52.
> >>>>
> >>>> Para saber que version tienes que usar del layout, tienes que
> determinar
> >>>> contra que version de gvSIG vas a trabajar y mirar en la instalacion
> de
> >>>> esa version en:
> >>>>
> >>>>
> >>>>
> gvSIG/extensiones/org.gvsig.app.document.layout2.app.mainplugin/org.gvsig.app.document.layout2.app.mainplugin-*.jar
> >>>>
> >>>> La version de ese jar te da la version del layout para ese gvSIG.
> >>>>
> >>>> Y ahora las recomendaciones.
> >>>>
> >>>> Son dos...
> >>>>
> >>>> - Relacionadas con la inclusion de las dependencias
> >>>>   en el dependencyManagement
> >>>> - Relacionadas con el scope de las dependencias.
> >>>>
> >>>> Es correcto usar la definicion de dependencias en el
> >>>> dependencyManagenet que te ha indicado Lluis, pero la recomendacion
> es que
> >>>> para añadir una dependencia al
> >>>> dependencyManagenet le pongas algo como:
> >>>>
> >>>> ...
> >>>>   <properties>
> >>>> ...
> >>>>
> >>>>
> <org.gvsig.app.document.layout2.app.version>2.0.55</org.gvsig.app.document.layout2.app.version>
> >>>> ...
> >>>>   </properties>
> >>>>
> >>>> ...
> >>>>
> >>>>   <dependency>
> >>>>       <groupId>org.gvsig</groupId>
> >>>>       <artifactId>org.gvsig.app.document.layout2.app</artifactId>
> >>>>       <version>${org.gvsig.app.document.layout2.app.version}</version>
> >>>>       <type>pom</type>
> >>>>       <scope>import</scope>
> >>>>   </dependency>
> >>>> ...
> >>>>
> >>>> Que significa eso:
> >>>> - En lugar de incluir una dependencia con un subproyecto del proyecto
> >>>>   org.gvsig.app.document.layout2.app, le diremos que importe las
> >>>>   dependencias que hay declaradas en el proyecto raiz del layout.
> >>>>   Eso lo hacemos con los tags type y scope.
> >>>>   Esto minimiza los errores al especificar la version cuando tenemos
> >>>>   que declarar mas de una dependencia de un mismo proyecto.
> >>>>   Salvo error, todos los proyectos de gvSIG indican en el
> >>>> dependencyManagement
> >>>>   del proyecto raiz las versiones de los artifactos que generan sus
> >>>>   subproyectos y las de las librerias que pueden ser necesarias para
> >>>>   linkar con ellos.
> >>>>   Es aconsojable que en tus proyectos relacionados con gvSIG sigas
> esta
> >>>>   practica para facilitar el uso desde otros proyectos.
> >>>>
> >>>> - Desde gvSIG aconsejamos que para indicar una version de un proyecto
> >>>>   de gvSIG declaremos el numero de version en una propiedad en el pom.
> >>>>   Esto facilita actualizar las versiones a la ultima usando
> >>>>     mvn update-properties
> >>>>
> >>>>
> >>>> En cuanto a la declaracion del scope...
> >>>>
> >>>> En el pom del plugin, que es donde deben ir las dependencias con los
> >>>> otros plugins, es recomendable especificar el scope de esa
> dependencia.
> >>>> Si no se especifica maven asume que es una dependencia de compilacion.
> >>>> Esto parece no tener muchas repercusiones salvo que en algun momento
> >>>> quieras obtener un informe de dependencias de tu proyecto o esteis
> >>>> trabajando mas de un desarrollador en el y de repente necesites saber
> >>>> si el proyecto precisa de una libreria en concreto. Te encontraras que
> >>>> no
> >>>> sabras nunca si es una dependencia de runtime y alguien se olvido
> >>>> de poner el scope, o es de compilacion. Asi que como cuesta
> >>>> muy poquito poner que tipo de depenencia es, aconsejo que cuando se
> >>>> añada al pom se tenga la costumbre de indicarlo.
> >>>>
> >>>> Los scopes mas comunes son:
> >>>>     <scope>compile</scope>
> >>>>     <scope>runtime</scope>
> >>>>
> >>>>
> >>>> Asi la declaracion con las dependencias con el plugin de tablas y
> layout
> >>>> serian:
> >>>>
> >>>> <dependency>
> >>>>     <groupId>org.gvsig</groupId>
> >>>>
>  <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >>>>     <scope>compile</scope>
> >>>> </dependency>
> >>>> <dependency>
> >>>>      <groupId>org.gvsig</groupId>
> >>>>
> >>>> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>>     <scope>compile</scope>
> >>>>  </dependency>
> >>>>
> >>>> Bueno, pues solo era matizar algunas cosillas.
> >>>>
> >>>> Espero que te sirba.
> >>>>
> >>>> Un saludo
> >>>> Joaquin
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>
> >>>>> El 14/10/15 a las 08:10, Ana Calle escribió:
> >>>>>
> >>>>> Hola Joaquin,
> >>>>> he estado intentando hacer funcionar el código que me pasaste, a mi
> >>>>> extensión en java, pero (perdona mi ignorancia) no he sido capaz.
> >>>>>
> >>>>> Me da error directamente al intentar hacer los import
> >>>>> correspondientes.
> >>>>>
> >>>>> Sí que me deja hacer:
> >>>>> import org.gvsig.app.project.documents.view.ViewManager;
> >>>>>
> >>>>> Pero me da error de que no puede resolver:
> >>>>> import org.gvsig.app.project.documents.layout.LayoutManager;
> >>>>> import org.gvsig.app.project.documents.table.TableManager;
> >>>>> Supongo que me falta alguna referencia en el pom.xml o algo así, pero
> >>>>> no consigo verlo
> >>>>> A ver si me puedes echar una mano...
> >>>>> Como siempre muchas gracias por tu tiempo.
> >>>>>
> >>>>> Saludos
> >>>>>
> >>>>> El 13 de octubre de 2015, 14:22, Joaquin Jose del Cerro Murciano <
> >>>>> <jjdelcerro en gvsig.org>jjdelcerro en gvsig.org> escribió:
> >>>>>
> >>>>>>
> >>>>>>
> >>>>>> El 13 de octubre de 2015, 12:26, Ana Calle < <nico200307 en gmail.com>
> >>>>>> nico200307 en gmail.com> escribió:
> >>>>>>
> >>>>>>> Buenos días,
> >>>>>>> en el proceso de migración del código de una extensión realizada en
> >>>>>>> gvSig 1.10, tenemos implementados una serie de planos con sus
> respectivos
> >>>>>>> cajetines.
> >>>>>>> De manera automática, el plano se rellenaba según las
> >>>>>>> características de consulta correspondientes, es decir, en el
> cajetín se
> >>>>>>> van sustituyendo los textos genéricos por los específicos de la
> consulta.
> >>>>>>> Teníamos implementado el código en el que obtenía el layout de la
> >>>>>>> ventana del plano, y ahí se recorrían los elementos:
> >>>>>>>
> >>>>>>> --recorriendo los documentos llegábamos a la ventana del plano
> >>>>>>> (vEntana):
> >>>>>>>
> >>>>>>> Layout l =(Layout)vEntana;
> >>>>>>> IFFrame[] fframes = l.getFFrames();
> >>>>>>> for (int i = 0; i < fframes.length; i++) {
> >>>>>>> if (fframes[i] instanceof FFrameView) {
> >>>>>>> ......
> >>>>>>> }else if (fframes[i] instanceof FFrameText){
> >>>>>>> ......
> >>>>>>> }
> >>>>>>> }
> >>>>>>> ¿como podría obtener ese layout y los IFFrame[] con la nueva
> version
> >>>>>>> gvSig 2.2?
> >>>>>>>
> >>>>>>>
> >>>>>> Puedes o recorrer todos los documentos, puedes o no filtrar por
> tipo,
> >>>>>> o recuperar un documento layout en concreto por nombre. Una vez
> tengas el
> >>>>>> documento layout, accedes LayoutContext y a el ya le puedes peridr
> >>>>>> "getFFrames".
> >>>>>>
> >>>>>> Dejo pedacito de script (falta la iniciaciacion del acceso al layout
> >>>>>> desde scripting pero para usarlo de inspiracion en java es
> suficiente).
> >>>>>>
> >>>>>> Ojo, que el LayoutDocument, lo que devuelbe el getDocuments, no es
> la
> >>>>>> ventana del plano, si no el documento. No recuerdo cuando se
> separo, por un
> >>>>>> lado el interface grafico y por otro la logica del documento.
> >>>>>>
> >>>>>> Un saludo
> >>>>>> Joaquin
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> from org.gvsig.app import ApplicationLocator
> >>>>>> from org.gvsig.app.project.documents.layout import LayoutManager
> >>>>>>
> >>>>>> def main(*args):
> >>>>>>   # Recuperamos el proyecto
> >>>>>>   project = ApplicationLocator.getManager().getCurrentProject()
> >>>>>>
> >>>>>>   # Opcion 1
> >>>>>>   # Recorremos los layouts que hay en el proyecto
> >>>>>>   layouts = project.getDocuments(LayoutManager.TYPENAME)
> >>>>>>   for layout in layouts:
> >>>>>>     print layout.__class__.__name__, layout.getName()
> >>>>>>     contextLayout = layout.getLayoutContext()
> >>>>>>     for elemento in  contextLayout.getAllFFrames():
> >>>>>>       print elemento.getName()
> >>>>>>
> >>>>>>   print "----------------------------"
> >>>>>>
> >>>>>>   # Opcion 2
> >>>>>>   # Recuperamos un layout por nombre
> >>>>>>   layout = project.getDocument("Plantilla", LayoutManager.TYPENAME)
> >>>>>>   print layout.__class__.__name__, layout.getName()
> >>>>>>   contextLayout = layout.getLayoutContext()
> >>>>>>   for elemento in  contextLayout.getAllFFrames():
> >>>>>>     print elemento.getName()
> >>>>>>
> >>>>>>   print "----------------------------"
> >>>>>>
> >>>>>>   # Como obtener la venta del layout
> >>>>>>   layoutManager =
> >>>>>>
> ApplicationLocator.getProjectManager().getDocumentManager(LayoutManager.TYPENAME)
> >>>>>>
> >>>>>>   layout = project.getDocument("Plantilla", LayoutManager.TYPENAME)
> >>>>>>   layoutPanel = layoutManager.getMainWindow(layout)
> >>>>>>   print layoutPanel.__class__.__name__,
> >>>>>> layoutPanel.getDocument().getName()
> >>>>>>
> >>>>>> Esto con el proyecto que tengo cargado saca:
> >>>>>>
> >>>>>> Running script test_layout2.
> >>>>>> DefaultLayoutDocument Plantilla
> >>>>>> FFrameGraphics
> >>>>>> FFrameGraphics
> >>>>>> FFrameGraphics
> >>>>>> FFrameGraphics
> >>>>>> FFrameText
> >>>>>> FFrameText
> >>>>>> FFrameText
> >>>>>> FFrameView
> >>>>>> FFrameScaleBar
> >>>>>> FFrameLegend
> >>>>>> FFrameText
> >>>>>> FFrameOverView
> >>>>>> FFrameGraphics
> >>>>>> FFrameNorth
> >>>>>> FFramePicture
> >>>>>> ----------------------------
> >>>>>> DefaultLayoutDocument Plantilla
> >>>>>> FFrameGraphics
> >>>>>> FFrameGraphics
> >>>>>> FFrameGraphics
> >>>>>> FFrameGraphics
> >>>>>> FFrameText
> >>>>>> FFrameText
> >>>>>> FFrameText
> >>>>>> FFrameView
> >>>>>> FFrameScaleBar
> >>>>>> FFrameLegend
> >>>>>> FFrameText
> >>>>>> FFrameOverView
> >>>>>> FFrameGraphics
> >>>>>> FFrameNorth
> >>>>>> FFramePicture
> >>>>>> ----------------------------
> >>>>>> LayoutPanelImpl Plantilla
> >>>>>> Script test_layout2 terminated.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Muchas gracias de antemano,
> >>>>>>> un saludo
> >>>>>>> Ana
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> 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>
> >>>>>>>
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> --------------------------------------
> >>>>>> Joaquin Jose del Cerro Murciano
> >>>>>> Development and software arquitecture manager at gvSIG Team
> >>>>>> jjdelcerro en gvsig.com
> >>>>>> jjdelcerro en gvsig.org
> >>>>>> gvSIG Association
> >>>>>> www.gvsig.com
> >>>>>> www.gvsig.org
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> 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
> listgvSIG_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
> >>>>>
> >>>>>
> >>>>> --
> >>>>>
> >>>>> Lluís Marqués Castelló / Ingeniero software
> >>>>>
> >>>>> [image: DISID] <lmarques en disid.com> [image: DISID]
> >>>>> <http://twitter.com/llumarca>
> >>>>> [image: DISID] <http://www.disid.com>
> >>>>>
> >>>>> DISID Corporation S.L. Tfno: 34 963 516 309 / Fax: 96 119 81 10
> >>>>> C/ San Vicente 84, 5 A 46002 Valencia - España
> >>>>> http://www.disid.com
> >>>>>
> >>>>> [image: Facebook] <http://www.facebook.com/DISIDCorp> [image:
> Twitter]
> >>>>> <http://twitter.com/disid_corp> [image: Linkedin]
> >>>>> <http://www.linkedin.com/company/disid> [image: Github]
> >>>>> <http://github.com/disid/>
> >>>>> *Proveedor de soluciones software*
> >>>>>
> >>>>> Confidencialidad: Esta comunicación contiene información que puede
> >>>>> ser confidencial y privilegiada. Es para uso exclusivo del
> destinatario
> >>>>> indicado. Si no es Vd. el destinatario, por favor tome nota de que
> >>>>> cualquier distribución, copia o uso de esta comunicación o
> información está
> >>>>> estrictamente prohibido. Si ha recibido este mensaje por error, por
> favor
> >>>>> avísenos por e-mail a info en disid.com y después destruya el mensaje y
> >>>>> cualquier copia de él. Las opiniones expresadas en el mensaje pueden
> ser
> >>>>> personales y no necesariamente opiniones de DISID Corporation, S.L.
> >>>>>
> >>>>> Virus y Seguridad: Aunque hemos tomado las medidas para asegurarnos
> >>>>> que este correo electrónico y sus ficheros adjuntos están libres de
> virus,
> >>>>> le recomendamos que a efectos de mantener buenas prácticas de
> seguridad, el
> >>>>> receptor debe asegurarse que este correo y sus ficheros adjuntos
> están
> >>>>> libres de virus.
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> 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
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> --------------------------------------
> >>>> Joaquin Jose del Cerro Murciano
> >>>> Development and software arquitecture manager at gvSIG Team
> >>>> jjdelcerro en gvsig.com
> >>>> jjdelcerro en gvsig.org
> >>>> gvSIG Association
> >>>> www.gvsig.com
> >>>> www.gvsig.org
> >>>>
> >>>> _______________________________________________
> >>>> 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
> >>>
> >>>
> >>
> >> _______________________________________________
> >> 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
> >
> >
> ------------ pr?a parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/984db656/attachment-0001.htm
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : ecbggaai.png
> Tipo       : image/png
> Tamaño     : 871 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/984db656/attachment-0007.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : befdbihe.png
> Tipo       : image/png
> Tamaño     : 177 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/984db656/attachment-0008.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : jdadeejc.png
> Tipo       : image/png
> Tamaño     : 243 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/984db656/attachment-0009.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : hahcfbda.png
> Tipo       : image/png
> Tamaño     : 737 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/984db656/attachment-0010.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : bdeciebd.png
> Tipo       : image/png
> Tamaño     : 603 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/984db656/attachment-0011.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : ajhjhdag.png
> Tipo       : image/png
> Tamaño     : 909 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/984db656/attachment-0012.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : jbbagihd.png
> Tipo       : image/png
> Tamaño     : 3310 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/984db656/attachment-0013.png
>
> ------------------------------
>
> Message: 7
> Date: Fri, 23 Oct 2015 11:49:34 +0200
> From: Ana Calle <nico200307 en gmail.com>
> Subject: Re: [Gvsig_desarrolladores] cómo recorrer los elementos de un
>         mapa automaticamente
> To: Lista de Desarrolladores de gvSIG
>         <gvsig_desarrolladores en listserv.gva.es>
> Message-ID:
>         <CACeTTzgT-sf5R-aCKrfG+cvr9Wyz6WjuaPE6MLyrg-vBCnQn=
> w en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Vale, Luis Marques respondió algo como esto, el dia 14:
>
> > El 14 de octubre de 2015, 9:03, Lluís Marqués <lmarques en disid.com>
> > escribió:
> >
> >> Hola Ana,
> >>
> >> si no me equivoco, efectivamente te faltan las siguientes dependencias
> en
> >> el pom:
> >>
> >> <dependency>
> >>     <groupId>org.gvsig</groupId>
> >>     <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >> </dependency>
> >> <dependency>
> >>      <groupId>org.gvsig</groupId>
> >>
> >> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>  </dependency>
> >>
> >> Además de añadir esta dos dependencias, tendrás que añadir el
> siguiente
> >> manejo de dependencia en el pom de tu proyecto padre:
> >>
> >> <dependencyManagement>
> >>     <dependencies>
> >>         <dependency>
> >>              <groupId>org.gvsig</groupId>
> >>
> >> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>               <version>2.0.57</version>
> >>         </dependency>
> >>     </dependencies>
> >> </dependencyManagement>
> >>
> >> Solo es necesario añadir el manejo de *layout2* porque en el *pom* de
> >> *org.gvsig.desktop* ya tiene indicado el manejo para la dependencia del
> >> documento tabla.
> >>
> >> Por otro lado, como las dependencias que estas añadiendo son a otros
> >> plugins de gvSIG, es necesario indicar en el config.xml  que depende de
> >> estos dos plugins por dos motivos: el primero para que en tiempo de
> >> ejecución sepa donde se encuentran las clases y para que gvSIG cargue
> >> primero los plugins de los que dependes antes de tu plugin. Quedaría
> algo
> >> así:
> >>
> >> <plugin-config>
> >>     <depends plugin-name="org.gvsig.app.mainplugin" />
> >>     <depends plugin-name="org.gvsig.app.document.table.app.mainplugin"
> />
> >>     <depends plugin-name="org.gvsig.app.document.layout2.app.mainplugin"
> >> />
> >>
>
>
> Y luego Joaquín completó:
>
>
> Hola Ana,
> un correccion a lo que comenta Luis, y algunas recomendaciones.
>
> Primero la correccion.
>
> La versiom del layout no creo que sea esa la que te interese, esa es
> la version del layout del build 2.3.0-2403, y supongo que tu querras
> la de la 2.2.0 final o la de la 2.1.0 final.
>
> - Para gvSIG 2.2.0-2313 es la 2.0.52 del layout.
> - Para gvSIG 2.1.0-2269 es la 2.0.42 del layout.
>
> Como aun no hay version final de la 2.3.0 no te aconsejo que trabajes
> con versiones del layout superiores a la 2.0.52.
>
> Para saber que version tienes que usar del layout, tienes que determinar
> contra que version de gvSIG vas a trabajar y mirar en la instalacion de
> esa version en:
>
>
>
> gvSIG/extensiones/org.gvsig.app.document.layout2.app.mainplugin/org.gvsig.app.document.layout2.app.mainplugin-*.jar
>
> La version de ese jar te da la version del layout para ese gvSIG.
>
> Y ahora las recomendaciones.
>
> Son dos...
>
> - Relacionadas con la inclusion de las dependencias
>   en el dependencyManagement
> - Relacionadas con el scope de las dependencias.
>
> Es correcto usar la definicion de dependencias en el dependencyManagenet
> que te ha indicado Lluis, pero la recomendacion es que para añadir una
> dependencia al
> dependencyManagenet le pongas algo como:
>
> ...
>   <properties>
> ...
>
>
> <org.gvsig.app.document.layout2.app.version>2.0.55</org.gvsig.app.document.layout2.app.version>
> ...
>   </properties>
>
> ...
>
>   <dependency>
>       <groupId>org.gvsig</groupId>
>       <artifactId>org.gvsig.app.document.layout2.app</artifactId>
>       <version>${org.gvsig.app.document.layout2.app.version}</version>
>       <type>pom</type>
>       <scope>import</scope>
>   </dependency>
> ...
>
> Que significa eso:
> - En lugar de incluir una dependencia con un subproyecto del proyecto
>   org.gvsig.app.document.layout2.app, le diremos que importe las
>   dependencias que hay declaradas en el proyecto raiz del layout.
>   Eso lo hacemos con los tags type y scope.
>   Esto minimiza los errores al especificar la version cuando tenemos
>   que declarar mas de una dependencia de un mismo proyecto.
>   Salvo error, todos los proyectos de gvSIG indican en el
> dependencyManagement
>   del proyecto raiz las versiones de los artifactos que generan sus
>   subproyectos y las de las librerias que pueden ser necesarias para
>   linkar con ellos.
>   Es aconsojable que en tus proyectos relacionados con gvSIG sigas esta
>   practica para facilitar el uso desde otros proyectos.
>
> - Desde gvSIG aconsejamos que para indicar una version de un proyecto
>   de gvSIG declaremos el numero de version en una propiedad en el pom.
>   Esto facilita actualizar las versiones a la ultima usando
>     mvn update-properties
>
>
> En cuanto a la declaracion del scope...
>
> En el pom del plugin, que es donde deben ir las dependencias con los
> otros plugins, es recomendable especificar el scope de esa dependencia.
> Si no se especifica maven asume que es una dependencia de compilacion.
> Esto parece no tener muchas repercusiones salvo que en algun momento
> quieras obtener un informe de dependencias de tu proyecto o esteis
> trabajando mas de un desarrollador en el y de repente necesites saber
> si el proyecto precisa de una libreria en concreto. Te encontraras que no
> sabras nunca si es una dependencia de runtime y alguien se olvido
> de poner el scope, o es de compilacion. Asi que como cuesta
> muy poquito poner que tipo de depenencia es, aconsejo que cuando se
> añada al pom se tenga la costumbre de indicarlo.
>
> Los scopes mas comunes son:
>     <scope>compile</scope>
>     <scope>runtime</scope>
>
>
> Asi la declaracion con las dependencias con el plugin de tablas y layout
> serian:
>
> <dependency>
>     <groupId>org.gvsig</groupId>
>     <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
>     <scope>compile</scope>
> </dependency>
> <dependency>
>      <groupId>org.gvsig</groupId>
>      <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
>     <scope>compile</scope>
>  </dependency>
>
> Bueno, pues solo era matizar algunas cosillas.
>
> Espero que te sirba.
>
>
>
>
> El 23 de octubre de 2015, 11:43, Javier Galán <javiergalans en gmail.com>
> escribió:
>
> > Hola Ana:
> >
> > Ese es exactamente el hilo que esto mirando. Y gracias al cual me he
> > animado a probar.
> > Y al probar el script de Joaquín, me da el mismo error que a ti.
> > Por lo que al ver que faltaban dependencias quería configurarlo, pero no
> > he encontrado donde he de escribirlas.
> > He buscado  tanto "*.pom" como "pom.xml", "pom.*". Salen muchos, pero
> > ninguno en la carpeta de gvSIG (igual estoy buscando donde no toca.
> > Perdonadme, pero en esto del scrip soy un poco nuevo y a veces me pierdo
> > un poco.
> >
> > Muchísimas gracias por la ayuda
> > Javier
> >
> > El 23 de octubre de 2015, 11:16, Ana Calle <nico200307 en gmail.com>
> > escribió:
> >
> >> Hola Javier,
> >> consulta el hilo
> >> cómo recorrer los elementos de un mapa automaticamente
> >> de este mismo mes, seguro que te ayuda
> >>
> >> Saludos
> >>
> >> El 23 de octubre de 2015, 10:56, Javier Galán <javiergalans en gmail.com>
> >> escribió:
> >>
> >>> Hola
> >>>
> >>> Quiero intentar algunas automatizaciones con las salidas de los mapas,
> y
> >>> estoy buscando el pom para poder modificarlo, pero no se donde lo
> almacena.
> >>> ¿Alguien podría decirme donde lo encuentro?
> >>>
> >>> Gracias
> >>> Javier
> >>>
> >>>
> >>> El 15 de octubre de 2015, 7:52, Ana Calle <nico200307 en gmail.com>
> >>> escribió:
> >>>
> >>>> Muchas gracias Joaquín, claro que me servirá, a mi y a mucha más
> gente.
> >>>> Esos pequeños scripts de código que casi siempre se aportan como
> >>>> ejemplos (unido a esas buenas explicaciones a las que nos tienes
> >>>> acostumbrados), ayudan mucho para continuar el trabajo.
> >>>>
> >>>> Saludos
> >>>> ana
> >>>>
> >>>> El 14 de octubre de 2015, 21:20, Joaquin Jose del Cerro Murciano <
> >>>> jjdelcerro en gvsig.org> escribió:
> >>>>
> >>>>>
> >>>>>
> >>>>> El 14 de octubre de 2015, 9:03, Lluís Marqués <lmarques en disid.com>
> >>>>> escribió:
> >>>>>
> >>>>>> Hola Ana,
> >>>>>>
> >>>>>> si no me equivoco, efectivamente te faltan las siguientes
> >>>>>> dependencias en el pom:
> >>>>>>
> >>>>>> <dependency>
> >>>>>>     <groupId>org.gvsig</groupId>
> >>>>>>
> >>>>>> <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >>>>>> </dependency>
> >>>>>> <dependency>
> >>>>>>      <groupId>org.gvsig</groupId>
> >>>>>>
> >>>>>>
> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>>>>  </dependency>
> >>>>>>
> >>>>>> Además de añadir esta dos dependencias, tendrás que añadir el
> >>>>>> siguiente manejo de dependencia en el pom de tu proyecto padre:
> >>>>>>
> >>>>>> <dependencyManagement>
> >>>>>>     <dependencies>
> >>>>>>         <dependency>
> >>>>>>              <groupId>org.gvsig</groupId>
> >>>>>>
> >>>>>>
> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>>>>               <version>2.0.57</version>
> >>>>>>         </dependency>
> >>>>>>     </dependencies>
> >>>>>> </dependencyManagement>
> >>>>>>
> >>>>>> Solo es necesario añadir el manejo de *layout2* porque en el *pom*
> >>>>>> de *org.gvsig.desktop* ya tiene indicado el manejo para la
> >>>>>> dependencia del documento tabla.
> >>>>>>
> >>>>>> Por otro lado, como las dependencias que estas añadiendo son a otros
> >>>>>> plugins de gvSIG, es necesario indicar en el config.xml  que
> depende de
> >>>>>> estos dos plugins por dos motivos: el primero para que en tiempo de
> >>>>>> ejecución sepa donde se encuentran las clases y para que gvSIG
> cargue
> >>>>>> primero los plugins de los que dependes antes de tu plugin.
> Quedaría algo
> >>>>>> así:
> >>>>>>
> >>>>>> <plugin-config>
> >>>>>>     <depends plugin-name="org.gvsig.app.mainplugin" />
> >>>>>>     <depends
> >>>>>> plugin-name="org.gvsig.app.document.table.app.mainplugin" />
> >>>>>>     <depends
> >>>>>> plugin-name="org.gvsig.app.document.layout2.app.mainplugin" />
> >>>>>>
> >>>>>> [...]
> >>>>>>
> >>>>>> Si alguien ven algo incorrecto que me corriga. Un saludo, Lluís.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> Hola Ana,
> >>>>> un correccion a lo que comenta Luis, y algunas recomendaciones.
> >>>>>
> >>>>> Primero la correccion.
> >>>>>
> >>>>> La versiom del layout no creo que sea esa la que te interese, esa es
> >>>>> la version del layout del build 2.3.0-2403, y supongo que tu querras
> >>>>> la de la 2.2.0 final o la de la 2.1.0 final.
> >>>>>
> >>>>> - Para gvSIG 2.2.0-2313 es la 2.0.52 del layout.
> >>>>> - Para gvSIG 2.1.0-2269 es la 2.0.42 del layout.
> >>>>>
> >>>>> Como aun no hay version final de la 2.3.0 no te aconsejo que trabajes
> >>>>> con versiones del layout superiores a la 2.0.52.
> >>>>>
> >>>>> Para saber que version tienes que usar del layout, tienes que
> >>>>> determinar
> >>>>> contra que version de gvSIG vas a trabajar y mirar en la instalacion
> de
> >>>>> esa version en:
> >>>>>
> >>>>>
> >>>>>
> gvSIG/extensiones/org.gvsig.app.document.layout2.app.mainplugin/org.gvsig.app.document.layout2.app.mainplugin-*.jar
> >>>>>
> >>>>> La version de ese jar te da la version del layout para ese gvSIG.
> >>>>>
> >>>>> Y ahora las recomendaciones.
> >>>>>
> >>>>> Son dos...
> >>>>>
> >>>>> - Relacionadas con la inclusion de las dependencias
> >>>>>   en el dependencyManagement
> >>>>> - Relacionadas con el scope de las dependencias.
> >>>>>
> >>>>> Es correcto usar la definicion de dependencias en el
> >>>>> dependencyManagenet que te ha indicado Lluis, pero la recomendacion
> es que
> >>>>> para añadir una dependencia al
> >>>>> dependencyManagenet le pongas algo como:
> >>>>>
> >>>>> ...
> >>>>>   <properties>
> >>>>> ...
> >>>>>
> >>>>>
> <org.gvsig.app.document.layout2.app.version>2.0.55</org.gvsig.app.document.layout2.app.version>
> >>>>> ...
> >>>>>   </properties>
> >>>>>
> >>>>> ...
> >>>>>
> >>>>>   <dependency>
> >>>>>       <groupId>org.gvsig</groupId>
> >>>>>       <artifactId>org.gvsig.app.document.layout2.app</artifactId>
> >>>>>
>  <version>${org.gvsig.app.document.layout2.app.version}</version>
> >>>>>       <type>pom</type>
> >>>>>       <scope>import</scope>
> >>>>>   </dependency>
> >>>>> ...
> >>>>>
> >>>>> Que significa eso:
> >>>>> - En lugar de incluir una dependencia con un subproyecto del proyecto
> >>>>>   org.gvsig.app.document.layout2.app, le diremos que importe las
> >>>>>   dependencias que hay declaradas en el proyecto raiz del layout.
> >>>>>   Eso lo hacemos con los tags type y scope.
> >>>>>   Esto minimiza los errores al especificar la version cuando tenemos
> >>>>>   que declarar mas de una dependencia de un mismo proyecto.
> >>>>>   Salvo error, todos los proyectos de gvSIG indican en el
> >>>>> dependencyManagement
> >>>>>   del proyecto raiz las versiones de los artifactos que generan sus
> >>>>>   subproyectos y las de las librerias que pueden ser necesarias para
> >>>>>   linkar con ellos.
> >>>>>   Es aconsojable que en tus proyectos relacionados con gvSIG sigas
> >>>>> esta
> >>>>>   practica para facilitar el uso desde otros proyectos.
> >>>>>
> >>>>> - Desde gvSIG aconsejamos que para indicar una version de un proyecto
> >>>>>   de gvSIG declaremos el numero de version en una propiedad en el
> pom.
> >>>>>   Esto facilita actualizar las versiones a la ultima usando
> >>>>>     mvn update-properties
> >>>>>
> >>>>>
> >>>>> En cuanto a la declaracion del scope...
> >>>>>
> >>>>> En el pom del plugin, que es donde deben ir las dependencias con los
> >>>>> otros plugins, es recomendable especificar el scope de esa
> dependencia.
> >>>>> Si no se especifica maven asume que es una dependencia de
> compilacion.
> >>>>> Esto parece no tener muchas repercusiones salvo que en algun momento
> >>>>> quieras obtener un informe de dependencias de tu proyecto o esteis
> >>>>> trabajando mas de un desarrollador en el y de repente necesites saber
> >>>>> si el proyecto precisa de una libreria en concreto. Te encontraras
> que
> >>>>> no
> >>>>> sabras nunca si es una dependencia de runtime y alguien se olvido
> >>>>> de poner el scope, o es de compilacion. Asi que como cuesta
> >>>>> muy poquito poner que tipo de depenencia es, aconsejo que cuando se
> >>>>> añada al pom se tenga la costumbre de indicarlo.
> >>>>>
> >>>>> Los scopes mas comunes son:
> >>>>>     <scope>compile</scope>
> >>>>>     <scope>runtime</scope>
> >>>>>
> >>>>>
> >>>>> Asi la declaracion con las dependencias con el plugin de tablas y
> >>>>> layout
> >>>>> serian:
> >>>>>
> >>>>> <dependency>
> >>>>>     <groupId>org.gvsig</groupId>
> >>>>>
> >>>>> <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
> >>>>>     <scope>compile</scope>
> >>>>> </dependency>
> >>>>> <dependency>
> >>>>>      <groupId>org.gvsig</groupId>
> >>>>>
> >>>>>
> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId>
> >>>>>     <scope>compile</scope>
> >>>>>  </dependency>
> >>>>>
> >>>>> Bueno, pues solo era matizar algunas cosillas.
> >>>>>
> >>>>> Espero que te sirba.
> >>>>>
> >>>>> Un saludo
> >>>>> Joaquin
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>
> >>>>>> El 14/10/15 a las 08:10, Ana Calle escribió:
> >>>>>>
> >>>>>> Hola Joaquin,
> >>>>>> he estado intentando hacer funcionar el código que me pasaste, a mi
> >>>>>> extensión en java, pero (perdona mi ignorancia) no he sido capaz.
> >>>>>>
> >>>>>> Me da error directamente al intentar hacer los import
> >>>>>> correspondientes.
> >>>>>>
> >>>>>> Sí que me deja hacer:
> >>>>>> import org.gvsig.app.project.documents.view.ViewManager;
> >>>>>>
> >>>>>> Pero me da error de que no puede resolver:
> >>>>>> import org.gvsig.app.project.documents.layout.LayoutManager;
> >>>>>> import org.gvsig.app.project.documents.table.TableManager;
> >>>>>> Supongo que me falta alguna referencia en el pom.xml o algo así,
> pero
> >>>>>> no consigo verlo
> >>>>>> A ver si me puedes echar una mano...
> >>>>>> Como siempre muchas gracias por tu tiempo.
> >>>>>>
> >>>>>> Saludos
> >>>>>>
> >>>>>> El 13 de octubre de 2015, 14:22, Joaquin Jose del Cerro Murciano <
> >>>>>> <jjdelcerro en gvsig.org>jjdelcerro en gvsig.org> escribió:
> >>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> El 13 de octubre de 2015, 12:26, Ana Calle < <nico200307 en gmail.com
> >
> >>>>>>> nico200307 en gmail.com> escribió:
> >>>>>>>
> >>>>>>>> Buenos días,
> >>>>>>>> en el proceso de migración del código de una extensión realizada
> en
> >>>>>>>> gvSig 1.10, tenemos implementados una serie de planos con sus
> respectivos
> >>>>>>>> cajetines.
> >>>>>>>> De manera automática, el plano se rellenaba según las
> >>>>>>>> características de consulta correspondientes, es decir, en el
> cajetín se
> >>>>>>>> van sustituyendo los textos genéricos por los específicos de la
> consulta.
> >>>>>>>> Teníamos implementado el código en el que obtenía el layout de la
> >>>>>>>> ventana del plano, y ahí se recorrían los elementos:
> >>>>>>>>
> >>>>>>>> --recorriendo los documentos llegábamos a la ventana del plano
> >>>>>>>> (vEntana):
> >>>>>>>>
> >>>>>>>> Layout l =(Layout)vEntana;
> >>>>>>>> IFFrame[] fframes = l.getFFrames();
> >>>>>>>> for (int i = 0; i < fframes.length; i++) {
> >>>>>>>> if (fframes[i] instanceof FFrameView) {
> >>>>>>>> ......
> >>>>>>>> }else if (fframes[i] instanceof FFrameText){
> >>>>>>>> ......
> >>>>>>>> }
> >>>>>>>> }
> >>>>>>>> ¿como podría obtener ese layout y los IFFrame[] con la nueva
> >>>>>>>> version gvSig 2.2?
> >>>>>>>>
> >>>>>>>>
> >>>>>>> Puedes o recorrer todos los documentos, puedes o no filtrar por
> >>>>>>> tipo, o recuperar un documento layout en concreto por nombre. Una
> vez
> >>>>>>> tengas el documento layout, accedes LayoutContext y a el ya le
> puedes
> >>>>>>> peridr "getFFrames".
> >>>>>>>
> >>>>>>> Dejo pedacito de script (falta la iniciaciacion del acceso al
> layout
> >>>>>>> desde scripting pero para usarlo de inspiracion en java es
> suficiente).
> >>>>>>>
> >>>>>>> Ojo, que el LayoutDocument, lo que devuelbe el getDocuments, no es
> >>>>>>> la ventana del plano, si no el documento. No recuerdo cuando se
> separo, por
> >>>>>>> un lado el interface grafico y por otro la logica del documento.
> >>>>>>>
> >>>>>>> Un saludo
> >>>>>>> Joaquin
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> from org.gvsig.app import ApplicationLocator
> >>>>>>> from org.gvsig.app.project.documents.layout import LayoutManager
> >>>>>>>
> >>>>>>> def main(*args):
> >>>>>>>   # Recuperamos el proyecto
> >>>>>>>   project = ApplicationLocator.getManager().getCurrentProject()
> >>>>>>>
> >>>>>>>   # Opcion 1
> >>>>>>>   # Recorremos los layouts que hay en el proyecto
> >>>>>>>   layouts = project.getDocuments(LayoutManager.TYPENAME)
> >>>>>>>   for layout in layouts:
> >>>>>>>     print layout.__class__.__name__, layout.getName()
> >>>>>>>     contextLayout = layout.getLayoutContext()
> >>>>>>>     for elemento in  contextLayout.getAllFFrames():
> >>>>>>>       print elemento.getName()
> >>>>>>>
> >>>>>>>   print "----------------------------"
> >>>>>>>
> >>>>>>>   # Opcion 2
> >>>>>>>   # Recuperamos un layout por nombre
> >>>>>>>   layout = project.getDocument("Plantilla", LayoutManager.TYPENAME)
> >>>>>>>   print layout.__class__.__name__, layout.getName()
> >>>>>>>   contextLayout = layout.getLayoutContext()
> >>>>>>>   for elemento in  contextLayout.getAllFFrames():
> >>>>>>>     print elemento.getName()
> >>>>>>>
> >>>>>>>   print "----------------------------"
> >>>>>>>
> >>>>>>>   # Como obtener la venta del layout
> >>>>>>>   layoutManager =
> >>>>>>>
> ApplicationLocator.getProjectManager().getDocumentManager(LayoutManager.TYPENAME)
> >>>>>>>
> >>>>>>>   layout = project.getDocument("Plantilla", LayoutManager.TYPENAME)
> >>>>>>>   layoutPanel = layoutManager.getMainWindow(layout)
> >>>>>>>   print layoutPanel.__class__.__name__,
> >>>>>>> layoutPanel.getDocument().getName()
> >>>>>>>
> >>>>>>> Esto con el proyecto que tengo cargado saca:
> >>>>>>>
> >>>>>>> Running script test_layout2.
> >>>>>>> DefaultLayoutDocument Plantilla
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameText
> >>>>>>> FFrameText
> >>>>>>> FFrameText
> >>>>>>> FFrameView
> >>>>>>> FFrameScaleBar
> >>>>>>> FFrameLegend
> >>>>>>> FFrameText
> >>>>>>> FFrameOverView
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameNorth
> >>>>>>> FFramePicture
> >>>>>>> ----------------------------
> >>>>>>> DefaultLayoutDocument Plantilla
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameText
> >>>>>>> FFrameText
> >>>>>>> FFrameText
> >>>>>>> FFrameView
> >>>>>>> FFrameScaleBar
> >>>>>>> FFrameLegend
> >>>>>>> FFrameText
> >>>>>>> FFrameOverView
> >>>>>>> FFrameGraphics
> >>>>>>> FFrameNorth
> >>>>>>> FFramePicture
> >>>>>>> ----------------------------
> >>>>>>> LayoutPanelImpl Plantilla
> >>>>>>> Script test_layout2 terminated.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> Muchas gracias de antemano,
> >>>>>>>> un saludo
> >>>>>>>> Ana
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> _______________________________________________
> >>>>>>>> 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>
> >>>>>>>>
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> --------------------------------------
> >>>>>>> Joaquin Jose del Cerro Murciano
> >>>>>>> Development and software arquitecture manager at gvSIG Team
> >>>>>>> jjdelcerro en gvsig.com
> >>>>>>> jjdelcerro en gvsig.org
> >>>>>>> gvSIG Association
> >>>>>>> www.gvsig.com
> >>>>>>> www.gvsig.org
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> 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
> listgvSIG_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
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>>
> >>>>>> Lluís Marqués Castelló / Ingeniero software
> >>>>>>
> >>>>>> [image: DISID] <lmarques en disid.com> [image: DISID]
> >>>>>> <http://twitter.com/llumarca>
> >>>>>> [image: DISID] <http://www.disid.com>
> >>>>>>
> >>>>>> DISID Corporation S.L. Tfno: 34 963 516 309 / Fax: 96 119 81 10
> >>>>>> C/ San Vicente 84, 5 A 46002 Valencia - España
> >>>>>> http://www.disid.com
> >>>>>>
> >>>>>> [image: Facebook] <http://www.facebook.com/DISIDCorp> [image:
> >>>>>> Twitter] <http://twitter.com/disid_corp> [image: Linkedin]
> >>>>>> <http://www.linkedin.com/company/disid> [image: Github]
> >>>>>> <http://github.com/disid/>
> >>>>>> *Proveedor de soluciones software*
> >>>>>>
> >>>>>> Confidencialidad: Esta comunicación contiene información que puede
> >>>>>> ser confidencial y privilegiada. Es para uso exclusivo del
> destinatario
> >>>>>> indicado. Si no es Vd. el destinatario, por favor tome nota de que
> >>>>>> cualquier distribución, copia o uso de esta comunicación o
> información está
> >>>>>> estrictamente prohibido. Si ha recibido este mensaje por error, por
> favor
> >>>>>> avísenos por e-mail a info en disid.com y después destruya el mensaje
> y
> >>>>>> cualquier copia de él. Las opiniones expresadas en el mensaje
> pueden ser
> >>>>>> personales y no necesariamente opiniones de DISID Corporation, S.L.
> >>>>>>
> >>>>>> Virus y Seguridad: Aunque hemos tomado las medidas para asegurarnos
> >>>>>> que este correo electrónico y sus ficheros adjuntos están libres de
> virus,
> >>>>>> le recomendamos que a efectos de mantener buenas prácticas de
> seguridad, el
> >>>>>> receptor debe asegurarse que este correo y sus ficheros adjuntos
> están
> >>>>>> libres de virus.
> >>>>>>
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> 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
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> --------------------------------------
> >>>>> Joaquin Jose del Cerro Murciano
> >>>>> Development and software arquitecture manager at gvSIG Team
> >>>>> jjdelcerro en gvsig.com
> >>>>> jjdelcerro en gvsig.org
> >>>>> gvSIG Association
> >>>>> www.gvsig.com
> >>>>> www.gvsig.org
> >>>>>
> >>>>> _______________________________________________
> >>>>> 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
> >>>>
> >>>>
> >>>
> >>> _______________________________________________
> >>> 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
> >>
> >>
> >
> > _______________________________________________
> > 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?a parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/d389afe1/attachment-0001.htm
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : jbbagihd.png
> Tipo       : image/png
> Tamaño     : 3310 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/d389afe1/attachment-0007.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : ajhjhdag.png
> Tipo       : image/png
> Tamaño     : 909 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/d389afe1/attachment-0008.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : hahcfbda.png
> Tipo       : image/png
> Tamaño     : 737 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/d389afe1/attachment-0009.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : bdeciebd.png
> Tipo       : image/png
> Tamaño     : 603 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/d389afe1/attachment-0010.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : jdadeejc.png
> Tipo       : image/png
> Tamaño     : 243 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/d389afe1/attachment-0011.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : befdbihe.png
> Tipo       : image/png
> Tamaño     : 177 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/d389afe1/attachment-0012.png
> ------------ pr?a parte ------------
> Se ha borrado un mensaje que no está en formato texto plano...
> Nombre     : ecbggaai.png
> Tipo       : image/png
> Tamaño     : 871 bytes
> Descripción: no disponible
> Url        :
> http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/d389afe1/attachment-0013.png
>
> ------------------------------
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>
> Fin de Resumen de gvSIG_desarrolladores, Vol 130, Envío 9
> *********************************************************
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151023/5e3096cc/attachment.htm 


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