Précédent   Forum des professionnels en informatique > Général Développement > Conception > Outils > BOUML
BOUML Forum d'entraide sur l'outil UML 2 BOUML : modélisation, générateurs, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/07/2006, 10h42   #1
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Par défaut [BOUML]Un modeleur UML gratuit pour Windows, Linux et Mac OS X

BOUML est une boite à outils UML gratuite récente pour Linux Windows et MacOS X écrite en C++ au dessus de Qt.

BOUML est très rapide et peu gourmand en mémoire (voir http://bouml.free.fr/index_benchmark.html), et le reverse Java de l'ensemble des sources d'une JDK (java, javax, com ...) ne lui fait pas peur !

BOUML est composé du modeleur lui meme, et d'une série de programmes externes (appelés plug-out) pouvant etre écrits en C++ ou en Java (pas en Visual Basic, ouf !). N'importe quel utilisateur peux écrire un plug-out réalisant par exemple son design pattern favori, l'API fournie réalisant les échanges nécessaires avec le modeleur. Un plug-out étant un programme comme un autre est bien-sur défini avec BOUML.

Les principaux plug-out contenus dans BOUML sont actuellement :
  • générateur C++, Java et IDL
  • reverse C++ et Java
  • Java catalog, pour aisément ajouter au modèle des classes de la JDK ou d'une autre bibliothèque, par exemple personnelle
  • générateur de document HTML, celui-ci est donné comme exemple de projet produisant simultanément une définition en C++ et en Java
  • générateur XMI
  • générateur de state machine, modifiant le modèle pour ajouter/mettre à jour les classes réalisant la machine à état
  • import de projet Rose, hors diagramme dans la version actuelle
  • gestion de fichier, pour gérer les fichiers de vos projets avec CVS, Clear case ou autre gestionnaire
  • génération de fichier pro utilisés par qmake pour produire des Makefile.
BOUML est en cours de développement, la dernière version est la 2.16.

BOUML et sa documentation sont disponibles sur http://bouml.free.fr

Joyeuse modélisation
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 00h34   #2
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Par défaut Bouml 2.17

Bouml 2.17 est disponible sur le site, la principale modification est l'ajout des activités et diagramme d'activité.

Bonnes modélisations
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 23h51   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 4
Points : 4
Points : 4
Hi

I have a little question concerning the code generation of bouml. As I understood the code generation facility in the "Java" tab of an association, there is no possibility to get the opposite roles name, type, multiplicity and so on. Is this right or did I overlook something?
I want to know this, because I want to implement e.g. a bidirectional 1:1 association in such a way:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
private T1 t1;
  
     public T1 getT1()
     {
        return this.t1;
     }
  
     public boolean setT1(T1 value)
     {
        boolean changed = false;
        if (this.t1 != value)
        {
           T1 oldValue = this.t1;
           
           if (this.t1 != null)
           {
              this.t1 = null;
  	      //@TODO get the opposite roles name
              oldValue.set_ (null);
           }
           this.t1 = value;
           if (value != null)
           {
  	     //@TODO get the opposite roles name
              value.set_ (this);
           }
           changed = true;
           
        }
        return changed;
     }
As you can see, in that implementation, it is essential to know the whole association.
stmaassen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 08h35   #4
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Hi
Citation:
Envoyé par stmaassen
As I understood the code generation facility in the "Java" tab of an association, there is no possibility to get the opposite roles name, type, multiplicity and so on... I want to implement e.g. a bidirectional 1:1 association
I am not sure to understand you, if you want to have a bidirectional relation ... do a bidirectional association, after that what means get the opposite role name etc ? : they are know by you because you define them

Example :
bidir_diag.PNG

bidir_edit1.PNG

bidir_edit2.PNG

Bruno
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 21h22   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 4
Points : 4
Points : 4
Citation:
Envoyé par bruno_pages
Hi

I am not sure to understand you, if you want to have a bidirectional relation ... do a bidirectional association, after that what means get the opposite role name etc ? : they are know by you because you define them
Yes, you're right, if you look only at the graphics. But my problem arises, when it comes to source code generation.
It's right, that in you're example, the members T1.t2 and T2.t1 are correctly generated in each class. But, there's no possibility (if I didn't overlook something) to navigate the association to the other end. If you take a closer look to the example source code from me, you see in the set-method, that one instance of an object automatically registers itself to the associated object. In your case of T1.t2 and T2.t1, my version of the setter-method would look something like this:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class T1
{
   private T2 t_2;

    public void setT2(T2 t2)
    {
        this.t_2=t2;
        t_2.setT1(this); // possible to generate automatically?
    }
}

