edit · history · print
VersionAuteur(s)Mise à jour
0.1Erwan Bocher17/09/2006
0.2Erwan Bocher25/09/2006

Dans gvSIG l'ajout de nouvelles fonctionnalités se fait par la création d'une extension ou par l'utilisation d'une console de scripts (Jython ou BeanShell). Une extension permet d'ajouter des contrôles (bouton), des menus ou des barres d'outils à l'interface utilisateur de gvSIG. Une extension est initialisée dans l'interface de gvsig grâce au fichier config.xml. Ce fichier doit se trouver dans le repertoire qui contient le programme et les librairies de votre extension. Toutes les extensions sont localisées à l'adresse gvSIG_1.0\bin\gvSIG\extensiones.

Description d'un fichier config.xml

Exemple avec l'extension Localicalisation par attribut : com.iver.gvsig.datalocator


<?xml version="1.0" encoding="ISO-8859-1"?>
<plugin-config>
        <libraries library-dir="."/>
        <depends plugin-name="com.iver.cit.gvsig"/>
                <resourceBundle name="text"/> // Nom du fichier de traduction suivi du suffixe de la langue. Les fichiers de traduction se trouvent à la racine du repertoire  com.iver.gvsig.datalocator.
        <extensions>
                <extension class-name="com.iver.gvsig.datalocator.DataLocatorExtension"
                        description="Extensión que permite hacer zooms en función de los valores de la base de datos. También permite guardar y recuperar estos zooms." // Description du plugin.
                        active="true">
// Activation du plugin.
                        <menu text="Vista/Localizador_por_atributo" // Menu pour accéder au plugin. Le plugin sera accessible par le menu Vista puis le sous-menu Localizador_por_atributo.
 tooltip="Localizador_por_atributo" // Info bulle du menu
                                action-command="DATALOCATOR"
                                icon="images/locator.png" />
//Répertoire contenant l'image qui sera affectée au menu.

//La balise < menu text =.../> définit les paramètres nécessaires pour la mise en oeuvre de l'interface menu

                        <!--tool-bar name="com.iver.cit.gvsig.Herramientas"-->
                        <tool-bar name="Localizador por atributo">
                                <action-tool icon="images/locator.png"
                                        action-command="DATALOCATOR" tooltip="Localizador_por_atributo"
                                        enable-text="debería de estar activada" last="true"/>

                        </tool-bar>

//La balise < tool-bar =.../> définit les paramètres nécessaires pour la mise en oeuvre de l'interface barre d'outils. Un bouton sera ici ajouté dans gvSIG.

                </extension>
        </extensions>
</plugin-config>
 

Création d'une extension

Objectif : Ajouter un menu dans l'interface de gvSIG. Ce menu affichera le texte "Bienvenue dans gvSIG".

1. Création du repertoire contenant l'extension

Dans le repertoire gvSIG_1.0\bin\gvSIG\extensiones, créer un sous repertoire que vous nommez "org.mesExtensions".

2. Création d'une fichier config.xml

Créer un fichier config.xml et copier-coller le code ci-dessous.


<?xml version="1.0" encoding="ISO-8859-1"?>
<plugin-config>
        <libraries library-dir="."/>
        <depends plugin-name="com.iver.cit.gvsig" />
        <resourceBundle name="text"/>
        <extensions>           
                <extension class-name="org.mesExtensions.extBienvenue"
                        description="Affiche un message dans gvSIG"
                        active="true"
                        priority="1">

                        <menu text="Test/Bienvenue" action-command="BIENVENUE" />                     
                </extension>

        </extensions>
</plugin-config>
 

3. Ecriture du programme Bienvenue dans gvSIG

Lancez votre IDE préféré. Créez le package suivant : org.mesExtensions. Dans ce package, créez la classe extBienvenue. Copiez-collez le code ci-dessous.


package org.mesExtensions;

import javax.swing.JOptionPane;
import com.iver.andami.plugins.Extension;

/**
 *
 * @author Erwan Bocher Laboratoire RESO UMR CNRS 6590
 * @date 25/09/2006
 *
 * Cette extension permet d'afficher un message dans gvSIG.
 *
 */


public class extBienvenue extends Extension {


    public void execute(String actionCommand) {              
        JOptionPane.showMessageDialog(null,"Bienvenue dans gvSIG","Message" , JOptionPane.INFORMATION_MESSAGE);

    }   

    public boolean isEnabled() {

        return true;
    }

    public boolean isVisible() {
                return true;

    }

        public void initialize() {

        }

}
 

Note : La création d'une extension est invoquée par la méthode initialize, puis lorsque l'extension fonctionne les méthodes isEnabled() et isVisible() sont appelées à chaque fois pour contrôler l'activation et l'affichage des contrôles en relation avec l'extension. Une extension est exécutée à partir de la méthode execute (). Pour en savoir plus sur isEnabled() et isVisible() : extensionPlus

Compilez la classe extBienvenue et exportez le fichier jar dans le repertoire org.mesExtensions.

4. Ajout des fichiers de traduction

Créez deux fichiers avec un éditeur de texte, donnez leurs l'extension properties: text.properties et text_fr.properties.

Dans ces fichiers, ajoutez les références à vos menus. Copiez-collez le code ci-dessous pour chaque fichier.


Test=Test
Bienvenue=Bienvenue

5. Test du programme

Démarrez gvSIG et cliquez sur le menu Test.

Extension Bienvenue

Obtenir d'autres exemples : http://r1.bocher.free.fr/index.php?n=Main.GvSIGProgramming

edit · history · print
Page last modified on September 25, 2006, at 11:04 AM