IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Modeling Discussion :

Pb (re)chargement des compartiments [GMF]


Sujet :

Eclipse Modeling

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Points : 23
    Points
    23
    Par défaut Pb (re)chargement des compartiments
    Bonjour à tous,

    Je viens vers vous avec un problème qui me a le dont de me faire perdre des cheveux avant l'heure.
    Le problème : Je travaille sur un outil assez complexe en GMF. L'idée est de représenter les besoins d'observation en EIAH. J'ai donc besoin d'un modèle textuel propre au domaine et pour convenir à cela, j'ai donc :

    - un objet graphique ObservationNeed qui possède 4 compartiments.
    - Chaque compartiment à une zone de conteneur pour mettre les autres objets graphiques
    - Chaque zone est représenté par un carré dans le compartiment.
    (l'intérêt de carré dans des carrés est discutable mais je dois me plier aux exigences concernant le modèle textuel)

    - les propriétés "Hide if Empty" sont toutes à false.
    - les propriétés "Can Collapse" sont toutes à false.

    => Malgré cela si je créé l'objet et ferme l'outil en sauvegarde le diagramme, au prochain chargement, les compartiments seront refermés (collapse alors que ils ne le devraient pas) et en les ouvrant les zones n'apparaitront pas. Seul solution, ajouter un objet et pouf par miracle les zones réapparaissent toutes.

    Ci joint une image de l'objet pour une meilleur compréhension.


    Merci d'avance de vos réponses.

  2. #2
    Membre régulier Avatar de CORTEZ
    Profil pro
    Dev : Java/J2EE
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Dev : Java/J2EE
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 82
    Points
    82
    Par défaut
    bonjour Jean Pierre,
    est ce que t'est sûre que t' as bien sérialiser les compartiments dans le fichier diagram_file ?
    parce que il semble que vous avez codé l'ajout des compartiment manuellement.
    si c'est le cas il faut chercher une solution pour les sérialiser sinon, c'est le problème classique des layouts.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Points : 23
    Points
    23
    Par défaut
    Je penche plus pour le fameux "problème classique des Layouts" mais si tu pouvais m'en dire plus

  4. #4
    Membre régulier Avatar de CORTEZ
    Profil pro
    Dev : Java/J2EE
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Dev : Java/J2EE
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 82
    Points
    82
    Par défaut
    Bonjour jean pierre,
    Personnellement je travaille avec GMF seulement avec le code source, c'est pour cela toutes les solutions que je vais proposer sont avec du code.

    T'as indiqué que t'as 4 compartiments donc, pour chaque compartiment, tu dois récupérer la classe associée.
    exemple :
    Aller à la classe nomduComposantGraphiqueShapesCompartmentEditPart
    Dans la méthode publique IFigure createFigure();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public IFigure createFigure() {
    	ResizableCompartmentFigure result = 
    		(ResizableCompartmentFigure) super.createFigure();
    	result.setTitleVisibility(false);
    	return result;
    }
    Ajoute les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	result.setMinimumSize(new Dimension(400, 500));
    	result.setExpanded();
    	result.setLayoutManager( new ConstrainedToolbarLayout() );

    et dans la classe nomDeComposantGraphiqueEditPart
    tu ajoute le layout du conteneur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected IFigure setupContentPane(IFigure nodeShape) {
    		if (nodeShape.getLayoutManager() == null) {
    			ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
     
    			layout.setStretchMajorAxis(true);
    			layout.setSpacing(5);
    			nodeShape.setLayoutManager(layout);
     
    		}
    		return nodeShape; // use nodeShape itself as contentPane
    	}
    ici le stack layout est layout qui va organiser les figures en comme dans votre image.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    protected NodeFigure createNodeFigure() {
    		NodeFigure figure = createNodePlate();
    		figure.setLayoutManager(new StackLayout());
    		IFigure shape = createNodeShape();
    		figure.add(shape);
    		contentPane = setupContentPane(shape);
    		return figure;
    	}
    Je pense que ça devrait marcher.
    si c'est pas le cas met le code source et on va voir ou est le problème.
    Cordialement,
    --Cortez

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Points : 23
    Points
    23
    Par défaut
    Désolé mais cela n'a eu aucun effet.

    Je précise autre chose que je viens de remarquer. Il me suffit de lancer une autre instance d'un objet (soit ajouter un objet à mon conteneur soit créer un autre conteneur) puis de fermer le diagramme et de le relancer sans quitter l'application GMF pour que tous les compartiments se réouvrent et tout soit nikel.

  6. #6
    Membre régulier Avatar de CORTEZ
    Profil pro
    Dev : Java/J2EE
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Dev : Java/J2EE
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 82
    Points
    82
    Par défaut
    bon pour bien comprendre le problème met deux
    la première ce que vous avez comme résultat et l'autre le résultat souhaité.
    aussi j'ai besoin
    - le code de createFigure
    - le code de setupContentPane
    - le code de createNodeFigure

    indiquer sur la première image quelles sont les compartiments fermés.
    espérant qu'on peut résoudre le problème.

  7. #7
    Membre averti Avatar de Aurelien Pupier
    Homme Profil pro
    Senior Software Engineer
    Inscrit en
    Décembre 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Senior Software Engineer

    Informations forums :
    Inscription : Décembre 2007
    Messages : 278
    Points : 369
    Points
    369
    Par défaut
    Bonjour,

    C'est sûrement un effet de ce bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=281014

    Il y a des workarounds dans les commentaires.
    Aurélien Pupier
    Eclipse GMF-Runtime Committer
    R&D Eclipse Engineer, Studio Project Leader
    BonitaSoft S.A.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Nbr de chargement des fichiers des <link>
    Par durand2504 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 14/03/2006, 10h43
  2. Détecter la fin du chargement des images
    Par GregPeck dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/02/2006, 21h18
  3. [FLASH 8] Chargement des images d'un repertoire
    Par PrinceMaster77 dans le forum Flash
    Réponses: 1
    Dernier message: 18/01/2006, 20h30
  4. Chargement des drivers access via ODBC sous Qt 3
    Par Higestromm dans le forum Bases de données
    Réponses: 10
    Dernier message: 09/01/2006, 14h30
  5. Temps de chargement des applications .NET
    Par kamal101 dans le forum Visual Studio
    Réponses: 3
    Dernier message: 17/11/2005, 09h11

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