p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Expert Confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2008
    Messages
    1 167
    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 167
    Points : 2 631
    Points
    2 631

    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 679
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    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 679
    Points : 10 435
    Points
    10 435

    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 Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse RCP
    Inscrit en
    juillet 2008
    Messages
    773
    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 : 773
    Points : 1 432
    Points
    1 432

    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? T'as 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