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

EjemploExtension.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.

sVisible(): Si devuelve true el icono o item de menú se visualiza y si es false se oculta.

FPanelAbout.java

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.

about.htm

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.

config.xml

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 del item.

                  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 del botón.

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 images

Se guardan las imágenes que necesitamos para el plugin.

build.xml

 

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.