[Gvsig_desarrolladores] doking skin

Jordi Torres jtorresfabra en gmail.com
Mie Jul 6 11:35:32 CEST 2011


Hola Francisco,

Ahora mismo no tengo mucho tiempo para investigar este asunto, pero si
mandas un parche lo probamos, y en caso de que vaya todo bien por supuesto
que se puede integrar. Aunque no esté en la lista de proyectos asignados a
mantenedores, supongo que soy el mantenedor de ese módulo también. La semana
que viene estaré más libre para dedicarle un poco de tiempo a esto.

Un saludo.

El 6 de julio de 2011 11:18, Francisco Puga <fpuga en cartolab.es> escribió:

> Hola,
>
> Estoy comprobando la compatibilidad del docking skin [1] desarrollado
> por la gente de gvsig-3d con algunas extensiones y me he encontrado un
> problema.
>
> Para crear el efecto de que un botón está pulsado usamos un código
> similar a este en algunas extensiones como la que lanza
> automáticamente navtable al terminar de digitalizar [2]
>
> if (!pushed) {
>
>  ((MDIFrame)PluginServices.getMainFrame()).setSelectedTool("auto-navtable",
> "empty");
> } else {
>
>  ((MDIFrame)PluginServices.getMainFrame()).setSelectedTool("auto-navtable",
> "auto-navtable");
> }
>
> Ese código lo tenemos en el postInitialize para la configuración
> inicial y con el skin normal de gvSIG funciona correctamente, pero
> cuando usamos el DockingSkin se lanza un NullPointerException en el
> setSelectedTool porque el campo selectedTool todavía no está
> inicializado.
>
> Me ha dado la impresión de que este campo se inicializa en
> NewSkin.FrameListener.internalFrameActivated.
>
> Después de todo este rollo mi pregunta viene siendo si se podría
> parchear DockingSkin para que inicializara selectedTool como se hace
> en el NewSkin o si en el setSelectedTool habría que añadir un código
> tipo
>
> if (wi.getSelectedTools()==null) {
>                // this is the first time this window is activated
>                wi.setSelectedTools(new
> HashMap(mainFrame.getInitialSelectedTools()));
> }
>
> u otra solución que no se nos haya ocurrido vamos.
>
> Yo optaría por la segunda solución en el caso de que más gente se haya
> visto con problemas parecidos al crear sus extensiones.
>
> [1] http://gvsig3d.blogspot.com/2010/01/docking-skin-video-tutorial.html
> [2]
> http://forge.osor.eu/plugins/scmsvn/viewcvs.php/trunk/extNTOpenCADPlugin/src/es/udc/cartolab/gvsig/navtable/AutoNavTableExtension.java?root=navtable&view=markup
>
> Gracias.
> --
> Francisco Puga
> Grupo de Desarrollo
> Cartolab - Laboratorio de Ingeniería Cartográfica.
> http://www.cartolab.es
>
> ETS Ingeniería de Caminos, Canales y Puertos
> Universidade da Coruña
> Campus de Elviña - 15071 A Coruña (España)
> (34)981167000 ext. 5493
>



-- 
Jordi Torres Fabra

gvSIG 3D blog
http://gvsig3d.blogspot.com
Instituto de Automática e Informática Industrial
http://www.ai2.upv.es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20110706/3cee25e1/attachment.htm 


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