Re: Nouveautés de la version de développement 0.7

oui, je voulais dire bash nomicons/pinch

Dans le temps qu'il me faut pour écrire une macro fonctionnelle pour convertir toute ma collection, j'aurais largement tout retapé à la main. Malheureusement c'est comme ca quand on programme pas tous les jours, il faut beaucoup de temps...
(il m'avait fallu 3 semaines pour écrire la macro qui fait les éléments nomenclature).

Question à Joshua :
si je veux passer à la v0.7 maintenant, est-ce que j'ai des précautions particulières à prendre ? Est-ce que l'éditeur d'éléments va me convertir certaines propriétés automatiquement ?
J'aimerais bien passer sur la v0.7 pour commencer à commenter le travail sur les textes dynamiques... et aussi bien sûr pour chipoter un peu nomicons/tongue

Re: Nouveautés de la version de développement 0.7

Nuri :
Non il n'y a pas de précaution particulière à prendre, la seul chose comme dit dans mon précédent post, c'est que les informations/données d'élément risque de pas mal bouger vue les demandes que vous m'avez faites et il y a aussi l'histoire des traductions (car pour bien faire, il faudrait rendre tout les textes traduisible, et il n'y a pas que les éléments qui sont concerné).
Donc ce morceau la peut être plus ou moins cassé en cours de dev, mais c'est tout. Pour résumer, comme d'habitude nomicons/smile.

Oui l'éditeur d'élément convertie déjà les anciens textes en texte dynamique, sauf les textes avec un tagg, mais je compte bien que eux aussi y passe à terme.

-La seconde étape : lors d'un drag/drop d'un élément sur un folio, convertir les champ texte présent dans la définition de l'élément en champ texte dynamique (totalement transparent pour l'utilisateur).

