|
Eclipse RCP
2.Premier exemple
Pour créer une application RCP, il faut faire un nouveau projet de plug in : File -> New -> Project, dans Plug-in developpement sélectionner Plug-in project. Il faut ensuite entrer le nom du projet, laisser les options par défaut puis cliquer sur Next. Sur l’écran suivant, pour l’option "Would you like to create a rich client application ", sélectionner Oui. On obtient alors différents templates sur lequels on peut se baser et créer notre propre application. Pour cet exemple, nous allons utiliser le premier template (« Hello RCP »). Il faut donc sélectionner Hello Template puis cliquer sur Finish. Vous devriez avoir l’écran suivant :
Il s’agit du PDE (Plugin Development Environment) qui permet d’automatiser certaines tâches pour la création de plugin. Vous pouvez lancer l’exemple en cliquant sur « Launch an Eclipse application » ce qui donne ceci :
Nous allons maintenant détailler le code qui a été généré par l’assistant.
-
La classe Application (Application.java)
Cette classe ne sert qu’à contrôler les aspects de l’exécution de l’application. public class Application implements IPlatformRunnable { public Object run(Object args) throws Exception { Display display = PlatformUI.createDisplay(); try { int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor()); if (returnCode == PlatformUI.RETURN_RESTART) { return IPlatformRunnable.EXIT_RESTART; } return IPlatformRunnable.EXIT_OK; } finally { display.dispose(); } } } La classe Application.java Cette classe implémente l’interface IPlatformRunnable. Dans la méthode run(), on crée un workbench avec en paramètre un Workbench Advisor (nous verrons ce que c’est dans la suite de cet article).
-
La classe Perspective (Perspective.java)
Une perspective représente un ensemble de vues, éditeurs et menus de l’application. Il est obligatoire, avec RCP, de définir au moins une perspective (ce sera alors la perspective par défaut). Une perspective implémente l’interface IPerspectiveFactory et la méthode createInitialLayout() qui permet de définir la position et chaque vues ou editeurs.
-
Les Advisor Class
Il en existe plusieurs type (« Workbench Advisor », « Workbench Window Advisor », “ApplicationActionBarAdvisor”). Ils permettent de contrôler tous les éléments du Workbench
-
Workench Advisor
Son rôle principal est de définir la perspective par défaut de l’application. public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor { private static final String PERSPECTIVE_ID = "com.supinfo.eclipseRCP.exemple.perspective"; public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { return new ApplicationWorkbenchWindowAdvisor(configurer); } public String getInitialWindowPerspectiveId() { return PERSPECTIVE_ID; } ApplicationWorckbenchAdvisor.java Il faut obligatoirement déclarer une chaîne représentant l’id de la perspective principale (celui déclaré dans le fichier de configuration plugin.xml) et redéfinir la méthode getInitialWindowPerspectiveId ». Il est également possible de redéfinir d’autres méthodes qui sont optionelles : getDefaultPageInput : définit le point d’entrée par défaut pour les nouvelles pages workbench. getMainPreferencePageId : définit la perspective qui sera affichée en premier.
-
Workench Window Advisor
Cette classe permet de contrôler le comportement de la fenêtre (taille, titre) et les composants qui sont présents par défaut (barre de statut, barre d’outils). public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor { public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { super(configurer); } public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) { return new ApplicationActionBarAdvisor(configurer); } public void preWindowOpen() { IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); configurer.setInitialSize(new Point(400, 300)); configurer.setShowCoolBar(false); configurer.setShowStatusLine(false); configurer.setTitle("Hello RCP"); } } ApplictionWorkbenchWindowAdisor.java Ici, on crée un « configurer interface » puis on définit la taille et le titre de l’application dans la méthode preWindowOpen.
-
Action Bar Advisor
Cette classe gère les différentes actions pour les « ActionBar » c'est-à-dire les barres de menu, cool bar et barre de statut. Les différentes méthodes que l’on peut utiliser sont : makeActions permet de definir des actions pour chaque menu. fillMenuBar permet de remplir la barre de menu fillCoolBar permet de remplir la cool bar fillStatusLine permet de remplir la barre de statut.
-
Le fichier plugin.xml
Il permet de définir la structure de notre application Eclipse RCP. Il faut y faire figurer, par exemple, l’emplacement de la classe Application, la perspective par défaut, les vues…
-
Résumé
Pour résumer, une application Eclipse RCP se compose d’un fichier de description plugin.xml, d’une classe Application qui gère l’exécution de l’application et qui crée un nouveau « Workbench Advisor ». Ce Workbench Advisor défini la perspective par défaut de l’application. Sur cette perspective il sera possible de définir les différentes vues de notre application. Ensuite, la classe WorkbenchWindowAdvisor permet de définir le comportement de notre fenêtre (taille, titre…) et la présence ou non sur notre fenêtre des « ActionBar » (barre de menu, de statut…). Les « Action Bar » sont ensuite gérées dans la classe ActionBarAdvisor.
|
|
 |
|