public class T2
{
   private T1 t_1;

    public void setT1(T1 t1)
    {
        this.t_1=t1;
        t_1.setT2(this); // possible to generate automatically?
    }
}
So, your tool works very, very fine, until it comes to "t1.setT2(this)".(the correct implementation of the method can be seen in my first post in this thread) Since the association is not navigable in the default template(or in this case, there are no variables with the appropriate content or I overlook something), that line of content can't be generated, which I want to.
And my question is simply: is my assumption right or did I overlook something concerning the code generation?
stmaassen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 22h24   #6
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Bouml can't itself solve your problem : contrarily to you (I Hope ) it can't know the history of the two instances (when their are created or deleted, and in which order), it can't know which constructor must be used to create them etc ...
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 23h16   #7
Invité de passage
 
Inscription : octobre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 4
Points : 4
Points : 4
For sure it works in such a way, since fujaba (fujaba.de) already has generated source files according to that implementation. But since it has no jdk1.5 support nor UML2 support, I'm trying to switch to another tool.
You don't need to know history or constructors or so, since you are working directly on already instantiated objects.
stmaassen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 09h04   #8
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Citation:
Envoyé par stmaassen
You don't need to know history or constructors or so, since you are working directly on already instantiated objects.
I don't agree :
  • may be the association have to be done when the objects are created, in this case you have to know the order and when
  • in language allowing to delete instances you must know when at least one of the two objects is deleted to break the association

anyway you may change your implementation like this to allow to do the association in any order :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class T1
{
   private T2 t_2;

    public void setT2(T2 t2)
    {
        if (this.t_2 != t2) {
           this.t_2=t2;
           t_2.setT1(this);
        }
    }
}

public class T2
{
   private T1 t_1;

    public void setT1(T1 t1)
    {
        if (this.t_1 != t1) {
          this.t_1=t1;
          t_1.setT2(this);
        }
    }
}
So I insist : there is not only one way to manage bidirectional relation, and I consider you must be able to choose one rather than to undergo the choice of a modeller.

The good news is : Bouml is extensible through the plug-outs, this allows you to write something like a design pattern managing bidirectional relations to automatically add the two setX operations with the definition you want
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 09h28   #9
Invité de passage
 
Inscription : octobre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 4
Points : 4
Points : 4
Citation:
Envoyé par bruno_pages
The good news is : Bouml is extensible through the plug-outs, this allows you to write something like a design pattern managing bidirectional relations to automatically add the two setX operations with the definition you want
Yeah, already thought about that, but was hoping, that I overlooked some possibilites in the default template. Thank you very much for your efforts.

Sincerely,
Stefan
stmaassen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2006, 17h28   #10
Invité de passage
 
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 4
Points : 4
Par défaut Pb configuration du générateur java

Bonjour
j'éprouve quelques difficultés à générer du code java.
Et ce, principalement sur les nom des méthodes.
Par exemple, pour une attribut toto, je souhaite générer les getter et setter suivants getToto() et setToto(), cad avec la premier lettre de l'attribut en majuscule.
est-ce possible ?
pej80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2006, 18h55   #11
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Bonjour,

Citation:
Envoyé par pej80
pour une attribut toto, je souhaite générer les getter et setter suivants getToto() et setToto(), cad avec la premier lettre de l'attribut en majuscule.
Deux possibilités :
  1. pour suivre la règle juste dans quelques cas particuliers : après avoir choisi add get and set operations sur le menu de l'attribut dans le browser, tu edites l'opération qui par defaut s'appelle get_toto, tu vas dans le tab Java et tu changes Name form pour avoir get${Name}. Procéder de la même façon pour le set.
  2. Pour suivre cette règle par défaut et ne pas avoir à refaire cela à chaque fois : avant d'ajouter les get&set tu edites les generation settings , tu vas dans le tab Java[2] et tu changes la definition par defaut de get pour avoir get${Name} et celle de set pour avoir set${Name}, puis Ok. Tu peux alors faire les add get and set operations.

