[Gvsig_desarrolladores] Flujo interno gvgis

Francisco José fpenarru en iver.es
Jue Abr 27 10:45:54 CEST 2006


daniel.izquierdo en sinfogeo.com escribió:
> Buenos días,
> Esta es la primera vez que participo en esta lista de correo y espero que
> sean muchas más, tanto de consulta como de ayuda.
> El caso es que tengo instalado gvsig y he estado toqueteando un poco el
> código , recompilando y lanzando de nuevo el programa. De momento cosas
> básicas, como ver un poco el funcionamiento de ventanas, etc.
> El caso es que ahora, me interesaría hacer, como prueba, que pulsando un
> botón, automáticamente se abra una ventana con una vista de tipo wms
> cargada en el entorno.
> He creído comprender que lo que realiza el sistema es algo como:
> El entorno de ventanas llama a uno de los drivers específicos, éste
> realiza la llamada al servidor, recoge los datos, los devuelve al core,
> con el modelo de datos interno y se muestra por pantalla (a groso modo
> ...).
> El caso es que no entiendo cómo desde el entorno se realiza esa llamada al
> driver específico, es decir, si un usuario normal desea usar un wms, debe
> crear una vista y añadir una capa de ese tipo, eso, en código, cómo se
> ejecuta? cuál es el flujo que recorre el sistema para llegar a mostrar al
> usuario una capa de tipo wms?.
>
> Saludos y gracias!
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>   
Hola Daniel.

Pues en el caso de la Vista, es algo así: (Archivo 
com.iver.cit.gvsig.project.ProjectWindow, línea 397 (o por ahí, porque 
te hablo de lo que tenemos en este instante, que pueda haber sufrido 
modificaciones).

            com.iver.cit.gvsig.gui.View vista = new 
com.iver.cit.gvsig.gui.View();
            int index = lstDocs.getSelectedIndex();

            if (index == -1) {
                return;
            }

            vista.setModel((ProjectView) p.getViews().get(index));
            PluginServices.getMDIManager().addView(vista);

El quid de la cuestión es vista.setModel( ProjectView).

Y cómo creas un ProjectView desde cero?. Pues por ejemplo con 
ProjectView.createView(String name). Es un método estático.
Luego puedes coger el mapContext de ese ProjectView y añadirle las capas 
por código que quieras.

Espero haberte ayudado.

Gracias por usar gvSIG, ánimo y suerte con la codificación.

Salu2.

-- 
Francisco José Peñarrubia
Equipo gvSIG

IVER T.I. S.A.
c/Salamanca 50
46005 Valencia
Spain




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