Eclipse Platform
Eclipse RCP
Présentation
Eclipse RCP Rich Client Platform représente le minimum nécessaire à la réalisation d'un projet tiers. Il ne contient que 7 plugins.
Nous allons maintenant voir comment réaliser un projet simple en 3 étape en se basant sur l'architecture modulaire fournie par Eclipse RCP.
1ère Partie
Voici les 4 fichiers nécessaires pour réaliser ce programme, il n'y a besoin que de 3 fichiers java et un fichier décrivant le plugin :
- Fichier RcpApplication.java :
package org.eclipse.ui.tutorials.rcp.part1; import org.eclipse.core.runtime.IPlatformRunnable; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.application.WorkbenchAdvisor; public class RcpApplication implements IPlatformRunnable { public Object run(Object args) { WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor(); Display display = PlatformUI.createDisplay(); try { int returnCode = PlatformUI.createAndRunWorkbench(display, workbenchAdvisor); if (returnCode == PlatformUI.RETURN_RESTART) { return IPlatformRunnable.EXIT_RESTART; } else { return IPlatformRunnable.EXIT_OK; } } finally { display.dispose(); } } }
- Fichier RcpPerspective.java :
package org.eclipse.ui.tutorials.rcp.part1; import org.eclipse.ui.IPageLayout; import org.eclipse.ui.IPerspectiveFactory; public class RcpPerspective implements IPerspectiveFactory { public RcpPerspective() { } public void createInitialLayout(IPageLayout layout) { } }
- Fichier RcpWorkbenchAdvisor.java :
package org.eclipse.ui.tutorials.rcp.part1; import org.eclipse.ui.application.WorkbenchAdvisor; public class RcpWorkbenchAdvisor extends WorkbenchAdvisor { public String getInitialWindowPerspectiveId() { return "org.eclipse.ui.tutorials.rcp.part1.RcpPerspective"; //$NON-NLS-1$ } }
- Fichier plugin.xml :
<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.0"?> <plugin id="org.eclipse.ui.tutorials.rcp.part1" name="%pluginName" version="0.0.0" provider-name="%providerName"> <runtime> <library name="part1.jar"> <export name="*"/> </library> </runtime> <requires> <import plugin="org.eclipse.core.runtime"/> <import plugin="org.eclipse.ui"/> </requires> <extension id="RcpApplication" point="org.eclipse.core.runtime.applications"> <application> <run class="org.eclipse.ui.tutorials.rcp.part1.RcpApplication"> </run> </application> </extension> <extension point="org.eclipse.ui.perspectives"> <perspective name="%perspectiveName" class="org.eclipse.ui.tutorials.rcp.part1.RcpPerspective" id="org.eclipse.ui.tutorials.rcp.part1.RcpPerspective"> </perspective> </extension> </plugin>
Ces quelques lignes de codes permettent d'obtenir le resultat suivant :
2ème Partie
En ne modifiant que le fichier RcpWorkbenchAdvisor.java comme ceci :
package org.eclipse.ui.tutorials.rcp.part2;
import org.eclipse.swt.graphics.Point;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchAdvisor;
public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
public String getInitialWindowPerspectiveId() {
return "org.eclipse.ui.tutorials.rcp.part2.RcpPerspective"; //$NON-NLS-1$
}
public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
super.preWindowOpen(configurer);
configurer.setInitialSize(new Point(400, 300));
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
configurer.setTitle("Hello World"); //$NON-NLS-1$
}
}
Nous obtenons alors le résultat suivant :
3ème Partie
La troisième partie est constituée de plus de fichiers. Malheureusement trop pour être simplement affiché ici, vous trouverez donc l'archive ici.
Quelques modifications aisément compréhensibles permettent d'obtenir le résultat suivant :