-la troisième étape : pour les éléments déjà présent sur un folio, convertir les anciens champs textes en champ texte dynamique (aussi totalement transparent pour l'utilisateur).

-Et l'étape final, supprimer le code des anciens textes.

Si vous avez bien suivi, cela veut dire, que même si vous créez 100 textes dynamiques dans l'éditeur d'élément, ce même élément une fois posé sur un folio peut avoir 0 texte dynamique si vous les supprimés, ou alors 200 si vous en rajoutez, bref l'utilisateur aura la total maîtrise des textes d'éléments.

À l'heure actuel, lors de la création d'un élément je vous conseil d'utiliser les nouveaux textes dynamique (mais il faudra quand même ajouter un ancien champ texte avec le tagg label) au lieu des anciens, pour les raisons suivantes :
-Il faut tester nomicons/devil
-À terme il n'y aura que des textes dynamique, donc ça évitera les conversions potentiellement hasardeuse.
-Si vous vous contentez de choisir comme source de texte "texte utilisateur", par définition ce "mode" n'est pas impacté par les information/donné d'éléments, donc ne devrais pas être cassé par la suite.

Développeur QElectroTech

Re: Nouveautés de la version de développement 0.7

Merci Joshua pour ces précisions.
Je ne pense donc pas que ce soit une bonne idée de passer à la v0.7 pour faire du productif. Comme tu le sinales, il risque d'y avoir pas mal de chamboulements à l'avenir car le système des textes dynamiques n'en est qu'à ses débuts.
Je vais donc installer la v0.7 dans un Ubuntu virtuel. Ca me permettra de suivre le développement sans risquer de perturber tout ce que j'ai mis en place depuis plus de 2 ans pour satisfaire les demandes de mon client.

Re: Nouveautés de la version de développement 0.7

FYI, le framework Qt 5.9.2 vient d’être finalisé https://blog.qt.io/blog/2017/10/06/qt-5-9-2-released/ cette LTS corrige de nombreux problemes.
Je viens de mettre à jour les bibliothèques Qt  pour les bundles macOS, pour les paquets Windows, l’environnement de cross-compilation a été entièrement recompilé et passe maintenant de la version de GCC 5.4.2 à la 7.2.0 et Qt en version 5.9.2.
Pour Debian Unstable il faudra attendre un peu que les paquets soient disponibles sur les dépôts Debian officiels pour mettre à jour les chroots de compilation.

D’après les recherches de Joshua, le bug des conducteurs fantômes et qui a nécessité de revoir pas mal de code serait fort probablement lié a un bug Qt, faudra étudier en profondeur le changelog Qt 5.9.2.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Nouveautés de la version de développement 0.7

Revision: 5073
Author:   blacksun
Date:     2017-10-09 18:05:19 +0200 (Mon, 09 Oct 2017)
Log Message:
-----------
Set the ItemIndexMethod of scene to NoIndex, according to some forum (Adress of forum are in the cpp file of this comit) they can be the sources of the crash occured by the conductor and shape "ghost".

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Nouveautés de la version de développement 0.7

scorpio810 wrote:

D’après les recherches de Joshua, le bug des conducteurs fantômes et qui a nécessité de revoir pas mal de code serait fort probablement lié a un bug Qt, faudra étudier en profondeur le changelog Qt 5.9.2.

Oui, voici les différents liens qui en parlent :
https://forum.qt.io/topic/71316/qgraphi … removeitem
https://stackoverflow.com/questions/384 … item-class
http://www.qtcentre.org/archive/index.php/t-33730.html
http://tech-artists.org/t/qt-properly-r … items/3063
Dans l'un des forums, il est clairement dit :

I had this issue and it was a real pain to fix it. Besides the crash, I was also having "guost" items appearing on the screen.

Plusieurs choix m'étaient disponibles, j'ai choisi celui qui me semblait le plus propre, c'est-à-dire d'appeler la méthode
SetItemIndexMethod avec comme argument "NoIndex" au lieu de "BspTreeIndex".
Actuellement, la correction est disponible uniquement sur la 0.7 dev.
Si il n'y a pas de retour négatif, la correction sera retro-portée sur la 0.6.
D'après la doc Qt, il ne devrait pas y avoir de ralentissements, voir peut-être même le contraire car "NoIndex" est plus adapté aux scènes avec des items qui sont souvent ajoutés, déplacés ou supprimés.
http://doc.qt.io/qt-5/qgraphicsscene.ht … ethod-enum

Développeur QElectroTech

Re: Nouveautés de la version de développement 0.7

Bien !
En espérant que ce soit vraiment la cause du problème.

Re: Nouveautés de la version de développement 0.7

@ Joshua : je viens de remarquer que les très très gros projets s'ouvrent maintenant presque instantanément une fois le chargement de tous les folios dans la progressbar, c'est bien plus rapide qu'avant.

Nuri : tu peux confirmer chez toi ?

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Nouveautés de la version de développement 0.7

@ scorpio810 :

je viens d'essayer avec mon plus gros projet (148 folios) sur une v0.7 compilée depuis le dernier trunk (svn5073) et, oui, j'ai l'impression que le chargement va un peu plus vite.
Mais j'ai toujours une petite phase de "freeze" (Ubuntu grise la fenêtre comme si elle ne donnait pas de réponse) de 3 ou 4 secondes juste après le chargement de tous les folios.
Mais si je me souviens bien, à l'époque où je bossais sur ce projet, la phase de "freeze" était assez longue. Peut-être 8 ou 10 secondes, ou peut-être plus, me rappelle plus trop.

scorpio810 wrote:

Pour Debian Unstable il faudra attendre un peu que les paquets soient disponibles sur les dépôts Debian officiels pour mettre à jour les chroots de compilation.

Est-ce que cela signifie que mon appréciation du temps de chargement plus rapide est bidon ?!?
Je suis toujours sur Ubuntu 16.04, donc à priori sur une base Debian Unstable, donc j'ai pas profité de ton upgrade de la version Qt ?
Ai-je bien compris nomicons/alien ?
nomicons/wassat

Re: Nouveautés de la version de développement 0.7

@ Nuri : l'upgrade Qt ne profite pour l'instant qu'a ceux sous macOS ou Windows.
De plus même quand je ferai les premiers builds pour Debian unstable avec Qt 5.9.2 tu ne pourras point en profiter.
Et oui ! à moins de bricoler ta 16.04 avec des PPA exotiques ou compiler Qt et QET ...la 16.04 c'est du Qt 5.5.1 ... nomicons/shocked
https://packages.ubuntu.com/xenial/qt5-default


Est-ce que cela signifie que mon appréciation du temps de chargement plus rapide est bidon ?!?

Non, au contraire le dernier commit de Joshua booste pas mal QET.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Nouveautés de la version de développement 0.7

@ scorpio810 :
j'avais compris que l'amélioratino de la vitesse de chargement était liée à l'upgrade de Qt. Visiblement ce sont 2 choses distinctes.

@Joshua :
j'ai fait quelques essais avec une v0.7 compilée (mieux qu'en Ubuntu virtuel) des champs de texte dynamiques. Miam, miam... ca donne faim, et plein d'idées surtout !
La première :
est-ce compliqué de rajouter la position X et Y du texte (relativement au hotspot de l'élément: X=0 et Y=0 signfie qu'on est sur le hotspot) en pouvant les régler avec ce widget incrémenteur/décrémenteur ?
L'idéal serait au pixel près.

