Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
refonte_du_code_de_qelectrotech [21/08/2020 13:15] – [Autre (toutes les petites et grosse chose à améliorer] black_sun_2012 | refonte_du_code_de_qelectrotech [10/02/2023 20:46] (Version actuelle) – [Autre (toutes les petites et grosse chose à améliorer)] black_sun_2012 | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
C'est pourquoi un jour il faudra passer par une refonte très conséquente du code afin de remettre celui-ci à niveau, ce travail est difficilement quantifiable mais il est certains qu'il prendra beaucoup de temps, ainsi il ne sera commencé que quand toutes les fonctionnalité de base seront implémenter ( à l' | C'est pourquoi un jour il faudra passer par une refonte très conséquente du code afin de remettre celui-ci à niveau, ce travail est difficilement quantifiable mais il est certains qu'il prendra beaucoup de temps, ainsi il ne sera commencé que quand toutes les fonctionnalité de base seront implémenter ( à l' | ||
+ | Le but entre autre est de découpler le code en plusieurs parties bien distincte, revoir des parties du code afin d' | ||
===== Modification des format de fichier ===== | ===== Modification des format de fichier ===== | ||
C'est l'une des parties la plus importante aussi bien d'un point de vue de temps de travail, que de changement profond. | C'est l'une des parties la plus importante aussi bien d'un point de vue de temps de travail, que de changement profond. | ||
Ligne 37: | Ligne 38: | ||
-QetDiagramEditor, | -QetDiagramEditor, | ||
L' | L' | ||
- | Il sera aussi plus facile de retrouver les QAction et slot, car présent dans une poignée de classe précise. | + | Il sera aussi plus facile de retrouver les QAction et slot, car présent dans une poignée de classe précise |
+ | |||
+ | ---- | ||
+ | |||
+ | -Classe element information, | ||
+ | De plus elle devra s' | ||
+ | |||
+ | -Ajouter pour cette classe la possibilité d' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | -Le code des cartouches, à chaque fois j'ai un mal de chien à comprendre ce code, ça part dans tout les sens mais ça marche donc à voir si c'est utile ou non d' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | __Conducteur__ | ||
+ | -Ajouter la notion de potentiel électrique. Quand un conducteur est posé, en parallèle un potentiel électrique est crée (une classe) ainsi quand un autre conducteur est posé celui-ci prendra les propriété définie dans le potentiel, mais si besoins l' | ||
+ | Cela corrige l' | ||
+ | |||
+ | -Dans le xml, le chemin des conducteurs peut être auto ou manuel. Contrairement à manuel, les points des chemins en auto ne sont pas écrit dans le code. | ||
+ | Jusqu' | ||
+ | Le problème c'est que si à l’avenir l’algo devais changer, lors de l' | ||
+ | |||
+ | -La creation d'un conducteur est un mélange entre les événements souris d'une borne + un affichage fait depuis le diagram (Diagram:: | ||
+ | Il faut externalisé tout, pour au minimum que la borne ne gère plus rien et le diagram non plus. Le fait d' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | Revoir l' | ||
+ | L' | ||
+ | Voir ce qui a déjà été fait avec la classe terminal strip item. | ||
+ | Les avantages sont entre autre : | ||
+ | |||
+ | * Diminuer la taille des classes concerné afin de faire uniquement ce qu' | ||
+ | * Avoir une classe qui gère tout ça, regroupé en un seul endroit et donc plus facile à maintenir et améliorer. | ||
+ | * La classe devrais probablement être une interface ainsi, si il y a des changements dans la structure xml du .qet au lieu de faire une rustine (comme c'est le cas actuellement) il suffira de crée une nouvelle classe héritant de l' | ||
+ | * Si à l’avenir qet doit sauvegarder le projet dans un tout autre format pour une raison X ou Y, encore une fois il suffira juste de créer une nouvelle classe héritant de l' | ||
+ | * Si nous devions mettre en place les deux derniers point comme c'est fait actuellement (cad chaque classe gère sont to/from xml) cela serais vite ingérable notamment si il devais y avoir une nouveau format de fichier. | ||
+ | * la classe gérant le to/from xml devra probablement être friend des classes concerné. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Les poignées utilisé pour modifier les formes primitive sont géré par les formes elle même, il serais mieux que les poignées soit gérer par une classe extérieure. Idéalement donner la forme en argument à la classe et le tout est géré par la classe (création des poignées, maj de la forme suite au déplacement des poignées, création de l'undo command) étant donné qu'il existe des formes dans l’éditeur d' | ||
+ | Idée à la volé, une classe qui gère purement la partie mathématique des modifications, | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Virer la classe qet graphic shape item, et créer une classe pour chaque type de primitive. | ||
+ | Revoir la manière dont les shapes items sont sauvegardé dans le .qet afin que chaque type de shape ai sont propre xml (actuellement tous les type de shape item sont sauvegardé dans le même element xml). | ||
+ | Faire au plus près du standard svg. | ||
+ | ---- | ||
+ | |||
+ | Les informations de folio (titre, auteur, date, etc...) ne doivent pas être géré par le cartouche (un cartouche sert juste à afficher entre autre les infos) mais par une classe dédié, qui doit s' | ||
+ | |||
+ | ---- | ||
+ | La variable %folio du cartouche peut être utilisé n' | ||
+ | Il faudrait pourquoi pas garder la variable %folio uniquement pour le cartouche mais ne pas l’intégrer dans la bdd du projet et voir pour ajouter une nouvelle variable dans le diagramme qui sera utilisé pour le numéro de folio (à ne pas confondre avec la position du folio). | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Revoir les prefix d’éléments, | ||
+ | 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é. | ||
+ | *É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. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Revoir intégralement l' | ||
+ | |||
+ | ---- | ||
+ | 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/ | ||
+ | Ex soit une formule intelligente suivante : | ||
+ | *disjoncteur 1 → D01 | ||
+ | *contacteur 1 → k01 | ||
+ | *moteur 1 → M01 | ||
+ | *disjoncteur 2 → D02 | ||
+ | *contacteur 2 → K02 | ||
+ | *moteur 2 → M02 | ||
+ | *bouton marche → S01 | ||
+ | *bouton arret → S02 | ||
+ | *transformateur 1 → T01. | ||
+ | Tout ça sans jamais changer de formule, c’elle ci s’adapte en fonction de l’élément. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ---- | ||
+ | Revoir les Xref afin que c'elle ci soit beaucoup plus souple dans leurs utilisations et ce individuellement (représentation croix/ | ||
+ | |||
+ | ---- | ||
+ | Agrandir le champ d' | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ---- | ||
+ | Tous les tailles des textes de schéma doivent être exprimé en pixels au lieu de points afin que ceux-ci aient la même apparence peut importe sur quel type d' | ||
+ | Il est possible que cette modification soit effectué avant la refonte de qet. voir : https:// | ||
+ | |||
+ | ---- | ||
+ | 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, | ||
+ | |||
+ | ---- | ||
+ | Classe projectconfigpage, | ||
+ |