Version | Auteur(s) | Mise à jour |
0.1 | Erwan Bocher | 17/09/2006 |
0.2 | Erwan Bocher | 25/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.
Obtenir d'autres exemples : http://r1.bocher.free.fr/index.php?n=Main.GvSIGProgramming