février
2009
Dans ce billet nous allons reprendre l’exemple shapesemf.zip de l’article Using GEF with EMF et le remettre à jour pour qu’il puisse fonctionner avec les dernières versions d’Eclipse. En effet à l’époque, le fichier plugin.xml était utilisé pour définir l’identifiant, le nom et les dépendances (sur les autres plugins) du plugin. Aujourd’hui ces informations se retrouvent dans le fichier META-INF/MANIFEST.MF.
Je ne vais pas m’attarder sur ce point et vous pouvez télécharger org.eclipse.gef.examples.shapes.emf_1.0.1.zip qui contient le plugin Shapes EMF remis à jour.
Pour suivre cette série de billets, il faut que vous ayez un Eclipse qui a les plugins EMF, GEF et WST correctement installés. Dans la page de téléchargement d’Eclipse, je vous conseille de télécharger la distribution Eclipse IDE for Java EE Developers.
Pour tester le plugin, dézipper org.eclipse.gef.examples.shapes.emf_1.0.1.zip et importez le plugin org.eclipse.gef.examples.shapes.emf_1.0.1 dans votre workspace Eclipse (via Import, Existing projects into workspace). Ouvrez le fichier MANIFEST.MF puis cliquez sur le lien Testing/Launch an Eclipse in Debug Mode.
Cette action, ouvre un deuxième Eclipse qui charge le plugin Shapes EMF. Pour créer un diagramme Shape dans un projet Eclipse, vous devez :
* Créer un projet TestEMFShapes(Empty, Java…)
* Sélectionner le projet TestEMFShapes puis accéder au menu New/Example
Ceci ouvre le wizard suivant :
Sélectionner Examples/Shapes EMF Diagram puis Next, puis Finish. Ce wizard génère un fichier shapesExample1.shapesemf et ouvre l’éditeur GEF. Vous pouvez ensuite ajouter des figures dans le diagramme :
Après avoir sauvegardé l’éditeur GEF, vous pouvez éditer le contenu du fichier shapesExample1.shapesemf, en sélectionnant le fichier, et en accédant au menu Open With/Text Editor :
Le contenu du fichier shapesExample1.shapesemf est le XML suivant :
<org.eclipse.gef.examples.shapes.emf.model:ShapesDiagram xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.gef.examples.shapes.emf.model="http:///org/eclipse/gef/examples/shapes/emf/model.ecore">
<shapes xsi:type="org.eclipse.gef.examples.shapes.emf.model:EllipticalShape" x="90" y="48" width="73" height="52"/>
<shapes xsi:type="org.eclipse.gef.examples.shapes.emf.model:RectangularShape" x="129" y="179" width="122" height="74"/>
</org.eclipse.gef.examples.shapes.emf.model:ShapesDiagram>
On peut remarquer 2 choses :
- le contenu du diagramme Shapes est un XML qui est difficile à lire
- l’éditeur GEF et l’éditeur Text ne sont pas synchronisés, autrement dit :
- si on modifie l’éditeur GEF (ajout, suppression de figures, modification de la position des figures), l’éditeur Texte ne se synchronise pas.
- si on modifie l’éditeur Texte (en tapant le XML à la main), l’éditeur GEF ne se synchronise pas.
Dans certains cas ce mode de fonctionnement peut ne pas être utile, mais dans un fichier de configuration XML (comme celui de faces-config.xml), ce mode ne suffit pas.
Les prochains billets expliqueront dans un premier temps comment sérialiser le diagramme Shape dans un XML de son choix. Puis, dans un deuxième temps comment synchroniser un éditeur Texte avec l’instance EMF Shape diagram (qui synchronisera l’éditeur GEF).
Articles récents
- Conception d’un client Eclipse RCP et serveur OSGI avec Spring DM [step5]
- Conception d’un client Eclipse RCP et serveur OSGI avec Spring DM [step4]
- Conception d’un client Eclipse RCP et serveur OSGI avec Spring DM [step3]
- Conception d’un client Eclipse RCP et serveur OSGI avec Spring DM [step2]
- Conception d’un client Eclipse RCP et serveur OSGI avec Spring DM [step1]
Commentaires récents
- Conception d’un Editeur Eclipse de workflow XML [step 0] dans
- Conception d’un Editeur Eclipse de workflow XML [step 19] dans
- Conception d’un Editeur Eclipse de workflow XML [step 7] dans
- Conception d’un Editeur Eclipse de workflow XML [step 7] dans
- Conception d’un Editeur Eclipse de workflow XML [step 7] dans