https://download.qelectrotech.org/qet/forum_img/nuri_textes_dyn_position.png

Re: Nouveautés de la version de développement 0.7

Nuri wrote:

@ scorpio810 :

Mais j'ai toujours une petite phase de "freeze" (Ubuntu grise la fenêtre comme si elle ne donnait pas de réponse) de 3 ou 4 secondes juste après le chargement de tous les folios.

Testé pour l'instant sur Win 7, Win 10, macOS pas de petite phase de freeze.
Essayes avec une VM Windows.nomicons/whistling

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Nouveautés de la version de développement 0.7

scorpio810 wrote:

Testé pour l'instant sur Win 7, Win 10, macOS pas de petite phase de freeze.
Essayes avec une VM Windows.

Je confirme : la petite phase de freeze est absente.
Testé sous Win10 virtuel.

Re: Nouveautés de la version de développement 0.7

En fait le freeze, correspond à la mise en place des Xref.
Le dialogue avec la barre de progression affiche uniquement le chargement des folios, une fois à 100%, les Xref ne sont pas encore crée.
J'avais regardé pour afficher ça dans la barre de progression, mais ça demandais quelque remaniement que j'ai préférer repoussé, et le multithreading un énorme travaille.

Il est possible que le freeze soit plus court avec le ItemIndexMethod réglé à "NoIndex" au lieu de "BspTreeIndex" (je vous laisse juger le avant/après).
À noter que le temps de freeze est proportionnel à la taille du projet.

Développeur QElectroTech

Re: Nouveautés de la version de développement 0.7

Joshua wrote:

À noter que le temps de freeze est proportionnel à la taille du projet

Ca c'est clair, j'avais déjà remarqué. Ca peut durer parfois jusqu'à dans les 10 secondes. Mais bon, pas grave.

Et l'idée des X et Y pour les champs dynamiques ?

Re: Nouveautés de la version de développement 0.7

Nuri wrote:

Et l'idée des X et Y pour les champs dynamiques ?

Oui y'a pas de problème nomicons/smile

Développeur QElectroTech

Re: Nouveautés de la version de développement 0.7

super !
J'essaierai de développer mes idées dans un pdf.

Re: Nouveautés de la version de développement 0.7

Apres pas mal d'essais et de très longues heures  de compilation dans l’environnent de cross-compil , je peux maintenant vous proposer pour ceux que ça intéressent, des paquets Qt 5.7.1 compatibles pour Windows XP et Vista (32/64 bits) version installer et ReadyToUse de la version 0.7-dev.

https://download.qelectrotech.org/qet/b … _XP_VISTA/

Enjoy ! nomicons/smile

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Nouveautés de la version de développement 0.7

Mise à jour du premier post :

Éditeur de diagrammes :
Lors d'un glisser/déposer d'un élément depuis la collection d'éléments vers le folio, tous les "anciens" textes sont convertis en texte dynamique.
Lors de l'ouverture d'un projet, tout les "anciens" textes d'éléments, des éléments déjà présents sur les folios sont convertis en texte dynamique.
À noter que pour les deux cas, tout est automatique, l'utilisateur n'a rien à faire.
À l'heure actuelle, seul les textes ne comportant pas de tagg sont convertis.

