crear extenciones en gvSIG
en gvSIG
Jorge Piera (piera_jor@gva.es)
1
Motivación
Vamos a crear una extensión desde 0
La extensión creará una capa vectorial donde
dibujaremos polígonos por código
Los polígonos se corresponderán con
provincias, y tendrán un nombre y un número
de habitantes
Crearemos una herramienta que devolverá el
nombre de la provinciaal seleccionarla en la
vista
2
Motivación
3
Crear proyecto
4
Crear carpeta fuentes
Seleccionar “Java Project” y darle un nombre al
proyecto (p.e. ExtMyPlugin)
Crear una carpeta llamada “src” para poner los
fuentes
5
Crear paquete
Hay que crear un paquete llamado
“com.iver.cit.gvsig.myplugin”
6
Crear carpetas
Crear las carpetas config eimages
7
Config.xml
Crear el fichero “config.xml”
8
Crear los ficheros para las traducciones en
castellano y en inglés (text.properties y
text_en.properties)
Crear el fichero build.xml
9
Build.xml
Copiar el contenido del build.xml del proyecto
exaExample1
Cambiar la línea
Por
Eliminar la línea
Ejecutar el buid
10Comprobaciones
Comprobar que en la carpeta
“_fwAndami->gvSIG->extensiones” aparece esto
11
Dependencias
Hay que indicarle al plugin los proyectos de los que
depende
Pinchamos sobre el proyecto con el botón derecho y
seleccionamos la opción “Properties”
Seleccionamos “Java Build Path”
Añadimos los proyectos en “Projects”:
12
Dependencias
En la pestaña“libraries”, añadimos las librerías:
_fwAndami/lib/iver-utiles.jar
libFMap/lib/cms.jar
libFMap/lib/driver-manager-1.0.jar
libFMap/lib/gdbms-0.8-SNAPSHOT.jar
13
Dependencias
14
Extensión
Vamos a crear nuestra primera extensión
Para ello tenemos que crear una clase, que
herede de la clase “Extension”
La podemos llamar “LoadProvinciasExtension”
15
Extensión
Escribir el “extends Extension”
Aparecerá una “bombilla amarilla” que indica un
error. Pulsar el ella y elegir la opción “Import
'Extension' (com.iver.andami.plugins)”
16
Extensión
La “bombilla” sigue estando. Volver a pulsarla y
seleccionar la opción “add unimplemented
methods”
17
Extensión
Modificar los métodos isEnabled e isVisible para
que se habilite laextensión y sea visible. Para
ello tiene que devolver “true”.
public boolean isVisible() {
return true;
}
public boolean isEnabled() {
return true;
}
18
Extensión
Vamos a ponerle algo de código a la extensión
para ver que se ejecuta
Un System.out.println("Me estoy ejecutando")
en el execute será suficiente (de momento)
public void execute(String actionCommand){System.out.println
("Me estoy ejecutando");
}
19
Config.xml
Hay que configurar el “config.xml” para
asociarle una opción de menú a la extensión
Copiamos el “config.xml” de la extensión
exaExample1 para usarlo de plantilla.
Creamos una única extensión:
El class-name=
”com.iver.cit.gvsig.myplugin.LoadProvincias
Extension”
La opción de menú es “Mi Plugin/Cargar
Shape deprovincias”
Poner las opciones de menú en castellano
y en inglés
20
Primera ejecución
Ya podemos ejecutar el “build.xml” y ejecutar
gvSIG. Debería aparecernos la opción de menú
que hemos añadido
Al pulsar en ella veremos el mensaje que hemos
escrito por la consola del eclipse
21
isEnabled
Antes de incorporar el comportaimento para
añadir una capa, debemosdeshabilitar la
opción del menú, para que solo se vea cuando
haya una vista activa
Tenemos que implementar el método
isEnabled de la Extension
public boolean isEnabled() {
IWindow v =PluginServices.
getMDIManager().getActiveWindow(); if (v
instanceof View){
return true;
}else{
return false;
}
}
22
Cargar Shape
Vamos a sustituir el código del “execute”...
Regístrate para leer el documento completo.