Programmation des extensions de JMap Pro
Pour programmer des extensions de JMap Pro, il est important de respecter un ensemble de règles simples. La présente section décrit les règles de programmation.
La classe JMapClientExtension
La première étape pour le développement d'une extension de JMap Pro consiste à programmer une classe qui dérive de la classe abstraite JMapClientExtension. Cette classe comporte les 3 méthodes suivantes, appelées à différents moments du cycle de vie de l'extension:
Méthodes de la classe JMapClientExtension |
|
Cette méthode est appelée lorsque l'extension est chargée par l'application JMap Pro. À ce moment, les interfaces graphiques ne sont pas encore initialisées. Vous pouvez mettre dans cette méthode tout code servant à préparer le fonctionnement de votre extension. Cela pourrait inclure le chargement d'un fichier de paramètres, les vérifications de dépendances, etc. La méthode reçoit en paramètre une instance de JMapApplicationContext. Cette classe permet d'accéder à l'ensemble des ressources de l'application JMap. La méthode reçoit aussi une collection (Map) de paramètres. Ces paramètres sont des informations utiles pour l'extension. Voir plus bas pour plus d'information. |
|
Cette méthode est appelée par l'application JMap lorsque son interface graphique a été initialisée. Dans cette méthode, vous devez mettre le code qui initialisera l'interface graphique de votre extension. Cela pourrait inclure l'ajout de boutons ou de barres d'outils, de menus, de fenêtres, etc. Voir la section Intégration dans l'interface graphique pour plus d'information. Cette interface graphique permettra aux utilisateurs d'accéder aux fonctions offertes par votre extension. |
|
Cette méthode est appelée par l'application JMap juste avant que celle-ci se termine. Vous devez mettre dans cette méthode le code nécessaire pour terminer votre extension. Cela pourrait inclure du code servant à libérer des ressources, enregistrer des paramètres, etc. |
Des paramètres sont passés à l'extension par la méthode init(), à l'aide d'une collection de type Map<String, String>. Il existe 2 paramètres qui sont prédéfinis dans JMap et correspondent à des constantes définies dans la classe JMapClientExtension.
- EXTENSION_PARAMETER_GUI_VISIBLE : Indique à l'extension si ses composantes d'interfaces graphiques (autres que les barres d'outils) doivent être visibles à l'ouverture de l'application.
- EXTENSION_PARAMETER_TOOLBAR_VISIBLE : Indique à l'extension si ses barres d'outils doivent être visibles à l'ouverture de l'application.
Ces paramètres contiennent les valeurs true ou false et sont renseignés par l'Administrateur JMap lors du déploiement d'une application JMap Pro. Votre extension doit respecter ces paramètres. Une extension peut aussi recevoir des paramètres qui lui sont propres et qui sont renseignés par l'administrateur JMap.
L'exemple de code suivant montre comment accéder aux paramètres depuis la méthode init().
|
La classe JMapApplicationContext
La classe JMapApplicationContext est très utile dans le développement des extensions car elle permet d'accéder à un ensemble de ressources générales de l'application. Cette classe est un signleton. On peut donc avoir accès facilement à l'instance de n'importe où en utilisant la méthode statique JMapApplicationContext.getInstance().
Méthodes les plus utiles de la classe JMapApplicationContext |
|
Retourne l'instance de la connexion (classe JMapSrvConnection) vers JMap Server. |
|
Retourne l'instance de la fenêtre principale de l'application. |
|
Retourne l'instance du gestionnaire de vues (classe ViewManager) de l'application. |
|
Retourne l'instance de l'application JMap (classe JMapApplication). |
|
Retourne le chemin vers le dossier principal de JMap sur l'ordinateur de l'utilisateur. C'est à cet endroit que JMap écrit ses données. |
La classe JMapApplication
La classe JMapApplication représente l'application JMap. Elle fournit des méthodes qui donnent accès à des ressources de l'application (interface graphique, journaux d'événements, etc.). Elle fournit aussi des méthodes qui permettent d'effectuer des tâches de manière simple (créer une nouvelle carte, fermer le projet, etc.).
Méthodes les plus utiles de la classe JMapApplication |
|
Crée une nouvelle vue cartographique qui s'affiche automatiquement dans l'application. |
|
Retourne l'instance du projet (classe Project) ouvert dans l'application. |
|
Retourne l'instance de la classe JMapGuiService de l'application. Voir la section Intégration dans l'interface graphique plus d'information. |
|
Retourne l'instance de la classe Logger de l'application. Utilisée pour consigner des messages de votre extension dans les journaux de l'application JMap. |