${name} est remplacé par le nom Uml de l'attribut
${Name} est remplacé par le nom Uml capitalisé de l'attribut
${NAME} est remplacé par le nom Uml en majuscule de l'attribut

Note : le nom Uml des opérations est toujours get_toto et set_toto ( de même en C++ et Idl sauf contre ordre), mais le code généré pour Java est bien celui voulut, évidemment tu peux aussi changer le nom Uml en getToto et setToto
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 09h24   #12
Invité de passage
 
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 4
Points : 4
Ok, c'est parfait !

Une deuxième question pour un pb qui me résiste ...
comment changer le nom d'une variable dans mon setter ?
Dans la fenêtre Edit de mon opération "+o set_Toto"
Dans le permier onglet "UML"
Dans la partie "parameters", je vois bien le paramètre généré (direction : in / Name : value / Type : xxx) mais comme la cellule "name" est grisé donc je ne peux pas modifier le nom du paramètre en "toto". Est-ce normal ? je vois bien le lien avec la variable {p0} pour la génération, mais je ne vois pas à quel moment je peux jouer dessus ... j'ai peur (enfin, peur, le mot est un peu fort) de ne pas pouvoir renommer le paramètre, ai-je raison ?

en tout ca, bravo pour ton soft. C'est tout simplement géant. En plus il a l'avantage d'avoir une partie graphique simple et efficace. Les objets se placent bien ou l'on veut
pej80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 11h17   #13
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Citation:
Envoyé par pej80
comment changer le nom d'une variable dans mon setter ?
... j'ai peur (enfin, peur, le mot est un peu fort) de ne pas pouvoir renommer le paramètre, ai-je raison ?
oui tu as raison, tu ne peux pas renommer le paramètre, ni changer son type ou sa direction, ni le détruire ou en ajouter d'autres.

Note 1: si l'attribut ou le role de la relation sur lequel le setter est défini s'appelle value le parametre s'appelera new_value au lieu de value

Note 2 : si l'attribut ou le role de la relation sur lequel le setter est défini sont modifiés les getter/setter sont automatiquement modifiés eux aussi ... sauf que si la modification fait passer leur nom à celui du paramètre ce dernier n'est pas modifié , je vais corriger cela

Note 3 : il est bien évident que les getter et setter pouraient tout aussi bien être produits pas un plug-out laissant libre choix sur leur definition, mais dans ce cas il faudrait ne pas oublier de remettre à jour leur definition lorsque l'attribut/role de la relation sur lequel ils portent est modifié.

Citation:
Envoyé par pej80
en tout ca, bravo pour ton soft. C'est tout simplement géant. En plus il a l'avantage d'avoir une partie graphique simple et efficace. Les objets se placent bien ou l'on veut
merci
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 14h58   #14
Invité de passage
 
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 4
Points : 4
Par défaut pb de BOUML_ID

après moultes recherches, je donne ma langue au chat
Ou faut-il modifier ou renseigner le BOUML_ID afin de ne plus avoir l'erreur au démarrage ?
Que se passera-t-il si plusieurs personnes utilisent le même ID sur le même projet ?

sinon une suggestion :
Les fenetres de dialogue s'ouvrent en tant que fenêtres indépendantes.
Ne sera-t-il pas possible de les reconsidérer en fenêtres-filles de l'appli ? (pour qu'elles soient automatiquement centrées et que le swap entre applications ALT+TAB ne soient pas trop embettant)

Bon, je continue à tester ...
... ca ne plante pas et c'est vraiment agréable à utiliser !
J'ai l'impression que ton soft va gagner à etre connu
pej80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 15h59   #15
Membre émérite
 
Avatar de yann2
 
Inscription : mai 2004
Messages : 751
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mai 2004
Messages : 751
Points : 901
Points : 901
Citation:
Envoyé par pej80
après moultes recherches, je donne ma langue au chat
Ou faut-il modifier ou renseigner le BOUML_ID afin de ne plus avoir l'erreur au démarrage ?
Que se passera-t-il si plusieurs personnes utilisent le même ID sur le même projet ?

