[Gvsig_desarrolladores] ayuda

MarC Ortiz yerotazma03 en hotmail.com
Mar Ene 3 06:31:32 CET 2012








cordial saludo!
 
Yo he intentado hacer el ejemplo de llamar la clase AddEventThemeExtension a partir de un boton que tengo en una interfaz (plugin) que cree para gvsig  y me funciono perfectamente con las indicaciones que ustedes le han dado al compañero Jama. Ahora, quiero hacer el llamado a la funcion Area de Influencia que se encuentra en el Gestor de Geoprocesos y no me resulto igual de facil,  asumo que es porque no es solo una clase, si no que es una herramienta como tal con muchas funcionalidades.
 
Para esto he consultado en el trunk e intente hacer el llamado a la clase BufferCmd.java y en su defecto intente con la clase GeoprocessManagerExtension.java pensando en que podrian ser estas, pero con el llamado a la clase BufferCmd.java me sale un error que adjunto y con la clase GeoprocessManagerExtension.java compila correctamente pero al hacer la prueba en gvsig, no arroja nada
 
Espero me puedan ayudar a encontrar mi error, muchas gracias!
 

 

 
Diana Marcela Ortiz Giraldo
   Universidad del Valle
 
  


> Date: Wed, 21 Dec 2011 17:49:08 +0100
> From: jjdelcerro.gvsig en gmail.com
> To: gvsig_desarrolladores en listserv.gva.es
> Subject: Re: [Gvsig_desarrolladores] ayuda
> 
> El 17/12/11 17:09, Andres Felipe jama escribió:
> >
> > reciban cordial saludo.
> > bueno mi duda es la siguiente:
> > ¿ es posible llamar una extensión dentro de otra extensión?
> > lo que quiero decir es que yo cree mi plugin y deseo llamar una extensión de gvsig dentro de mi extensión.si es posible por favor díganme como hacerlo.
> > pienso llamarla al picar un botón de la extensión que ya he desarrollado gracias...
> > muchas gracias por su colaboración su ayuda me ha sido muy útil gracias.
> >
> >
> > Andrés Felipe Jama CuellarEstudiante de Ingeniería Topográfica Universidad del Valle 
> >
> 
> 
> Hola Andres,
> voy a suponer que tienes un perfil de desarrollador con conocimientos de java y eclipse.
> Si no es asi es que no he entendido bien lo que quieres hacer.
> 
> Lo primero es recomendarte que leas la parte de documentacion que hay
> sobre andami[1], y mas concretamente sobre que son plugins y extensiones [2].
> 
> La documentacion que te reseño es para la version 1.0/1.1 de gvSIG pero esa
> parte en concreto no ha cambiado mucho hasta las versiones actuales de la rama 1
> de gvSIG.
> 
> De esa documentacion lo importante es quedarse con:
> 
> * Un plugin es la forma en la que se puede aportar nueva funcionalidad
> a la aplicacion gvSIG. Si tienes un gvSIG instalado y quieres
> añadir nuevos botones, menus o tipos de documento, tendras que crear
> tu plugin, y de alguna manera suministrarlo a tus usuarios para que lo
> instalen (en gvSIG 1.11 se introduce el addons manager para esto, aunque
> en esa version todavia esta en fase de pruebas),
> 
> * Un plugin tiene extensiones, que se corresponden con menus o barras de
> botones que gestiona la aplicacion y nos daran acceso a las funcionalidades
> del plugin.
> 
> * Un plugin puede acceder a funcionalidades de otro plugin si indica
> en su config.xml que depende de este otro.
> 
> Con estas pequeñas pinceladas a ver que es lo que quieres hacer.
> 
> Podrias querer meter un boton nuevo en la barra de botones de gvSIG
> que llame a la extension de extAddEventTheme.
> Para eso tendrias que crear un plugin nuevo que defina una nueva
> barra de botones y llame en un boton suyo a la extension del plugin de AddEventTheme.
> Para hacer esto asi de simple no haria falta programar nada. Bastaria con crear en
> la carpeta gvSIG/extensiones de la instalacion de gvSIG (que es donde estan
> los plugins instalados en gvSIG) una carpeta nueva y en ella dejar caer un
> fichero config.xml con la definicion de menus o botones que queramos, la
> dependencia con el plugin de AddEventTheme y que los botones llamen a estos.
> Lo mejor que puedes hacer es mirar el config.xml de AddEventTheme.
> 
> El plugin de AddEventTheme ya biene incluido en la distribucion de gvSIG con lo que
> no deberia hacerte falta bajar nada del repo de fuentes para hacer esto.
> 
> Esto, como primera aproximacion para empezar a entender como se monta un plugin
> puede estar bien, pero aporta muy poca funcionalidad.
> 
> Con lo que dices tambien podrias ser que tu tienes tu propio plugin, y desde
> una ventana propia de tu plugin quieres invovcar a una extension del plugin de
> AddEventTheme. Para esto, tendras que en el config.xml de tu plugin añadir como
> dependencia el plugin de AddEventTheme (como en el caso anterior).
> Y en la accion asociada a tu boton (asumo que sabes de swing, como crear tu dialogo
> y como poner un boton en el y asociarle acciones, eso es java+swing) invocar al
> metodo "execute" de la extension de AddEventTheme. El comentario de Vicente iba por
> esa linea...
> 
> (como muede ser interesante tener a mano el codigo de AddEventTheme, he añadido
> en [3] un enlace para verlo).
> 
> Primero obtenemos la instancia de la extension de AddEventTheme
> 
> AddEventThemeExtension addEventTheme =
> (AddEventThemeExtension)PluginServices.getExtension(AddEventThemeExtension.class);
> 
> y luego invocamos al metodo execute de esta.
> 
> addEventTheme.execute("");
> 
> Ahora bien, hacer eso asi sin mas puede que no funcione.
> Para que se ejecute la extension requiere que haya cargada en el proyecto alguna
> tabla (de la que recoger los datos) y que haya activa una vista, en la que crear
> la nueva capa.
> 
> Si te limitas a invocar al metodo execute sin tener en cuenta esos requerimientos
> lo mas facil es que no se cumplan y falle. gvSIG utiliza los metodos isEnabled e
> isVisible de la extension para saber si tiene que dejarte ejecutar o no la extension.
> Tu podrias llamarlos para habilitar tu boton en funcion de ellos, o como minimo antes
> de llamar al execute.
> 
> Con los requerimientos que tiene la herramienta addEventTheme puedes tener algun problema...
> requiere que haya una vista activa... y ¿ esto que es ?
> Pues que tiene que haber un documento vista y este estar en la cima de todas las ventanas
> MDI que no sean de tipo paleta (resumiendolo). Si tu has creado una ventana integrada
> con gvSIG te encontraras que cuando la extension de addEventTheme vaya a buscar la vista,
> en lugar de encontrarla encontrar tu ventana, que no es una vista por lo que no
> podras ejecutar la extension. Podrias probar a que tu dialogo sea un cuadro de dialogo
> normal de swing o que fuese una ventana de tipo paleta, por ejemplo, o incluso mirar
> el codigo que hay en el execute del addEventTheme y invocarlo directamente (es muy simple
> ya que delega en otra clase pasandole la vista y demas datos que necesita).
> 
> De todos modos, de lo que leo en tus mensajes no tengo claro lo que estas haciendo...
> hablas de bajarte el codigo del svn del addEventTheme...
> ¿ Y el codigo de tu plugin donde esta ?
> 
> Lo normal hablando de la 1.X es que te montes un workspace de eclipse con gvSIG y alli añadas
> el proyecto con tu plugin (en versiones 2 y posteriores esto ya no es necesario, es mas,
> realmente esta desaconsejado).
> Bueno... no hay mucha documentacion de como montar el workspace de gvSIG 1.X pero si algunos
> documentos. Te aconsejo que si no lo has hecho leas "Construir gvSIG desde el repositorio SVN"[4]
> y la guia en PDF que en el se nombra. Ahora mismo hay algunos enlaces al SVN rotos por que estamos
> cambiando de plataforma, pero a ver si a lo largo de mañana y pasado los actualizo.
> 
> Bueno, si con esto puedes comentar algo mas sobre lo que quieres hacer intentare concretar mas
> y ayudarte.
> 
> Un saludo
> Joaquin
> 
> [1]http://www.gvsig.org/web/docdev/docs/v1_0/gvsig/andami
> [2]http://www.gvsig.org/web/docdev/docs/v1_0/gvsig/andami/plugins-extensiones
> [3]https://devel.gvsig.org/redmine/projects/gvsig-desktop/repository/revisions/25160/entry/trunk/extensions/extAddEventTheme/src/com/iver/gvsig/addeventtheme/AddEventThemeExtension.java
> [4]http://www.gvsig.org/web/docdev/building-from-svn/building-gvsig-from-svn
> 
> 
> 
> 
> 
> 
> >
> >
> > _______________________________________________
> > gvSIG_desarrolladores mailing list
> > gvSIG_desarrolladores en listserv.gva.es
> > Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> 
> 
> -- 
> --------------------------------------
> Joaquin Jose del Cerro
> Development and software arquitecture manager.
> jjdelcerro en gvsig.com
> gvSIG Association
> www.gvsig.com
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20120103/3f21255f/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : error.jpg
Tipo       : image/jpeg
Tamaño     : 96238 bytes
Descripción: no disponible
Url        : http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20120103/3f21255f/attachment.jpg 


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