Bonjour,
Après avoir définis mon modèle au format XSD, j'ai généré le "Model Code", le "Edit Code" et le "Editor Code" avec EMF dans Eclipse.
L'éditeur de base fournit par EMF fonctionne bien, mais il ne me plaît pas.
Je l'ai donc modifié (la méthode "createPages()") pour y insérer un MasterDetailsBlock.
Tout marche bien, mes DetailsPages s'affichent correctement, mon treeViewer (partie Master) est bien mise a jour sous changement de valeurs via les DetailsPages :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @Override public void createPages() { // Creates the model from the editor input // createModel(); // Only creates the other pages if there is something that can be edited if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { // Create my masterdetailsblock MasterDetailsBlockPart part = new MasterDetailsBlockPart(); part.createPartControl(getContainer()); int pageIndex = addPage(part.getForm());
(On reconnaitra le code de M. Baron... ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 monObjet = addNewLabelText(client, "Name : ", new ModifyListener() { public void modifyText(ModifyEvent e) { input.setName(monObjet.getText()); treeViewer.refresh(input); } });
Donc l'appel de "treeViewer.refresh(input)" met bien à jour mon treeViewer, mais mon modèle EMF n'est pas mis à jour.. Ce qu'arrive à faire la vue "Properties", mais qui ne me convient pas non plus...
Donc ma question :
Comment utiliser un MasterDetailsBlock pour mettre à jour un modèle EMF ? (Sans avoir à redéfinir soi-même les Resources etc.., c'est à dire en partant de la classe MonModeleEditor créée lors du "Generate Editor Code").
Merci d'avance.
Haribo91.
Partager