[Gvsig_desarrolladores] Siguiendo con lo del plugin...

Fernando González Cortés fernando.gonzalez en iver.es
Mie Abr 6 16:30:01 CEST 2005


public void execute(String arg0) {
  View vista = (View) PluginServices.getMDIManager().getActiveView();
  ViewPort vp = vista.getModel().getMapContext().getViewPort();
  vp.setPreviousExtent();
}

La llamada a PluginServices.getMDIManager().getActiveView() devuelve una
referencia a la interfaz View de andami. Cualquier vista que se añade a
Andami implementa esta interfaz. Por otro lado tenemos la clase View,
que es la vista en la que se visualizan los mapas que, como todas las
vistas añadidas a Andami, implementa la interfaz View. El casting que
haces lo estás haciendo a la clase View de gvSIG y por tanto fallará
siempre que ejecutes la extensión cuando la vista de Andami activa sea
View de gvSIG (la clase que muestra el mapa).

Como tienes los métodos isEnabled e isVisible siempre activos, puedes
ejecutar la extensión cuando la vista activa no es la vista de gvSIG y
por tanto saltará la excepción.

Espero no haber añadido más confusión al tema con tanta "vista"...

un saludo
Fernando

El mié, 06-04-2005 a las 12:55, ricardo.borrallo en telvent.abengoa.com
escribió:
> 
> 
> Voy mas alla Vicente. He copiado el codigo del zoom previo vuestra en la
> clase PluginAccesoSDE que os he enviado. Olvidate de FrmPrueba y demás.
> 
> Es más, le he puesto que devuelva true en los metodos isVisible()  y
> isEnabled(). Al igual que antes ejecuto el plugin despues de cargar una
> capa, hacer zoom y demás. Y nada, me da el mismo error.
> 
> 
> 
> Ricardo Borrallo Asencio.
> Telvent Interactiva.
> 
> 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
> 




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