Ejemplo de una sencilla extensión
Introducción
Con este tutorial 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ú.
Arbol del plugin
Clases y ficheros necesarios para crear un plugin base.
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.
Clases java
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>
Se guardan las imágenes que necesitamos para el plugin.
Es un archivo Ant con todas las tareas necesarias para copiar el plugin con sus extensiones, imágenes y archivos necesarios al directorio de Andami donde le corresponde, para que este reconozca que existe un plugin que debe cargar.