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

BOUML Discussion :

[bug]Diagramme de classe : redimensionnement des classes (Bouml v4.22.2)


Sujet :

BOUML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [bug]Diagramme de classe : redimensionnement des classes (Bouml v4.22.2)
    Bonjour,

    J'ai eu quelques bugs avec le redimensionnement des classes. On peut étirer une classe en longueur ou en hauteur dans le diagramme de classe. À un moment ça s'est mit à déconner. Lorsque je supprimais une propriété, la classe retournait à sa taille la plus petite. Ça m'est aussi arrivé en rajoutant une association entre deux classes et aussi après enregistrement du projet, à la réouverture la classe avait repris sa taille minimale.


    Dans le dernier cas voilà comment ça se passe :


    En partant d'une classe redimensionnée(1), je réduis la hauteur jusqu'à la limite(2). J'enregistre le projet. Je le ferme et le relance. La classe est devenue toute petite. Si une fois arrivé à la hauteur minimale je l'agrandis de nouveau sans relâcher le bouton de la souris et que j'enregistre, même chose. Par contre si après avoir fait l'une des deux manipulations je redimensionne la classe sans atteindre la limite, l'enregistrement se fait correctement. Donc le relâchement de la souris n'est peut-être pas pris en compte à un moment.


    Pour l'association entre deux classes le redimensionnement se fait tout de suite sans enregistrer et ré-ouvrir le projet.

    On réduit une classe à sa taille minimale(2) puis on fait l'association (3). Cette fois si on continue de redimensionner sans relâcher le bouton de la souris, la classe ne change pas de taille lorsqu'on ajoute l'association. C'est le même cas pour la suppression d'une propriété.


    Je ne sais pas si c'est voulu, mais lorsqu'on redimensionne vers la droite, vers le bas ou en diagonale dans ces deux sens, la classe se met à se déplacer lorsqu'elle a atteint sa taille minimale.


    Un autre problème avec le redimensionnement, c'est l'impossibilité de faire une association droite à partir d'une certaine distance si une classe est étirée en longueur :

    La flèche vient se mettre sur le côté de la classe.


    Il y a des comportements bizarres avec le zoom, ce qui oblige à faire son diagramme à la même taille en général. Une flèche qu'on pense avoir fait droite l'est moins si on recule.

    (D'ailleurs ça serait pratique d'avoir une fonction géométrie comme pour les coudes et les zigzags pour la mettre droite.)
    Ou bien elle se déplace lorsqu'on zoome un peu trop

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Bonjour,
    Citation Envoyé par Caius_Pupus Voir le message
    En partant d'une classe redimensionnée(1), je réduis la hauteur jusqu'à la limite(2). J'enregistre le projet. Je le ferme et le relance. La classe est devenue toute petite.
    ...
    Pour l'association entre deux classes le redimensionnement se fait tout de suite sans enregistrer et ré-ouvrir le projet.
    effectivement

    Une classe a soit sa taille théorique (liée au membre et à leur affichage), soit une taille manuelle liée à un agrandissement manuel. Si à partir d'une taille manuelle vous diminuez la taille jusqu'à la taille minimale alors la classe suit de nouveau sa taille théorique. Il y a visiblement un bug et dés que la classe retrouve sa hauteur minimale je considère qu'elle a repris sa taille théorique (ce problème n'existe pas si la classe à sa largeur minimale)

    L'ajout d'une relation n'est qu'un cas ou la classe est modifiée, et toute modification implique de recalculer la taille le problème liée au bug.

    Je vais corriger cela pour la 4.23

    Je ne sais pas si c'est voulu, mais lorsqu'on redimensionne vers la droite, vers le bas ou en diagonale dans ces deux sens, la classe se met à se déplacer lorsqu'elle a atteint sa taille minimale.
    ce n'est pas voulu, c'est juste une conséquence de l'implémentation, je vais voir si je peux changer cela pour la 4.23

    Un autre problème avec le redimensionnement, c'est l'impossibilité de faire une association droite à partir d'une certaine distance si une classe est étirée en longueur...La flèche vient se mettre sur le côté de la classe.
    La position de départ de la flèche est calculée sans tenir compte du fait qu'il y a dé-centrage à l'arrivé, plus les deux classes sont proches plus cela est visible. Pour résoudre cela il faut aussi décentrer la flèche sur la classe de départ.

    Il y a des comportements bizarres avec le zoom
    Le zoom est un vrai problème, je ne peux pas utiliser le zoom de Qt sinon les traits de largeur 1 disparaissent plus ou moins avec un zoom inférieur à 100%

    Je dois donc traiter le zoom moi même, et le problème c'est que toutes les taille de polices de caractères n'existent pas. Je demande donc la police la plus proche de ce qui est voulu puis je calcule les tailles des objets en fonction. En dehors de cela dans Qt il y a gros mélange entre les flottants et les entiers, par exemple un rectangle à une position en entier et une taille en entier gros problème d'approximation en fonction du zoom. Pour qu'un trait entre deux éléments aligné produise une ligne droite je force les éléments à avoir une taille impaire, mais cela bien-sûr quelque soit le zoom autre petit décalage.

    Ce qui est terrible avec les traits (quasi) verticaux / horizontaux c'est qu'il suffit d'une erreur d'un pixel sur le positionnement d'une des extrémités pour que cela ce voit

    (D'ailleurs ça serait pratique d'avoir une fonction géométrie comme pour les coudes et les zigzags pour la mettre droite.)
    je vais y réfléchir, sans doute plus facile à dire qu'à faire
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par bruno_pages Voir le message
    La position de départ de la flèche est calculée sans tenir compte du fait qu'il y a dé-centrage à l'arrivé, plus les deux classes sont proches plus cela est visible. Pour résoudre cela il faut aussi décentrer la flèche sur la classe de départ.
    Je n'ai pas compris si je pouvais mettre le départ de la flèche en dessous de la classe. Je ne vois que l'ancre au bout de la flèche pour la manipuler, et elle est bloquée sur le côté de la classe. Impossible de lui faire quitter ce côté.



    Citation Envoyé par bruno_pages Voir le message
    Ce qui est terrible avec les traits (quasi) verticaux / horizontaux c'est qu'il suffit d'une erreur d'un pixel sur le positionnement d'une des extrémités pour que cela ce voit

    je vais y réfléchir, sans doute plus facile à dire qu'à faire
    Oui j'imagine. C'est juste que lorsqu'on enregistre alors que le trait est droit, à l'ouverture on le retrouve souvent décalé, et je tâtonne à chaque fois pour trouver une position où il restera en place.

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Citation Envoyé par bruno_pages Voir le message
    Je vais corriger cela pour la 4.23
    la 4.23 ultimate est disponible
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci.

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

Discussions similaires

  1. Bug Visual studio, plus accès à des classes de App_code
    Par tortuegenie dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/05/2008, 10h26
  2. Réponses: 2
    Dernier message: 20/02/2007, 22h26
  3. [c#] Utiliser des classes ou des tableaux ?
    Par dysko dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/02/2007, 12h22
  4. difference des classes et des ids en css?
    Par darkbob dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 25/07/2006, 16h08
  5. Réponses: 9
    Dernier message: 25/09/2005, 17h33

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