Tutoriel : créer un éditeur de diagramme facilement avec Sirius
Bonjour,
Vous avez toujours pensé que créer des éditeurs de type diagramme dans Eclipse était trop long ? Trop compliqué ?
Alors le projet Sirius est fait pour vous !
Avec la prochaine version d'Eclipse, Luna, le projet Sirius sera déployé dans le "simultaneous release train" dans sa version 1.0 et met la création d'éditeurs (diagrammes, arbres, tableaux) basés sur les modèles EMF à la portée de tous.
Dans ce tutoriel découvrez, avec un exemple simple, les mécanismes de la technologie Sirius et créez en quelques clics et sans aucune ligne de code, un éditeur complet et fonctionnel pour un modèle EMF.
http://alain-bernard.developpez.com/.../sirius-intro/
Bonne lecture,
Alain
Création des noeuds de type Gate ?
Merci pour ce tutoriel, bien plus complet que celui proposé sur le site web officiel d'Eclipse.
Je n'arrive pas à créer des noeuds de type Gate. Pourriez-vous détailler un peu la dernière phrase de chapitre V-A-1 :
"De la même manière, vous pouvez définir l'élément de création des objets « Gate » au sein de la palette."
Il y a sans doute une différence avec la création des objets "Airport"', mais je ne la trouve pas moi-même :(
Création des noeuds de type Gate (fin)
Merci, Alain, pour vos instructions précises. Bien que les ayant suivies scrupuleusement, je n'arrivais toujours pas à créer des noeuds de type Gate. Mon problème était ailleurs : dans l'opération SetValue, j'avais indiqué directement le numéro de porte 0 par défaut, pensant que les crochets étaient réservés aux variables. Il n'en est rien, en comparant mon fichier odesign avec le votre, j'ai vu que la syntaxe correcte était ['0'/]. Encore la preuve que le diable est dans les détails ! Entre temps, le 24/10/2014, la version 2.0.0 de Sirius est sortie : je n'ai plus qu'à refaire cet excellent tutoriel avec la nouvelle version ;)
Instanciation du méta-modèle
Bonjour,
dans la partie III-B, vous instanciez le méta-modèle et ajoutez des éléments (Airports Roissy,...).
J'ai 2 questions:
- comment créez-vous ces éléments? Edition du XML du modèle (example.airports) et ajout des entrées à la main?
<airports name="Schiphol" country="Pays-Bas" city="Paris">
<gates number="12" destination="//@airports.2/@gates.1" origin="//@airports.1/@gates.0"/>
</airports>
- Pourquoi créer ces éléments autrement que par l'outillage Sirius, ce qui est ensuite fait dans la section V-A-1?
Cordialement.
Laurent.
Création des éléments d'exemple
A partir de l'élément racine World Map dans la fenêtre example.airports, il suffit de cliquer sur le bouton droit et de choisir New Child pour créer un Airport.
Puis à partir de cet Airport, après l'avoir renommé, choisir New Child pour créer un Gate (ou New Sibling pour créer un autre Airport).
Pas besoin d'éditer le fichier XML :zoubi:
Sirius et Eclipse Modeling Tools
Citation:
Envoyé par
tbiard
le 24/10/2014, la version 2.0.0 de Sirius est sortie : je n'ai plus qu'à refaire cet excellent tutoriel avec la nouvelle version ;)
Attention, la dernière version 4.4.1 Luna d'Eclipse Modeling Tools est livrée en standard avec Sirius version 1.0.1, ce qui (pour l'instant ; correction en cours) empêche l'installation de Sirius version 2.0.0.
Pour installer Sirius version 2.0.0, il faut mieux utiliser la version précédente 4.3 Kepler d'Eclipse Modeling Tools. L'autre avantage est de rester aligné avec ce tutoriel :)
Un Airport est composé de plusieurs Gates
Bonjour SonnyS,
Je pense que votre problème se situe en amont, au niveau du modèle Ecore. Un Airport doit être composé de plusieurs Gates.
Listes dans l'éditeur ECore (Scope des noms d'éléments)
Bonjour,
J'ai fait un essai de génération de meta-modèle Ecore sur la base de l'exemple Airports. Lors de la création d'un modèle à partir de l'éditeur généré (via genmodel), je rencontre un problème de distinction d'éléments dans les listes proposées par l'éditeur: pour illustrer mon problème à partir de l'exemple Airport, imaginons que je crée 2 airports avec chacun 1 Gate portant le même nom/numéro (j'ai un cas similaire avec une relation conteneur/contenu où j'ai 2 conteneurs avec des noms différents mais des contenus de même nom). Si j'ai un 3eme élément de modèle qui souhaite référencer une Gate, l'éditeur me propose une liste de 2 éléments qui ont exactement le même nom et je ne sais pas les distinguer Gate0 et Gate0. Est-ce qu'il est possible de configurer l'éditeur pour que la liste propose un nom complet : Airport1::Gate0 & Airport2::Gate0 plutôt que le nom déscopé?
Cordialement.
Laurent