Introducción |
ÁRBOL DEL PLUGIN |
CLASES Y FICHEROS UTILIZADOS |
EjemploExtension.java |
FPanelAbout.java |
About.html |
config.xml |
Directorio images |
build.xml |
Este tutorial, está pensado para empezar de una forma sencilla a crear exteniones sobre Andami.
Se pretende mostrar una extensión básica que tan solo añada y muestre el contenido de una ventana en Andami cuando se pulsa su icono , o opción de menú.
Aquí mostramos en forma de árbol las clases y ficheros necesarios para crear un plugin base con una minima de funcionalidad.
Esta extensión abrirá una ventana con la información referente a los autores, participaciones y software en el que se ha basado gvSIG.
Esquema del proyecto de ejemplo.
Se necesita como mínimo una clase java. En nuestro caso “EjemploExtension.java”, esta clase implementa la interfaz com.iver.andami.plugins.Extension con los métodos:
inicializar(); Que es invocado cuando se inicializa la extensión.
execute(String actionCommand): El String que se pasa como parámetro indica que comando en concreto se ejecuta, de esta forma una misma extensión puede contener varios comandos.
isEnabled(): Si devuelve true el icono o item de menú desplegable se quedan como habilitados y si por el contrario devuelve false se queda como deshabilitados.
isVisible(): Si devuelve true el icono o item de menú se visualiza y si es false se oculta.
Es un ejemplo de como añadir una ventana y su contenido a Andami, es un JPanel que implementa com.iver.andami.ui.mdiManager.View.
Página HTML con la información que se mostrará en la ventana que añadimos a Andami, este archivo se utiliza para poder llevar a cabo el ejemplo.
Archivo XML que sirve para configurar todas las extensiones que contiene el plugin.
<?xml version="1.0" encoding="ISO-8859-1"?>
<plugin-config>
<libraries library-dir="."/>
<resourceBundle name="text"/>
<extensions>
Nombre
complete de la clase que implementa Extension.
<extension class-name="com.iver.ejemplo.EjemploExtension"
Descripción de
la extension.
description="Extensión
de ejemplo que muestra una ventana nueva con información en html."
Poner la extensión en modo activo o no activo(Para
ser cargada debe estar activa).
active="true">
Ruta en el menu desplegable.
<menu text="Archivo/ejemplo"
Tooltip
tooltip="ejemplo"
Comando
en concreto, ya que pueden haber varios en una misma
extensión.
action-command="EJEMPLO"
Icono que se mostrara en el menu desplegable.
icon="images/ejemplo.png" />
Nombre de la barra de
herramientas en la que añadimos el botón.
<tool-bar name="Herramientas">
Icono que se mostrara en el
botón.
<action-tool icon="images/ejemplo.png"
Comando que se ejecutará.
action-command="EJEMPLO"
Tooltip
tooltip="ejemplo"
Texto
que se mostrará cuando el botón esté deshabilitado.
enable-text="debería de
estar activada" last="true"/>
</tool-bar>
</extension>
</extensions>
</plugin-config>
Directorio en el que almacenamos las imagenes que vamos a utilizar para el plugin.