sinon une suggestion :
Les fenetres de dialogue s'ouvrent en tant que fenêtres indépendantes.
Ne sera-t-il pas possible de les reconsidérer en fenêtres-filles de l'appli ? (pour qu'elles soient automatiquement centrées et que le swap entre applications ALT+TAB ne soient pas trop embettant)

Bon, je continue à tester ...
... ca ne plante pas et c'est vraiment agréable à utiliser !
J'ai l'impression que ton soft va gagner à etre connu
Pour BOUML_ID, il faut la déclarée en variable d'environnement. La valeur doit être un entier entre 2 et 127 (http://bouml.free.fr/doc/starting.html).

Pour le succès de BOUML je suis plus mitigé. Je l'utilise essentiellement pour de la documentation car il est vraiment plus rapide que les autres modeleurs. Par contre je ne serais pas contre plus de docs pour faire des plug-outs et rendre mes modèles réalisés avec BOUML exploitable.
yann2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 16h36   #16
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Citation:
Envoyé par yann2
Pour BOUML_ID, il faut la déclarée en variable d'environnement. La valeur doit être un entier entre 2 et 127 (http://bouml.free.fr/doc/starting.html).
oui, et si tu sais pas comment définir une telle variable va voir le chapitre Miscellaneous de la doc.

Citation:
Envoyé par pej80
Que se passera-t-il si plusieurs personnes utilisent le même ID sur le même projet ?
Comme il est dit dans la doc (chapitre Multi user considerations) cela va très mal se passer si vous êtes à plusieurs sur le même projet, BOUML_ID est utilisé pour que les identificateurs internes soient uniques.

Citation:
Envoyé par yann2
Pour le succès de BOUML je suis plus mitigé. Je l'utilise essentiellement pour de la documentation car il est vraiment plus rapide que les autres modeleurs. Par contre je ne serais pas contre plus de docs pour faire des plug-outs et rendre mes modèles réalisés avec BOUML exploitable.
Je n'oblige personne à utiliser Bouml, j'ose cependant affirmer que la prestation est supérieure à son prix ... je ne vais quand même pas dire que Bouml est nul

Blague à part BOUML est déjà pas mal utilisé et ceci dans le monde entier, tout OS confondu il est téléchargé plus de 130 fois par jour (280 pour la 2.17), la 2.16 a été prise plus de 7200 fois. BOUML est utilisé dans de nombreuses écoles et universités du monde entier, dans des sociétés y compris le NASA Ames Research Center ... bref je ne suis pas d'accord avec toi yann2

Pour le reste il y a déjà un tutoriel in English décrivant complètement comment trier les éléments dans le browser, je vais le traduire en Français et le mettre parmis les tutoriels de developpez.com. Aujourd'hui je commence à traduire le tutoriel sur Bouml lui même et je ferai d'autres tutoriels au fil de l'eau. Sinon il y a un peu de doc sur les plug-outs dans le chapitre plug-outs de la doc de ref, et l'API des plug-outs est auto documentée, pour en avoir une version HTML tu charges le plug-out empty, tu sauves la chose comme il te le demande, puis tu génères la doc HTML à partir de la racine. Je conviens que ce n'est pas parfait, je fais ce que je peux, j'ai par ailleurs un travail, d'autres occupations personnelles ... et une chatte caline !
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 16h44   #17
Membre émérite
 
Avatar de yann2
 
Inscription : mai 2004
Messages : 751
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mai 2004
Messages : 751
Points : 901
Points : 901
Citation:
Envoyé par bruno_pages
Je n'oblige personne à utiliser Bouml, j'ose cependant affirmer que la prestation est supérieure à son prix ... je ne vais quand même pas dire que Bouml est nul .

