Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
refonte_du_code_de_qelectrotech [10/01/2022 21:28] – [Autre (toutes les petites et grosse chose à améliorer)] black_sun_2012refonte_du_code_de_qelectrotech [10/02/2023 20:46] (Version actuelle) – [Autre (toutes les petites et grosse chose à améliorer)] black_sun_2012
Ligne 61: Ligne 61:
 Jusqu'à présent cela n'a jamais posé de problème car l'algo de création du chemin des conducteurs n’a pas changer depuis les début de qet. Jusqu'à présent cela n'a jamais posé de problème car l'algo de création du chemin des conducteurs n’a pas changer depuis les début de qet.
 Le problème c'est que si à l’avenir l’algo devais changer, lors de l'ouverture d'un projet fait avec l'ancien algo sur une version de qet avec le nouvel algo les chemin des conducteurs automatique ne serais plus les même. Il faut donc aussi écrire les points du chemin en auto afin d'être sûre lors de l'ouverture d'un projet d'avoir exactement le même chemin. Le problème c'est que si à l’avenir l’algo devais changer, lors de l'ouverture d'un projet fait avec l'ancien algo sur une version de qet avec le nouvel algo les chemin des conducteurs automatique ne serais plus les même. Il faut donc aussi écrire les points du chemin en auto afin d'être sûre lors de l'ouverture d'un projet d'avoir exactement le même chemin.
 +
 +-La creation d'un conducteur est un mélange entre les événements souris d'une borne + un affichage fait depuis le diagram (Diagram::conductorStart / stop) + les undo sont gérer dans la class terminal (création conducteur et autonum) + le chemin est effectué par le conducteur, une vrai usine à gaz.
 +Il faut externalisé tout, pour au minimum que la borne ne gère plus rien et le diagram non plus. Le fait d'externaliser tout ça pourra rendre nettement plus simple l'automatisation de création de plusieurs conducteur en même temps (par ex cliquer sur plusieurs bornes afin de toutes les lier ensemble au lieu de faire une à une les liaison entre borne)
 +
  
 ---- ----
Ligne 66: Ligne 70:
 Revoir l'ensemble des fonctions membres to/from xml (au moins pour la sauvegarde dans le .qet) afin que la sauvegarde ne soit plus géré par les classes elles mêmes (élément, projet etc....) mais une classe spécifique uniquement destiné à cela. Revoir l'ensemble des fonctions membres to/from xml (au moins pour la sauvegarde dans le .qet) afin que la sauvegarde ne soit plus géré par les classes elles mêmes (élément, projet etc....) mais une classe spécifique uniquement destiné à cela.
 L'idéal serais de sauvegarder par le biais d'un plugins. Ainsi la sauvegarde (d'un .qet .elmt ou tout autre) fera appel à une classe abstraite et celle ci fera appel à une classe concrète qui sera un plugin, l'avantage sera qu'en plus des formats natif de qet, il sera très facile pour un contributeur externe de créer sont propre plugin afin de sauvegarder sous un autre format sans avoir à toucher et apprendre le code de qet.. L'idéal serais de sauvegarder par le biais d'un plugins. Ainsi la sauvegarde (d'un .qet .elmt ou tout autre) fera appel à une classe abstraite et celle ci fera appel à une classe concrète qui sera un plugin, l'avantage sera qu'en plus des formats natif de qet, il sera très facile pour un contributeur externe de créer sont propre plugin afin de sauvegarder sous un autre format sans avoir à toucher et apprendre le code de qet..
 +Voir ce qui a déjà été fait avec la classe terminal strip item.
 Les avantages sont entre autre : Les avantages sont entre autre :
  
Ligne 97: Ligne 102:
 Revoir les prefix d’éléments, actuellement c’est n’importe quoi…. Revoir les prefix d’éléments, actuellement c’est n’importe quoi….
 Tout cela se déroule en deux parties distincte : Tout cela se déroule en deux parties distincte :
