[Gvsig_desarrolladores] cargar capas en la apertura de GVSIG

Jose Manuel Diaz Bossini jmdiaz en andago.com
Lun Dic 31 09:51:33 CET 2007


jaume domínguez faus wrote:
> Jose Manuel Diaz Bossini wrote:
>> Hola a todos de nuevo !
>>
>> Por fin conseguí cargar la capa WMS en local , como bien decía Jose 
>> Manuel Vivo tenía un problema en la instalación de gvsig , ahora todo 
>> eso funciona pero quiero ir un paso mas allá , necesito que nada mas 
>> cargar el gvsig , mi plugin cargue las capas que yo quiero sin que el 
>> usuario toque nada , por tanto necesito deshabilitar la ventana de 
>> Gestor de Proyecto y abrirle directamente las capas que le quiera 
>> mostrar , como dije en un mail anterior , la idea es hacer una 
>> especie de gestion de perfiles y en funcion de los derechos de cada 
>> usuario mostrarle unas capas u otras.
>>
>> ¿Alguien tiene alguna idea de por donde puedo empezar ?
>>
>> He intentado en el método initialize del plugin hacer :
>>
>> PluginServices.getMDIManager().closeAllWindows();
>>
>>
>> y después crear una vista que contenga las capas que yo quiero y 
>> mostrarlas , pero he encontrado los siguientes problemas :
>>
>> 1) La ventana del gestor de proyectos no se cierra.
> Posiblemente se esté ejecutando el initialize de tu extensión antes 
> del initialize de ProjectExtension con lo cual, efectivamente estarás 
> cerrando todas las ventanas y después el initialize de 
> ProjectExtension esté abriendo la ventana de proyecto. Sobrecarga el 
> método postInitialize de tu extensión y desplaza allí la llamada a 
> closeAllWindows a ver si así se soluciona tu primer inconveniente.
>>
>> 2) La llamada WMS y la creación de la capa se hace perfectamente , 
>> incluso se puede añadir a la vista , pero no se muestra nada , no hay 
>> error ni nada , simplemente y pese al hacer :
>>   FLyrWMS capaWMS = new FLyrWMS(args);
>>   mapCtrl.getMapContext().getLayers().addLayer(capaWMS);
>>
>> No se muestra nada , creo que tiene que ver con que el mapControl de 
>> la vista que he creado , que no es válido.
> Este es el código que se usa para añadir una capa de manera normal
> lyr.setVisible(true);
> mapControl.getMapContext().beginAtomicEvent();
> checkProjection(lyr, mapControl.getViewPort());
> try {
>      mapControl.getMapContext().getLayers().addLayer(lyr);
> } catch (CancelationException e) {
>    // TODO Auto-generated catch block
>    e.printStackTrace();
> }
> mapControl.getMapContext().endAtomicEvent()
>
> Comprueba que tu código causa que la vista se refresque con algún tipo 
> de evento. P.e. haciendo la capa visible, o lanzando un AtomicEvent 
> como observas, o incluso a lo "manual" con  mapCtrl.revalidate();
>
>>
>>
>> Muchas gracias.
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores en runas.cap.gva.es
>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
> salut!
>
Muchas gracias Jaume !

Ahora ya consigo cerrar la ventana de proyectos y cargar la capa , el 
único problema que tengo es que no se el tipo de componente en el que la 
tengo que cargar para que salgan las herramientas de edicion de capas , 
es decir , ahora mismo y para probar solamente he cargado mi capa WMS en 
un FPanelAbout , pero no encuentro el panel o componente existente para 
añadir mi capa y poder editarla , si alguien lo conoce podría echarme un 
cable y ahorrarme un par de horas de debug innecesario ;)?

Muchas gracias a to2 .


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