Pour le reste il y a déjà un tutoriel in English décrivant complètement comment trier les éléments dans le browser, je vais le traduire en Français et le mettre parmis les tutoriels de developpez.com. Aujourd'hui je commence à traduire le tutoriel sur Bouml lui même et je ferai d'autres tutoriels au fil de l'eau. Sinon il y a un peu de doc sur les plug-outs dans le chapitre plug-outs de la doc de ref, et l'API des plug-outs est auto documentée, pour en avoir une version HTML tu charges le plug-out empty, tu sauves la chose comme il te le demande, puis tu génères la doc HTML à partir de la racine. Je conviens que ce n'est pas parfait, je fais ce que je peux, j'ai par ailleurs un travail, d'autres occupations personnelles ... et une chatte caline !
Ne t'inquiètes pas je ne trouve pas BOUML nul. Je l'utilise beaucoup d'ailleurs. J'ai déjà vu le tuto en English, mais je le trouve trop obscur. Pour toi ça parait certainement très clair mais pour moi, qui ne connait pas l'archi de BOUML, c'est plus difficile.

En tout cas merci pour le produit.
yann2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 20h37   #18
Rédacteur/Modérateur
 
Avatar de Matthieu Brucher
 
Matthieu Brucher
Développeur HPC
Inscription : juillet 2005
Messages : 9 607
Détails du profil
Informations personnelles :
Nom : Matthieu Brucher
Âge : 30
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur HPC
Secteur : Industrie

Informations forums :
Inscription : juillet 2005
Messages : 9 607
Points : 15 381
Points : 15 381
Est-ce qu'il est prévu de passer à une nouvelle version de Qt ?
Matthieu Brucher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 21h28   #19
Modérateur
 
Avatar de bruno_pages
 
Homme bruno pagès
Développeur informatique
Inscription : juin 2005
Messages : 2 969
Détails du profil
Informations personnelles :
Nom : Homme bruno pagès
Âge : 52
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2005
Messages : 2 969
Points : 4 572
Points : 4 572
Citation:
Envoyé par Miles
Est-ce qu'il est prévu de passer à une nouvelle version de Qt ?
Le passage à Qt 4 n'est pas encore d'actualité car il s'agit pas d'un "détail".

Il y a deux façon de "passer" à Qt 4 :
  • soit d'utiliser les classes de Qt 4, ce qui est à mon avis la vraie solution, mais cela veut purement et simplement dire refaire complètement l'IHM de Bouml, et reapprendre Qt y compris ses bugs et "particularités", travail que j'avais fait avec Qt 2 et 3 (Qt3 est compatible ascendant avec Qt2)
  • soit de tricher et d'utiliser ce qui reste des classes de Qt3 en Qt4 sachant que certaines on disparu. Par exemple les classes de Qt2&3 qui me permettent de gerer le browser de Bouml ont purement et simplement disparu en Qt4, et donc cette partie au moins est à reécrire. Quoi qu'en dise Trolltech Qt 4 est incompatible avec Qt 3, ce qui ne veut pas dire qu'ils ont fait ce choix pour de mauvaises raisons, et de toute facon je les remercie 1000 fois qu'avoir fait Qt.

Bref le jour ou je passerai Bouml en Qt4 cela me prendra pas mal de temps, cela introduira inevitablement des bugs, le tout pour aucune plus value du point de vue des utilisateurs de Bouml et encore là je suis optimiste et supose que cela ne posera pas des problèmes de compatibilité dans son utilisation...

En résume je ne suis donc pas démeusurément pressé de le faire ...

Pourquoi cette question ?
__________________
Bruno Pagès, auteur de Bouml, mes tutoriels sur DVP (vieux, non à jour)
bruno_pages est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 21h31   #20
Rédacteur/Modérateur
 
Avatar de Matthieu Brucher
 
Matthieu Brucher
Développeur HPC
Inscription : juillet 2005
Messages : 9 607
Détails du profil
Informations personnelles :
Nom : Matthieu Brucher
Âge : 30
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur HPC
Secteur : Industrie

Informations forums :
Inscription : juillet 2005
Messages : 9 607
Points : 15 381
Points : 15 381
Parce que j'aime énormément le look&feel Qt4 et que je cherche aussi un outil cross-platform par la même occasion.
C'est vrai que ce n'est pas compatible, mais beaucoup de choses ont été améliorées - par exemple plus de sécurité pour le travail sur les threads -. Si jamais il faut un coup de main pour le portage - en plus, ça pourrait faire l'objet d'un bon tuto de refactoring et Qt -
Matthieu Brucher est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h17.


 
 
 
 
Partenaires

Hébergement Web