--Un fichier avec les lettres code en fonction du type d’élément (K relais, S bouton etc.…) pour chaque norme existante, ou norme personnalisé. +  *Un fichier avec les lettres code en fonction du type d’élément (K relais, S bouton etc.…) pour chaque norme existante, ou norme personnalisé. 
--Étendre de manière conséquente les types d’éléments dans qet afin d’être le plus exhaustif possible et donc coller au maximum à la réalité. +  *Étendre de manière conséquente les types d’éléments dans qet afin d’être le plus exhaustif possible et donc coller au maximum à la réalité. 
--Le prefix des éléments sera par la suite établie en fonction de leurs types est du fichier du standard utilisé. Rien ne sera écrit en dur.+  *Le prefix des éléments sera par la suite établie en fonction de leurs types est du fichier du standard utilisé. Rien ne sera écrit en dur.
  
 ---- ----
Ligne 108: Ligne 113:
 Ajouter un nouveau type d’autonum ‘’intelligent’’ celui-ci sera basé sur une formule qui devra contenir la variable %{prefix}. Ensuite pas besoins de changer de règle d’autonum entre par exemple moteur/contacteur/disjoncteur etc.… c’elle ci basculera toutes seul en fonction du type d’élément toute en conservant indépendament l’état dans lequel elle est pour chaque type : Ajouter un nouveau type d’autonum ‘’intelligent’’ celui-ci sera basé sur une formule qui devra contenir la variable %{prefix}. Ensuite pas besoins de changer de règle d’autonum entre par exemple moteur/contacteur/disjoncteur etc.… c’elle ci basculera toutes seul en fonction du type d’élément toute en conservant indépendament l’état dans lequel elle est pour chaque type :
 Ex soit une formule intelligente suivante :-%{prefix}%{seqt} (prefix + chiffre sequentiel 2 digit) Ex soit une formule intelligente suivante :-%{prefix}%{seqt} (prefix + chiffre sequentiel 2 digit)
-disjoncteur 1 → D01 +  *disjoncteur 1 → D01 
-contacteur 1 → k01 +  *contacteur 1 → k01 
-moteur 1 → M01 +  *moteur 1 → M01 
-disjoncteur → D02 +  *disjoncteur → D02 
-contacteur → K02 +  *contacteur → K02 
-moteur → M02 +  *moteur → M02 
-bouton marche → S01 +  *bouton marche → S01 
-bouton arret → S02 +  *bouton arret → S02 
-transformateur 1 → T01.+  *transformateur 1 → T01.
 Tout ça sans jamais changer de formule, c’elle ci s’adapte en fonction de l’élément. Tout ça sans jamais changer de formule, c’elle ci s’adapte en fonction de l’élément.
  
Ligne 135: Ligne 140:
 Il est possible que cette modification soit effectué avant la refonte de qet. voir : https://qelectrotech.org/forum/viewtopic.php?pid=6267#p6267 Il est possible que cette modification soit effectué avant la refonte de qet. voir : https://qelectrotech.org/forum/viewtopic.php?pid=6267#p6267
  
 +----
 +Revoir les textes indépendant des schémas, actuellement un texte peut être simple ou html, mais c'est le bordel à gérer + bug pour des raisons historique.
 +-Ce qu'il faudrait c'est soit avoir deux types de texte indépendant, des simple et des html ainsi tout sera plus simple à gérer ou alors mieux gérer le fait qu'un texte soit simple ou html rien de bien compliqué au final mais cassera les textes existant dans tous les cas. La solution 1 est probablement la meilleurs, un poil plus de code mais mieux découpé.
  
 +----
 +Classe projectconfigpage, la methode virtuel init() appel les methodes initwidgets et initlayout ainsi que readValuesFromProject ces méthodes semble être utilisé n'importe comment (un coup oui, un coup non en fonction de la classe dans lequel on se situe) enlever tout ça et laisser faire les classe toutes seule.
  
  
Imprimer/exporter