Étant donné que les conversions d'une chose en une autre, n'est jamais sans risque. Je conseille à tout le monde de faire une copie de leurs projets, avant de faire une sauvegarde avec la version de QET, qui apporte cette modification.
N'hésitez pas à rapporter tous problèmes rencontrés suite à ça.

Développeur QElectroTech

Re: Nouveautés de la version de développement 0.7

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

71 (edited by javdenech 2017-10-20 13:03:30)

Re: Nouveautés de la version de développement 0.7

Salut 0.7 dev 5083
le texte / sur les renvois de folio n'est plus remplacé par la crossref

Re: Nouveautés de la version de développement 0.7

Salut,

effectivement le texte par défaut "/ " est conservé même lorsque les renvois viennent d’être liés, merci du retour.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

73 (edited by Joshua 2017-10-21 14:17:27)

Re: Nouveautés de la version de développement 0.7

Oui, j'ai repéré le problème (sans même ouvrir le code nomicons/cool ), quand les taggs de textes sont arrivés dans QET, tous les éléments de la collection officielle n'ont pas été taggé (vous imaginez le nombre d'éléments à se tapper à la main...) du coup pour palier à ça, quand on dépose un élément qui n'a pas de texte avec le tagg "label", on prend le premier texte de l'élément et on lui assigne d'office le tagg "label", c'est le cas pour les reports de folios......
Et comme maintenant, les textes sans tagg sont convertis en texte dynamique, vous connaissez la suite.....
Je regarde pour corriger ça le plus rapidement possible.

Il y a longtemps que je voulais faire un truc, mais ce coup-ci, il va falloir le faire :
Dans l'éditeur d'élément créer une fonction qui met à jours tout un répertoire d'éléments, afin que ceux-ci soient conformes avec les dernières spécifications.
Cela évitera un travail toujours plus long (la collection s'agrandit sans cesse) de mise à jours "à la main".

Développeur QElectroTech

74 (edited by Joshua 2017-10-21 14:08:10)

Re: Nouveautés de la version de développement 0.7

Le commit N°5084 règle (normalement) le problème.

Développeur QElectroTech

Re: Nouveautés de la version de développement 0.7

Joshua wrote:

Oui, j'ai repéré le problème (sans même ouvrir le code nomicons/cool ), quand les taggs de textes sont arrivés dans QET, tous les éléments de la collection officielle n'ont pas été taggé (vous imaginez le nombre d'éléments à se tapper à la main...) du coup pour palier à ça, quand on dépose un élément qui n'a pas de texte avec le tagg "label", on prend le premier texte de l'élément et on lui assigne d'office le tagg "label", c'est le cas pour les reports de folios......
Et comme maintenant, les textes sans tagg sont convertis en texte dynamique, vous connaissez la suite.....
Je regarde pour corriger ça le plus rapidement possible.

Il y a longtemps que je voulais faire un truc, mais ce coup-ci, il va falloir le faire :
Dans l'éditeur d'élément créer une fonction qui met à jours tout un répertoire d'éléments, afin que ceux-ci soient conformes avec les dernières spécifications.
Cela évitera un travail toujours plus long (la collection s'agrandit sans cesse) de mise à jours "à la main".

Clair ! mais a la main est un grand mot  nomicons/smile , le plus rapide étant l'ajout du tag UUID sur toute la collection, le plus long aura été d’étudier et d'écrire le script.


#!/bin/bash
# This script unpretentious add attribut "uuid" in all .elmt files folder.
#
# need packages : sed, uuid-runtime, find
 
find . -type f -name "*.elmt" -exec sh -c 'UUID="$(uuidgen | awk '"'"'{print toupper($0)}'"'"')" ; sed -i '"'"'s#\(\).*\(<names>\)#\1'"'"'"<uuid uuid=\"{$UUID}\"/>"'"'"'\2#'"'"' "{}"' \;
 


Pour les labels ça à été aussi automatisé en grande partie, seuls une centaine d’éléments ont nécessité de le faire à la main.
Le plus gros inconvenant quand c'est nous qui patch l'ensemble de la collection c'est de savoir si on doit régénérer l'ensemble des UUID ou pas ! car ce ne sont plus les mêmes éléments, au risque de perturber l'utilisateur.

Les paquets 5084 sont disponibles au téléchargement.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."