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

Pablo Piqueras Bartolomé pablo.piqueras en iver.es
Lun Mar 17 17:01:04 CET 2008


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/20080317/2ae3ae7d/attachment.htm


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