1. #1
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2008
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2008
    Messages : 1 172
    Points : 2 655
    Points
    2 655

    Par défaut Modifier une figure avec un EditPart

    Bonjour,

    J'ai une application RCP et j'utilise des modèles GMF.

    Je souhaiterais, à partir d'un EditPart, modifier la figure de celui-ci (la position de l'objet par exemple).
    Je sais comment faire pour changer le modèle de l'EditPart, en passant avec un TransactionnalEditingDomain faire des requêtes de mise à jour.

    Quelqu'un saurait-il m'indiquer la procédure à suivre pour changer des valeurs de la figure ? Je cherche sans doute mal, mais je ne trouve pas de tutoriel dessus.

    Merci d'avance pour votre aide.

  2. #2
    BiM
    BiM est déconnecté
    Modératrice
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    janvier 2005
    Messages
    7 706
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : janvier 2005
    Messages : 7 706
    Points : 10 600
    Points
    10 600

    Par défaut

    Bonjour,

    J'utilise une vieille version mais peut être que ça peut t'aider.
    Tu overrides la méthode refreshVisuals() de ton EditPart, tu fais :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    super.refreshVisuals();
    Figure maFigure = getFigure();
    // Tu castes éventuellement ta figure vers autre chose
    // Tu agis sur ta figure
    __~{@ BiM - Modératrice "Business Intelligence" @}~
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    ___________.~{@ Lapine crétine @}~

  3. #3
    Membre expérimenté
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse RCP
    Inscrit en
    juillet 2008
    Messages
    819
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse RCP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2008
    Messages : 819
    Points : 1 664
    Points
    1 664

    Par défaut

    Alors pour que tout cela soit bien transactionnel (et stocke dans ton fichier lors du Save), il ne faut pas utiliser directement les API GEF, qui ne sont pas persistees.

    Le process generique pour interagir avec le diagramme, certes non trivial est:
    1. Creer une "Request", dans ton cas, une "ChangeBoundsRequest"
    2. Transformer ta Reqest en commande avec GraphicalEditPart.getCommand(). A priori, la commande sera ici une SetBoundsCommand(), mais au final, ca t'importe peu.
    3. Donner ta commande a ton EditingDomain

    Ce process peut sombler complique, mais une fois que tu l'as compris, tu fais tout de la meme maniere: Request -> Command -> Execute.
    Il permet notamment de pouvoir associer plusieurs requests sur les operation d'UI telles qu'un drag'n'drop et de changer l'action (la commande) en fonction de l'EditPart ciblee, tout en fournissant un feedback adapte a l'utilisateur.
    Tu fais du JEE/Web/Mobile dans Eclipse? Essaye JBoss Tools !
    Read my blog about Eclipse | Follow me on twitter

Discussions similaires

  1. Modifier une ligne avec layout:collection
    Par imane_bennouna dans le forum Struts
    Réponses: 3
    Dernier message: 07/05/2007, 14h47
  2. Lire et modifier une table avec plusieurs TQuery
    Par Alyx² dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/08/2006, 13h09
  3. [Dates] Modifier une date avec 'substr'
    Par R'SKaP dans le forum Fonctions
    Réponses: 4
    Dernier message: 01/06/2006, 12h40
  4. Dessiner une figure avec graphics.h
    Par Firas_tn dans le forum C
    Réponses: 2
    Dernier message: 29/03/2006, 20h33
  5. modifier une CBitmap avec du code
    Par kor6k dans le forum MFC
    Réponses: 4
    Dernier message: 04/12/2005, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo