+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Expert Confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2008
    Messages
    1 163
    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 163
    Points : 2 612
    Points
    2 612

    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 661
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    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 661
    Points : 10 368
    Points
    10 368

    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 :
    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 Mickael Istria
    Développeur Expert Eclipse RCP
    Inscrit en
    juillet 2008
    Messages
    687
    Détails du profil
    Informations personnelles :
    Nom : Homme Mickael Istria
    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 : 687
    Points : 1 286
    Points
    1 286

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •