RE: [Gvsig_desarrolladores] Ampliación del control <combo-scale> de GvSig

Jorge Bellido Diez jbellido en ikt.es
Mar Mar 18 10:12:52 CET 2008


con lo que me comentas, Pablo, tengo bien acotada la línea de trabajo, Muchas gracias y un saludo,
Jorge.
 

________________________________

De: gvsig_desarrolladores-bounces en runas.cap.gva.es [mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Pablo Piqueras Bartolomé
Enviado el: lunes, 17 de marzo de 2008 17:01
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores] Ampliación del control <combo-scale> de GvSig


Jorge Bellido Diez escribió: 

	Hola Pablo, mil gracias por la información, lo probaré aunque la verdad es que no quisiera salirme del ambito de mi extensión.
	De todos modos he visto que tambien existe un elemento combo-button (que no se utiliza de momento, o yo no lo he visto por lo menos) 
	¿alguien lo ha empleado o sabe como se configura? 
	 

________________________________

	De: gvsig_desarrolladores-bounces en runas.cap.gva.es [mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Pablo Piqueras Bartolomé
	Enviado el: lunes, 17 de marzo de 2008 10:19
	Para: Lista de Desarrolladores de gvSIG
	Asunto: Re: [Gvsig_desarrolladores] Ampliación del control <combo-scale> de GvSig
	
	
	Jorge Bellido Diez escribió: 

		Hola, 
		Estoy pensando en una herramienta similar al selector de escala que se presenta en el "Status bar" de gvSig
		Lo consigo aplicando la configuración <combo-scale> en el config.xml de mi extensión. El problema que tengo es que está pensado para números y no para textos. ¿Existe algo implementado que pueda utilizar? Alguien me podría orientar al respecto?
		
		Gracias de antemano y un Saludo.
		 
		Jorge Bellido
		 
		
		_______________________________________________
		gvSIG_desarrolladores mailing list
		gvSIG_desarrolladores en runas.cap.gva.es
		http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
		
		
		  

	Hola Jorge,
	
	me temo que actualmente el combo que deseas utilizar está adaptado para trabajar solo con números de tipo "long".
	
	Hasta que no salga una nueva versión que supla tu necesidad, te propongo una posible solución, que puede ser algo costosa: deberías de modificar dicho combo y la parte del framework que lo utiliza para que soportase ítems de tipo String en vez de long:
	
	Por ejemplo: líneas 881 - 915  de Launcher.java en el proyecto _fwAndami podrían quedar así: 
	
	//ArrayList componentList = new ArrayList();
	            ComboScale[] comboScaleArray = ext.getComboScale();
	            for (int k=0; k < comboScaleArray.length; k++) {
	                org.gvsig.gui.beans.controls.comboscale.ComboScale combo = new org.gvsig.gui.beans.controls.comboscale.ComboScale();
	                String label = comboScaleArray[k].getLabel();
	                if (label!=null)
	                    combo.setLabel(label);
	                String name = comboScaleArray[k].getName();
	                if (name!=null)
	                    combo.setName(name);
	                String[] elementsString = ((String)comboScaleArray[k].getElements()).split(";");
	
	                combo.setItems(elementsString);
	                combo.setScale((String)comboScaleArray[k].getValue());
	
	                try {
	                    frame.addStatusBarControl(loader.loadClass(ext.getClassName()),combo);
	                } catch (ClassNotFoundException e1) {
	                    logger.error(Messages.getString("Launcher.error_getting_class_loader_for_status_bar_control"), e1);
	                }
	            }
	
	
	Mientras que  org.gvsig.gui.beans.controls.comboscale.ComboScale en el proyecto libUI habría de adaptarse para que sus ítems fuesen String. 
	
	Si en un momento dado se desea saber si un String es número: s.matches("[0-9]+([.][0-9]+)?")) (siendo s de tipo String)
	
	
	Espero que te haya servido de ayuda u orientación. El código no lo he probado :-) , y estoy suponiendo que estás con la distribución 1.0.X .
	
	Ahora se delegaría la comprobación que los ítems sean de tipo long al código que los obtiene del del combo.
	
	
	Saludos.
	
	
	-- 
	Pablo Piqueras Bartolomé
	
	Equipo de gvSIG
	IVER T.I. S.A.
	C/. Lérida, 20
	46005 - Valencia (Spain)
	www.iver.es
	www.gvsig.com

	Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.
	
	
________________________________


	_______________________________________________
	gvSIG_desarrolladores mailing list
	gvSIG_desarrolladores en runas.cap.gva.es
	http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
	  

Hola,

existen distintas alternativas:

- ComboButton (de libUI) no se utiliza para datos de texto, sino para una lista de botones con iconos de acción.

- JComboBoxItemsSeekerConfigurable (de libUI), no te recomiendo que la utilices porque la versión existente en gvSIG 1.0.X estaba en fase de desarrollo.

- JComboServer (de libIverUtiles), está adaptado para trabajar con URL de servidores. Así que tampoco te la recomiendo.

- Es posible que existan otras implementaciones similares.

En ninguno de estos casos, el componente de tipo combo está integrado como un servicio del framework (_fwAndami), de modo que la integración sería aún más costosa que como te expliqué.

Por tanto, creo que la solución más simple sería la que te comenté esta mañana.

Por cierto, corrijo la validación de tipo número que te comenté: s.matches("[0-9]+([.][0-9]+)?")) (siendo s de tipo String) por s.matches("([+]|[-])?[0-9]+([.][0-9]+)?")) (siendo s de tipo String)

------------

Tomaremos en cuenta tu propuesta para futuras mejoras de gvSIG.

Muchas gracias.

Saludos.

-- 
Pablo Piqueras Bartolomé

Equipo de gvSIG
IVER T.I. S.A.
C/. Lérida, 20
46005 - Valencia (Spain)
www.iver.es
www.gvsig.com

Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20080318/6c41eca0/attachment-0001.htm


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