[Gvsig_desarrolladores] fichas automatizadas

Elder Robert Zavaleta Veneros erobert_zv en hotmail.com
Jue Sep 17 20:58:57 CEST 2009


hola Fran:

Agradecerte por la ayuda prestada

 

atte.

Robert Zavaleta


 
> Date: Wed, 16 Sep 2009 09:50:55 +0200
> From: fpenarru en gmail.com
> To: gvsig_desarrolladores en listserv.gva.es
> Subject: Re: [Gvsig_desarrolladores] fichas automatizadas
> 
> Hola Elder.
> 
> Hay que habilitar una extensión que lleva gvSIG desactivada por defecto 
> (Ventana | Preferencias | General -> Extensiones -> 
> com.iver.cit.gvsig.TagExtension) y reiniciar. En la toolbar Mapa 
> aparecen 2 iconos azules (solo cuando hay algo seleccionado en un 
> layout). El del símbolo + añade un tag a cualquier elemento del mapa. 
> Esto sirve para marcar los campos que queremos rellenar. Al abrir el 
> layout, se recorren todos los elementos comprobando su tag. Si lo 
> encuentra, sustituye la cadena con lo que toca, o situa el extent del 
> FFrameView en el sitio correcto, etc.
> 
> Solo un apunte al código que te han pasado. Si tienes muchos tags, es 
> preferible no usar esa función getFFrameByTag (salvo por motivos de 
> claridad en el código,eso sí), porque entonces recorres todos los 
> FFrames cada vez que buscas un tag. Yo prefiero dar una sola pasada por 
> todos los FFrames y dentro del bucle comprobar si el FFrame tiene tag, y 
> caso de que lo tenga, asignar el valor correspondiente. Es decir, un 
> bucle con unos cuantos IF dentro. Si tienes pocos tags, da igual, no se 
> pierde casi tiempo.
> 
> Ejemplo:
> 
> LayoutContext lc = newLayout.getLayoutContext();
> IFFrame[] frames = lc.getFFrames();
> for (int i=0; i < frames.length; i++) {
> if (frames[i].getTag() != null) {
> if (frames[i].getTag().equalsIgnoreCase("FECHA")) {
> FFrameText txtFecha = (FFrameText) frames[i];
> txtFecha.clearText();
> 
> SimpleDateFormat df = new 
> SimpleDateFormat("dd/MM/yyyy");
> txtFecha.addText(df.format(new Date()));
> }
> if (frames[i].getTag().equalsIgnoreCase("ESCALA")) {
> FFrameText txtEscala = (FFrameText) frames[i];
> txtEscala.clearText(); 
> txtEscala.addText("1/" + scale);
> }
> if (frames[i].getTag().equalsIgnoreCase("TITULO")) {
> FFrameText txtTitulo = (FFrameText) frames[i];
> txtTitulo.clearText(); 
> txtTitulo.addText(title);
> }
> ... etc
> 
> Saludos
> Fran Peñarrubia
> www.scolab.es
> 
> 
> Elder Robert Zavaleta Veneros escribió:
> >
> > Hola Cesar muy agradecido por tu respuesta, pero tengo una unica duda
> > cuando creo mi plantilla(.gvt) he inserto textos,vista no se como 
> > configurarlos para que la
> > getFFrameByTag("provinciatag",layout, frames) reconozca el primer 
> > parametro "provinciatag"
> > 
> > mas claro que es "provinciatag", supongo que debe ser una texto al 
> > cual le asigno
> > un valor por codigo, como puedo hacer para configurar ese parametro en 
> > mi plantilla(.gvt) y para que despues lo
> > llame desde codigo
> > 
> > por ejemplo:
> > 
> >
> > IFFrame texto=getFFrameByTag("provinciatag",layout, frames);
> >
> > ((FFrameText)texto).clearText();
> >
> > ((FFrameText)texto).addText("PROVINCIA :"+fg.getProvincia());
> >
> > 
> >
> > en ese codigo asignas el valor de que te da fg.getProvincia()); ha 
> > provinciatag
> >
> > como lo configuro en mi plantilla.
> >
> > 
> > Atte.
> > Robert Zavaleta
> 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
 		 	   		  
_________________________________________________________________
Windows Live™: Keep your life in sync. Check it out!
http://windowslive.com/explore?ocid=TXT_TAGLM_WL_t1_allup_explore_012009
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20090917/881bb036/attachment.htm 


More information about the gvSIG_desarrolladores mailing list