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

Jorge Bellido Diez jbellido en ikt.es
Lun Mar 17 16:31:57 CET 2008


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.

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


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