Compare commits

..

83 Commits
0.1 ... 0.2a

Author SHA1 Message Date
scorpio810
9ad7a5983c Reverting deletion of branch 0.2, 0.3
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/tags/0.2a@5946 bfdf4180-ca20-0410-9c96-a3a8aa849046
2019-06-26 08:02:48 +00:00
xavier
1e892574ec Tag de la version 0.2 alpha
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/tags/0.2a@583 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-11 18:28:25 +00:00
xavier
635e720181 Mise a jour du displayedVersion et du splash screen
Purge des caracteres non-ASCII dans les sources
Mise a jour du fichier de configuration Doxyfile, pour generer la documentation


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@582 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-11 13:09:47 +00:00
youssefsan
be45e7ac10 Traduction de messages dans qet_es.ts
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@581 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-09 18:01:04 +00:00
youssefsan
b06e30edb2 Corrections de traductions en espagnol. Ajout de traductions en espagnol d'elements et de categories. Normalement la traduction d'elements et categories en espagnol devrait etre terminee. Mais il faut relire et corriger.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@580 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-07 19:11:25 +00:00
youssefsan
2c44834ee8 Ajout de traductions en espagnol d'elements et de categories.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@579 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-07 16:02:10 +00:00
youssefsan
e543478110 Ajout de traductions en espagnol d'elements.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@578 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-07 11:08:01 +00:00
youssefsan
3bd222b04f Ajout de traductions en espagnol d'elements.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@577 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-06 18:51:19 +00:00
youssefsan
4ec0af7e8a Ajout de traductions en espagnol de categories et elements.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@576 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-06 16:52:41 +00:00
youssefsan
6de02e3cda Ajout de traductions en espagnol d'elements.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@575 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-06 11:10:40 +00:00
xavier
9460eab8f0 Corrections dans la traduction anglaise.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@574 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-06 04:00:26 +00:00
xavier
e94ae76b12 Modification mineure dans le menu Fenetres.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@573 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-06 03:56:56 +00:00
youssefsan
09318bdd2e Ajout de traductions en espagnol d'elements.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@572 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-05 18:28:20 +00:00
xavier
ff9e32a5ac Ajout d'un fichier specifiant explicitement la licence des elements fournis avec QET.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@571 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-05 17:09:55 +00:00
youssefsan
1f64d8ce71 Ajout de traductions en espagnol de categories et d'elements.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@570 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-05 14:29:53 +00:00
xavier
a75d584da0 Mise a jour des fichiers de traduction
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@569 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-05 13:10:18 +00:00
xavier
5a05cb15cd Les onglets sont desormais le mode d'affichage par defaut des projets.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@568 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-05 12:33:20 +00:00
youssefsan
86bd2daa04 Ajout de traductions en espagnol de categories et d'elements + une correction de traduction en espagnol + une correction de traduction en anglais.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@567 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-05 12:25:55 +00:00
xavier
9a8459db86 Amelioration du rendu graphique lorsque le zoom est inferieur a 1.0.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@566 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-05 11:48:26 +00:00
xavier
2a6992083d Correction d'une regression : les annulations sont de nouveau disponibles pour les champs de texte des elements.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@565 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-04 21:47:07 +00:00
xavier
020974148b Lors d'un copier-coller, ou lors du chargement d'un fichier, les modifications apportees aux champs de texte ne creaient pas d'objets d'annulation.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@564 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-04 19:09:08 +00:00
xavier
4244f907e4 Amelioration mineure du comportement lors des selections multiples d'elements/conducteurs/textes.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@563 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-04 18:48:15 +00:00
xavier
2da668657d Correction d'une segfault pouvant se produire lors de la fermeture de l'editeur d'element alors qu'une partie est selectionnee.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@562 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-04 18:29:53 +00:00
youssefsan
33344a2376 correction d'une erreur mienne : fr-->es
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@561 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-04 18:29:14 +00:00
youssefsan
de1370d719 Ajouts de traduction en espagnol d'elements et de categories.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@560 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-04 18:22:30 +00:00
xavier
d8f09f625a La liste des fichiers recents n'utilisait pas le separateur de fichier du systeme.
Mise a jour de la classe AboutQET : ajout de Youssef


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@559 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-04 02:17:24 +00:00
xavier
4da7e54d75 Rapatriement de la branche 0.2 dans le trunk
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@558 bfdf4180-ca20-0410-9c96-a3a8aa849046
2009-04-03 19:30:25 +00:00
xavierqet
f84b86e4a4 Typo dans un schema exemple.
Ajout du fichier qelectrotech.xml pour les associations de fichiers


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@441 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-11-01 23:01:06 +00:00
xavierqet
e226860b7a Leger decalage de la position ou apparait le menu contextuel dans le panel d'elements. Ceci evite que la premiere entree du menu contextuel ne soit immediatement activee dans certains cas.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@434 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-10-17 22:05:16 +00:00
xavierqet
91e661ad27 Ajout du manuel UNIX en francais encode en UTF-8
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@398 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-09-06 14:29:28 +00:00
xavierqet
dde38bbd67 Typos dans les manuels UNIX
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@395 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-31 20:06:43 +00:00
xavierqet
03c161f257 Passage de la 0.1 a la 0.11
Modification du Splash Screen en consequence
Mise a jour des credits et instructions d'installation
Les pages de manuel sont desormais compresses au maximum


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@393 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-30 11:41:46 +00:00
xavierqet
120c541ed3 Ajout de schemas exemples.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@392 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-24 13:42:06 +00:00
xavierqet
a4acad7317 Resolution d'un probleme avec l'export XML de coordonnees decimales : le separateur decimal utilise variait selon la locale utilisee.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@391 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-23 19:27:14 +00:00
xavierqet
3e31df6820 Les fichiers recents affichent desormais les fichiers dont le nom vient d'etre defini via Fichier > enregistrer sous
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@390 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-23 18:17:00 +00:00
xavierqet
ce4596124c Les connexions internes sont desormais autorisees pour les contacts de puissance.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@389 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-23 16:03:07 +00:00
xavierqet
1ca68fcddc Modification des dimensions par defaut des schemas.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@388 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-23 15:44:25 +00:00
xavierqet
ae71d0a12d Les ouvertures de fichiers impliquant la creation d'un nouvel editeur de schema sont desormais prises en compte dans la liste des fichiers recents
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@387 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-23 12:54:16 +00:00
xavierqet
30175f43c5 La correction du rendu (pour le bug de decalage au zoom par defaut) est desormais desactivee par defaut.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@386 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-23 10:55:37 +00:00
xavierqet
716ca01824 Typos dans les mans
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@385 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-21 18:15:03 +00:00
xavierqet
1cd7590651 Ajout d'une page de manuel UNIX (en anglais et en francais)
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@384 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-20 21:25:53 +00:00
xavierqet
9f8c1b03e8 Petites corrections sur le dialogue d'impression (titre et chemin PDF propose)
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@383 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-19 21:25:31 +00:00
xavierqet
eb14050796 Correction d'un bug : apres fermeture d'un schema, le menu Fenetres n'etait pas correctement mis a jour.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@382 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-19 20:35:42 +00:00
xavierqet
3c7c538d7c Ajout d'une description dans le dialogue des options d'impression
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@381 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-18 20:18:18 +00:00
xavierqet
1f712ba103 Ajout d'un script bash facilitant le lancement de QET en utilisant la collection et les fichiers de langue du repertoire de travail
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@380 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-17 21:47:07 +00:00
xavierqet
dde819c278 Lors de l'impression, l'option "Adapter le schema a la page" est desormais cochee par defaut.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@379 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-17 21:21:29 +00:00
xavierqet
147deca55d Ajout de l'option --lang-dir pour redefinir le dossier contenant les fichiers de langue
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@378 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-17 21:08:31 +00:00
xavierqet
bee622e7cc Peaufinage de la plupart des dialogues pour qu'ils n'apparaissent pas dans la barre des taches
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@377 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-17 20:41:37 +00:00
xavierqet
3957baaa6f Adaptation de l'impression pour Qt >= 4.4
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@376 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-17 16:16:44 +00:00
xavierqet
75f689ffa9 Correction des chemins d'installation des .desktop et .xml pour les associations de fichiers sous X11
Mise a jour du fichier de traduction pour la langue anglaise


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@375 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-15 18:00:55 +00:00
xavierqet
601b90ffd4 Mise a jour des traductions
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@374 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-15 14:31:25 +00:00
xavierqet
fc1f573719 Correction d'un bug avec l'option --config-dir=
Correction dans le script d'enregistrement des associations de fichier sous Windows


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@373 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-15 13:50:43 +00:00
xavierqet
5e952533d6 Il est desormais possible d'afficher ou non les entetes des lignes et colonnes
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@372 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-15 12:46:22 +00:00
xavierqet
faf504f2d0 Ajout des classes BorderProperties et BorderPropertiesWidget
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@371 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-14 22:51:08 +00:00
xavierqet
7ac471c6f2 Mise a jour des traductions
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@370 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-11 19:24:12 +00:00
xavierqet
15020669d9 Suppression d'avertissements a la compilation
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@369 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-10 18:53:31 +00:00
xavierqet
5c9a6edff5 Correction d'un bug lors de l'interpretation de l'attribut height d'un schema
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@368 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-10 16:52:37 +00:00
xavierqet
8d7572090a Mise a jour des fichiers de configuration exemple
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@367 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-10 15:48:42 +00:00
xavierqet
8b3e64a724 Amelioration du comportement du HotspotEditor lorsqu'on le redimensionne
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@366 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-10 15:43:54 +00:00
xavierqet
e0cf69d6bf La hauteur du schema est desormais geree via un systeme de lignes, dont le nombre et la hauteur sont ajustables.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@365 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-10 15:07:59 +00:00
xavierqet
818982272f Nettoyage du trunk : deplacement des sources dans un sous-repertoire
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@364 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-07 19:50:56 +00:00
xavierqet
1a11287dfc Changement du numero de version affiche par le splash screen.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@363 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-03 18:23:26 +00:00
xavierqet
b3a3c87eba Ajout d'un splash screen
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@362 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-02 16:53:42 +00:00
xavierqet
cd57178b11 Correction d'un bug dans l'operator= et le constructeur de copie de la classe QETArguments
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@361 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-08-02 16:24:10 +00:00
xavierqet
7a48bcc228 Corrections de code :
* avertissements a la compilation (teste avec gcc 4.3)
  * inclusions non pertinentes


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@360 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-30 12:44:57 +00:00
xavierqet
e8e881ff51 Ajout des "fichiers recents"
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@359 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-30 11:51:27 +00:00
xavierqet
0272d5ed66 Mise a jour des associations de fichiers sous Windows
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@358 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-27 15:48:06 +00:00
xavierqet
da1e965c83 L'application est desormais capable d'ouvrir un fichier element passe en parametre
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@357 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-26 15:26:19 +00:00
xavierqet
e26560188f Ajout des associations de fichiers pour X11 (shared-mime-info)
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@356 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-24 21:18:09 +00:00
xavierqet
c6140bce49 Ajout de fichiers permettant d'automatiser les associations de fichiers sous Windows
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@355 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-20 18:03:56 +00:00
xavierqet
7f520f0b8d Modification pour Windows : evite d'initialiser le systray lorsqu'une nouvelle instance est lancee.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@354 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-20 12:50:12 +00:00
xavierqet
4364410029 L'application verifie desormais que le fichier n'est pas deja ouvert dans tous les editeurs de schemas.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@353 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-20 11:37:31 +00:00
xavierqet
fe4c3f6f7d Import dans le trunk des modifications apportees lors de la revision 335 :
* Affinage du constructeur de la classe QETApp


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@351 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-19 17:34:13 +00:00
xavierqet
eae7513eef Lors de l'ouverture d'un fichier en dehors de l'application alors que QET est deja demarre, celui-ci essaye de s'afficher ou d'attirer l'attention de l'utilisateur.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@350 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-18 21:05:51 +00:00
xavierqet
158cf97bb3 Correction d'une segfault survenant avec Qt 4.4
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@349 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-17 22:57:50 +00:00
xavierqet
429d7e55a2 L'application se lance desormais une seule fois par utilisateur
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@348 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-17 19:25:57 +00:00
xavierqet
f4b828a3cd Les classes Conductor et Element heritent desormais de QObject.
Correction du bug #16 : Mauvaise gestion des modifications du texte d'un conducteur



git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@346 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-09 21:14:30 +00:00
xavierqet
9c6f602439 Les textes des elements, des conducteurs, du cartouche ainsi que les textes independants utilisent desormais tous la meme police.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@345 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-09 17:30:52 +00:00
xavierqet
b030058966 Rapatriement dans le trunk d'une correction apportee dans la branche 0.2 :
* [r343] Le cartouche utilise desormais la meme police que les textes des elements


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@344 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-07-08 18:27:07 +00:00
xavierqet
c6fc0ad51b Correction du bug #15 : Mauvais positionnement des champs de texte sur le schema.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@341 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-06-25 11:15:43 +00:00
xavierqet
f9813f1f84 Bugfixes :
* Bug #13 : il manquait un / dans le chemin propose lors de l'impression vers un PDF
  * La classe DiagramView ecrivait sur la sortie d'erreur sans fin de ligne


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@332 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-05-26 17:37:39 +00:00
xavierqet
d7444ae90c Correction pour que QET compile avec gcc-4.3
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@327 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-05-20 20:37:17 +00:00
xavierqet
8c59b8183a Correction du bug #12 : QET provoquait une erreur de segmentation des son demarrage dans un environnement sans systray
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@322 bfdf4180-ca20-0410-9c96-a3a8aa849046
2008-05-11 20:05:18 +00:00
487 changed files with 44290 additions and 8601 deletions

6
CREDIT
View File

@@ -7,8 +7,11 @@ project ( http://www.kde.org/ ).
Thanks to Loic for his mathematics-related explanations.
Thanks to Nicolas for the Mac OS X experimentations.
Thanks to Remi Collet for the Fedora packaging.
Thanks to Piotr SQLek Skólski for the Debian packaging.
Thanks to `trem' for the Mandriva packaging.
Thanks to TuxFamily ( http://tuxfamily.org ) for hosting the project.
Thanks to `Nishiki' for his elements and his support.
Thanks to qtcentre.org for their SingleApplication class.
[fr]
Merci à Trolltech pour la bibliothèque Qt ( http://trolltech.com/ ), sous
@@ -19,5 +22,8 @@ http://www.kde.org/ ).
Merci à Loic pour ses explications d'ordre mathématique.
Merci à Nicolas pour les expérimentations Mac OS X.
Merci à Remi Collet pour les paquets Fedora.
Merci à Piotr SQLek Skólski pour les paquets Debian.
Merci à `trem' pour les paquets Mandriva.
Merci à TuxFamily ( http://tuxfamily.org ) pour l'hébergement du projet.
Merci à `Nishiki' pour ses éléments et son soutien.
Merci à qtcentre.org pour leur classe SingleApplication.

1310
Doxyfile

File diff suppressed because it is too large Load Diff

41
ELEMENTS.LICENSE Normal file
View File

@@ -0,0 +1,41 @@
[fr]
La collection d'éléments fournie avec QElectroTech est fournie telle quelle et
sans la moindre garantie qu'elle convienne à votre utilisation ou qu'elle
fonctionne.
L'utilisation, la modification et l'intégration des éléments dans des schémas
électriques est autorisée sans conditions, quelque soit la licence finale des
schémas.
Si vous redistribuez tout ou partie de la collection QElectroTech, avec ou sans
modification, en dehors d'un schéma électrique, vous devrez respecter les
conditions de la licence CC-BY :
Cette création est mise à disposition selon le Contrat Paternité 2.0 France
disponible en ligne http://creativecommons.org/licenses/by/2.0/fr/ ou par
courrier postal à Creative Commons, 171 Second Street, Suite 300, San Francisco,
California 94105, USA.
[en]
The elements collection provided along with QElectroTech is provided as is and
without any warranty of fitness for your purpose or working.
The usage, the modification and the integration of the elements into electric
diagrams is allowed without any condition, whatever the final license of the
diagrams is.
If you redistribute all or a part of the QElectroTech collection, with or
without any modification, out of an electric diagram, you must respect the
conditions of the CC-BY license:
This work is licensed under the Creative Commons Attribution 2.0 France License.
To view a copy of this license, visit
http://creativecommons.org/licenses/by/2.0/fr/ or send a letter to Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[es]
La colección de elementos QElectrotech es distruibida tal cual y sin ninguna
garantía a la conveniencia de su uso y sin garantía de que funciona.
Se permite sin condicione alguna, cualquiera que sea la licencia final, usar,
editar, e incluir estos elementos en esquemas eléctricos.
Si usted redistribuye una parte de la colección o toda la collección de
QElectrotech, con o sin ediciones, fuera de un esquema eléctrico, tiene que
respetar las condiciones de la licencia CC-BY:
Esta obra está bajo una licencia Reconocimiento 2.0 Francia de Creative Commons.
Para ver una copia de esta licencia, visite
http://creativecommons.org/licenses/by/2.0/fr/ o envie una carta a Creative
Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.

View File

@@ -6,6 +6,7 @@ cupsys-bsd for printing
Howto compile :
$ qmake (qmake-qt4 for Debian-based systems)
$ make
# umask 0022
# make install
[fr]
@@ -16,4 +17,5 @@ cupsys-bsd pour l'impression
Comment compiler :
$ qmake (qmake-qt4 pour les systèmes basés sur Debian)
$ make
# umask 0022
# make install

View File

@@ -1,138 +0,0 @@
/*
Copyright 2006-2008 Xavier Guerrin
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#include "aboutqet.h"
#include "qet.h"
/**
Constructeur
@param parent Le QWidget parent de la boite de dialogue
*/
AboutQET::AboutQET(QWidget *parent) : QDialog(parent) {
// Titre, taille, comportement...
setWindowTitle(tr("\300 propos de QElectrotech"));
setMinimumWidth(680);
setMinimumHeight(350);
setModal(true);
// Trois onglets
QTabWidget *onglets = new QTabWidget(this);
onglets -> addTab(ongletAPropos(), tr("\300 &propos"));
onglets -> addTab(ongletAuteurs(), tr("A&uteurs"));
onglets -> addTab(ongletLicence(), tr("&Accord de licence"));
// Un bouton pour fermer la boite de dialogue
QDialogButtonBox *boutons = new QDialogButtonBox(QDialogButtonBox::Close);
connect(boutons, SIGNAL(accepted()), this, SLOT(accept()));
connect(boutons, SIGNAL(rejected()), this, SLOT(accept()));
// Le tout dans une disposition verticale
QVBoxLayout *disposition = new QVBoxLayout();
disposition -> addWidget(titre());
disposition -> addWidget(onglets);
disposition -> addWidget(boutons);
setLayout(disposition);
}
/**
Destructeur
*/
AboutQET::~AboutQET() {
}
/**
@return Le titre QElectroTech avec son icone
*/
QWidget *AboutQET::titre() const {
QWidget *icone_et_titre = new QWidget();
// icone
QLabel *icone = new QLabel();
icone -> setPixmap(QIcon(":/ico/qelectrotech.png").pixmap(48, 48));
// label "QElectroTech"
QLabel *titre = new QLabel("<span style=\"font-weight:0;font-size:16pt;\">QElectroTech v" + QET::version + "</span>");
titre -> setTextFormat(Qt::RichText);
// le tout dans une grille
QGridLayout *dispo_horiz = new QGridLayout();
dispo_horiz -> addWidget(icone, 0, 0);
dispo_horiz -> addWidget(titre, 0, 1);
dispo_horiz -> setColumnStretch(0, 1);
dispo_horiz -> setColumnStretch(1, 100);
icone_et_titre -> setLayout(dispo_horiz);
return(icone_et_titre);
}
/**
@return Le widget contenu par l'onglet <20> A propos <20>
*/
QWidget *AboutQET::ongletAPropos() const {
QLabel *apropos = new QLabel(
tr("QElectroTech, une application de r\351alisation de sch\351mas \351lectriques.") +
"<br><br>" +
tr("\251 2006-2008 Les d\351veloppeurs de QElectroTech") +
"<br><br>"
"<a href=\"http://qelectrotech.tuxfamily.org/\">"
"http://qelectrotech.tuxfamily.org/</a>"
);
apropos -> setAlignment(Qt::AlignCenter);
apropos -> setOpenExternalLinks(true);
apropos -> setTextFormat(Qt::RichText);
return(apropos);
}
/**
@return Le widget contenu par l'onglet <20> Auteurs <20>
*/
QWidget *AboutQET::ongletAuteurs() const {
QLabel *auteurs = new QLabel(
"<span style=\"text-decoration: underline;\">" +
tr("Id\351e originale") +
"</span> : Beno\356t Ansieau "
"&lt;<a href=\"mailto:benoit.ansieau@gmail.com\">"
"benoit.ansieau@gmail.com</a>&gt;"
"<br><br>"
"<span style=\"text-decoration: underline;\">" +
tr("Programmation") +
"</span> : Xavier Guerrin "
"&lt;<a href=\"mailto:xavier.guerrin@gmail.com\">"
"xavier.guerrin@gmail.com</a>&gt;"
);
auteurs -> setAlignment(Qt::AlignCenter);
auteurs -> setOpenExternalLinks(true);
auteurs -> setTextFormat(Qt::RichText);
return(auteurs);
}
/**
@return Le widget contenu par l'onglet <20> Accord de Licence <20>
*/
QWidget *AboutQET::ongletLicence() const {
QWidget *licence = new QWidget();
// label
QLabel *titre_licence = new QLabel(tr("Ce programme est sous licence GNU/GPL."));
// texte de la GNU/GPL dans une zone de texte scrollable non editable
QTextEdit *texte_licence = new QTextEdit();
texte_licence -> setPlainText(QET::license());
texte_licence -> setReadOnly(true);
// le tout dans une disposition verticale
QVBoxLayout *dispo_licence = new QVBoxLayout();
dispo_licence -> addWidget(titre_licence);
dispo_licence -> addWidget(texte_licence);
licence -> setLayout(dispo_licence);
return(licence);
}

View File

@@ -1,231 +0,0 @@
/*
Copyright 2006-2008 Xavier Guerrin
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#include "borderinset.h"
#include "qetapp.h"
/**
Constructeur simple : construit une bordure de 15 colonnes de 50x500 avec
un cartouche de 400x50.
@param parent QObject parent de ce BorderInset
*/
BorderInset::BorderInset(QObject *parent) : QObject(parent) {
nb_columns = qMax(3, QETApp::settings().value("diagrameditor/defaultcols", 15).toInt());
min_nb_columns = 3;
columns_width = QETApp::settings().value("diagrameditor/defaultcolsize", 50.0).toDouble();
columns_height = QETApp::settings().value("diagrameditor/defaultheight", 500.0).toDouble();
min_columns_height = 80.0;
inset_width = nb_columns * columns_width;
inset_height = 50.0;
columns_header_height = 20.0;
display_inset = true;
display_columns = true;
display_border = true;
updateRectangles();
bi_author = QETApp::settings().value("diagrameditor/defaultauthor").toString();
bi_title = QETApp::settings().value("diagrameditor/defaulttitle").toString();
bi_folio = QETApp::settings().value("diagrameditor/defaultfolio").toString();
bi_filename = QETApp::settings().value("diagrameditor/defaultfilename").toString();
QString settings_date = QETApp::settings().value("diagrameditor/defaultdate").toString();
if (settings_date == "now") bi_date = QDate::currentDate();
else if (settings_date.isEmpty() || settings_date == "null") bi_date = QDate();
else bi_date = QDate::fromString(settings_date, "yyyyMMdd");
}
/**
Destructeur - ne fait rien
*/
BorderInset::~BorderInset() {
}
/**
Methode recalculant les rectangles composant le cadre et le cartouche en
fonction des attributs de taille
*/
void BorderInset::updateRectangles() {
// rectangle delimitant le schema
QRectF previous_border = border;
border = QRectF(0, 0, nb_columns * columns_width, columns_height);
if (border != previous_border) emit(borderChanged(previous_border, border));
// rectangles relatifs au cartouche
inset = QRectF(border.bottomLeft().x(), border.bottomLeft().y(), inset_width, inset_height);
inset_author = QRectF(inset.topLeft(), QSizeF(2.0 * inset_width / 9.0, 0.5 * inset_height));
inset_date = QRectF(inset_author.bottomLeft(), inset_author.size());
inset_title = QRectF(inset_author.topRight(), QSizeF(5.0 * inset_width / 9.0, inset_height));
inset_file = QRectF(inset_title.topRight(), inset_author.size());
inset_folio = QRectF(inset_file.bottomLeft(), inset_author.size());
}
/**
Dessine le cadre et le cartouche
@param qp QPainter a utiliser pour dessiner le cadre et le cartouche
@param x Abscisse du cadre
@param y Ordonnee du cadre
*/
void BorderInset::draw(QPainter *qp, qreal x, qreal y) {
// translate tous les rectangles
border .translate(x, y);
inset .translate(x, y);
inset_author.translate(x, y);
inset_date .translate(x, y);
inset_title .translate(x, y);
inset_file .translate(x, y);
inset_folio .translate(x, y);
// prepare le QPainter
qp -> save();
qp -> setPen(Qt::black);
qp -> setBrush(Qt::NoBrush);
// dessine le cadre
if (display_border) qp -> drawRect(border);
// dessine la numerotation des colonnes
if (display_columns) {
qp -> setBrush(Qt::white);
for (int i = 1 ; i <= nb_columns ; ++ i) {
QRectF numbered_rectangle = QRectF(
border.topLeft().x() + ((i - 1) * columns_width),
border.topLeft().y(),
columns_width,
columns_header_height
);
qp -> drawRect(numbered_rectangle);
qp -> drawText(numbered_rectangle, Qt::AlignVCenter | Qt::AlignCenter, QString("%1").arg(i));
}
}
// dessine le cartouche
if (display_inset) {
qp -> setBrush(Qt::white);
qp -> drawRect(inset);
qp -> drawRect(inset_author);
qp -> drawText(inset_author, Qt::AlignVCenter | Qt::AlignLeft, tr(" Auteur : ") + bi_author);
qp -> drawRect(inset_date);
qp -> drawText(inset_date, Qt::AlignVCenter | Qt::AlignLeft, tr(" Date : ") + bi_date.toString("dd/MM/yyyy"));
qp -> drawRect(inset_title);
qp -> drawText(inset_title, Qt::AlignVCenter | Qt::AlignCenter, tr("Titre du document : ") + bi_title);
qp -> drawRect(inset_file);
qp -> drawText(inset_file, Qt::AlignVCenter | Qt::AlignLeft, tr(" Fichier : ") + bi_filename);
qp -> drawRect(inset_folio);
qp -> drawText(inset_folio, Qt::AlignVCenter | Qt::AlignLeft, tr(" Folio : ") + bi_folio);
}
qp -> restore();
// annule la translation des rectangles
border .translate(-x, -y);
inset .translate(-x, -y);
inset_author.translate(-x, -y);
inset_date .translate(-x, -y);
inset_title .translate(-x, -y);
inset_file .translate(-x, -y);
inset_folio .translate(-x, -y);
}
/**
Ajoute une colonne.
*/
void BorderInset::addColumn() {
++ nb_columns;
setInsetWidth(nb_columns * columns_width);
updateRectangles();
}
/**
Enleve une colonne. Il doit rester au moins 3 colonnes.
*/
void BorderInset::removeColumn() {
if (nb_columns == min_nb_columns) return;
-- nb_columns;
setInsetWidth(nb_columns * columns_width);
updateRectangles();
}
/**
Permet de changer le nombre de colonnes.
Si ce nombre de colonnes est inferieur au minimum requis, cette fonction ne
fait rien
@param nb_c nouveau nombre de colonnes
@see minNbColumns()
*/
void BorderInset::setNbColumns(int nb_c) {
if (nb_c < min_nb_columns) return;
nb_columns = nb_c;
setInsetWidth(nb_columns * columns_width);
updateRectangles();
}
/**
Change la largeur des colonnes ; celle-ci doit rester comprise entre 10 et
200px.
*/
void BorderInset::setColumnsWidth(const qreal &new_cw) {
columns_width = qBound(10.0, new_cw, 200.0);
updateRectangles();
}
/**
Change la hauteur des en-tetes contenant les numeros de colonnes. Celle-ci
doit rester comprise entre 5 et 50 px.
*/
void BorderInset::setColumnsHeaderHeight(const qreal &new_chh) {
columns_header_height = qBound(5.0, new_chh, 50.0);
updateRectangles();
}
/**
Change la hauteur des colonnes (et donc du cadre). Cette hauteur doit
rester superieure a la hauteur des en-tetes de colonnes + 20px.
*/
void BorderInset::setColumnsHeight(const qreal &new_ch) {
columns_height = qMax(columns_header_height + min_columns_height, new_ch);
updateRectangles();
}
/**
Change la largeur du cartouche. Cette largeur doit rester comprise entre
100px et la largeur du cartouche
*/
void BorderInset::setInsetWidth(const qreal &new_iw) {
inset_width = qMax(100.0, qMin(nb_columns * columns_width, new_iw));
updateRectangles();
}
/**
Change la hauteur du cartouche. Cette largeur doit rester comprise entre
20px et la hauteur du cartouche.
*/
void BorderInset::setInsetHeight(const qreal &new_ih) {
inset_height = qMax(20.0, qMin(columns_height, new_ih));
updateRectangles();
}
/**
Ajuste la largeur du cartouche de facon a ce que celui-ci soit aussi large
que le schema
*/
void BorderInset::adjustInsetToColumns() {
setInsetWidth(nbColumn() * columnsWidth());
}

View File

@@ -1,136 +0,0 @@
/*
Copyright 2006-2008 Xavier Guerrin
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#include "configpages.h"
#include "qetapp.h"
/**
Constructeur
@param parent QWidget parent
*/
NewDiagramPage::NewDiagramPage(QWidget *parent) : ConfigPage(parent) {
// acces a la configuration de QElectroTech
QSettings &settings = QETApp::settings();
// recupere les dimensions du schema
int columns_count_value = settings.value("diagrameditor/defaultcols", 15).toInt();
int columns_width_value = qRound(settings.value("diagrameditor/defaultcolsize", 50.0).toDouble());
int columns_height_value = qRound(settings.value("diagrameditor/defaultheight", 500.0).toDouble());
QVBoxLayout *vlayout1 = new QVBoxLayout();
QLabel *title = new QLabel(tr("Nouveau sch\351ma"));
vlayout1 -> addWidget(title);
QFrame *horiz_line = new QFrame();
horiz_line -> setFrameShape(QFrame::HLine);
vlayout1 -> addWidget(horiz_line);
QHBoxLayout *hlayout1 = new QHBoxLayout();
QVBoxLayout *vlayout2 = new QVBoxLayout();
QGroupBox *diagram_size_box = new QGroupBox(tr("Dimensions du sch\351ma"));
diagram_size_box -> setMinimumWidth(300);
QGridLayout *diagram_size_box_layout = new QGridLayout(diagram_size_box);
QLabel *ds1 = new QLabel(tr("Colonnes :"));
columns_count = new QSpinBox(diagram_size_box);
columns_count -> setMinimum(3); /// @todo methode statique pour recuperer ca
columns_count -> setValue(columns_count_value);
columns_width = new QSpinBox(diagram_size_box);
columns_width -> setMinimum(1);
columns_width -> setSingleStep(10);
columns_width -> setValue(columns_width_value);
columns_width -> setPrefix(tr("\327"));
columns_width -> setSuffix(tr("px"));
QLabel *ds2 = new QLabel(tr("Hauteur :"));
columns_height = new QSpinBox(diagram_size_box);
columns_height -> setRange(80, 10000); /// @todo methode statique pour recuperer ca
columns_height -> setSingleStep(80);
columns_height -> setValue(columns_height_value);
diagram_size_box_layout -> addWidget(ds1, 0, 0);
diagram_size_box_layout -> addWidget(columns_count, 0, 1);
diagram_size_box_layout -> addWidget(columns_width, 0, 2);
diagram_size_box_layout -> addWidget(ds2, 1, 0);
diagram_size_box_layout -> addWidget(columns_height, 1, 1);
ipw = new InsetPropertiesWidget(QETDiagramEditor::defaultInsetProperties(), true, this);
// proprietes par defaut des conducteurs
ConductorProperties cp;
cp.fromSettings(settings, "diagrameditor/defaultconductor");
cpw = new ConductorPropertiesWidget(cp);
vlayout2 -> addWidget(diagram_size_box);
vlayout2 -> addWidget(ipw);
hlayout1 -> addLayout(vlayout2);
hlayout1 -> addWidget(cpw);
vlayout1 -> addLayout(hlayout1);
vlayout1 -> addStretch(1);
hlayout1 -> setAlignment(cpw, Qt::AlignTop);
setLayout(vlayout1);
}
/// Destructeur
NewDiagramPage::~NewDiagramPage() {
}
/**
Applique la configuration de cette page
*/
void NewDiagramPage::applyConf() {
QSettings &settings = QETApp::settings();
// dimensions des nouveaux schemas
settings.setValue("diagrameditor/defaultcols", columns_count -> value());
settings.setValue("diagrameditor/defaultcolsize", columns_width -> value());
settings.setValue("diagrameditor/defaultheight", columns_height -> value());
// proprietes du cartouche
InsetProperties inset = ipw-> insetProperties();
settings.setValue("diagrameditor/defaulttitle", inset.title);
settings.setValue("diagrameditor/defaultauthor", inset.author);
settings.setValue("diagrameditor/defaultfilename", inset.filename);
settings.setValue("diagrameditor/defaultfolio", inset.folio);
QString date_setting_value;
if (inset.useDate == InsetProperties::UseDateValue) {
if (inset.date.isNull()) date_setting_value = "null";
else date_setting_value = inset.date.toString("yyyyMMdd");
} else {
date_setting_value = "now";
}
settings.setValue("diagrameditor/defaultdate", date_setting_value);
// proprietes par defaut des conducteurs
cpw -> conductorProperties().toSettings(settings, "diagrameditor/defaultconductor");
}
/// @return l'icone de cette page
QIcon NewDiagramPage::icon() const {
return(QIcon(":/ico/conf_new_diagram.png"));
}
/// @return le titre de cette page
QString NewDiagramPage::title() const {
return(tr("Nouveau sch\351ma"));
}

View File

@@ -1,302 +0,0 @@
/*
Copyright 2006-2007 Xavier Guerrin
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#include "diagramprintdialog.h"
#include <math.h>
/**
Constructeur
@param dia Schema a imprimer
@param printer Imprimante a utiliser
@param parent Widget parent du dialogue
*/
DiagramPrintDialog::DiagramPrintDialog(Diagram *dia, QWidget *parent) :
QWidget(parent),
diagram(dia),
dialog(0)
{
// initialise l'imprimante
printer = new QPrinter();
}
/**
Destructeur
*/
DiagramPrintDialog::~DiagramPrintDialog() {
delete dialog;
delete printer;
}
/**
Definit le nom du PDF si l'utilisateur choisit une sortie vers un PDF
*/
void DiagramPrintDialog::setPDFName(const QString &name) {
pdf_name = name;
}
/**
@return le nom du PDF
*/
QString DiagramPrintDialog::PDFName() const {
return(pdf_name);
}
/**
Execute le dialogue d'impression
*/
void DiagramPrintDialog::exec() {
// affichage du dialogue d'impression standard
QPrintDialog print_dialog(printer);
print_dialog.setEnabledOptions(QAbstractPrintDialog::PrintToFile);
#ifndef Q_OS_WIN32
if (!pdf_name.isEmpty()) printer -> setOutputFileName(pdf_name);
#endif
if (print_dialog.exec() == QDialog::Rejected) return;
/*
Apres l'execution de ce premier dialogue, on connait le format papier a
utiliser, son orientation et on est sur que tout cela est supporte par
l'imprimante.
On peut donc en deduire le nombre de pages a imprimer
*/
// affichage d'un second dialogue, non standard, pour connaitre les pages a imprimer
buildDialog();
if (dialog -> exec() == QDialog::Rejected) return;
// effectue l'impression en elle-meme
print();
}
/**
@param fullPage true pour utiliser toute la feuille dans le calcul
@return Le nombre de pages necessaires pour imprimer le schema
avec l'orientation et le format papier utilise dans l'imprimante en cours.
*/
int DiagramPrintDialog::pagesCount(bool fullpage) const {
return(horizontalPagesCount(fullpage) * verticalPagesCount(fullpage));
}
/**
@param fullPage true pour utiliser toute la feuille dans le calcul
@return La largeur du "poster" en nombre de pages pour imprimer le schema
avec l'orientation et le format papier utilise dans l'imprimante en cours.
*/
int DiagramPrintDialog::horizontalPagesCount(bool fullpage) const {
// note : pageRect et Paper Rect tiennent compte de l'orientation du papier
QRect printable_area = fullpage ? printer -> paperRect() : printer -> pageRect();
QRect diagram_rect = diagram -> border().toRect();
int h_pages_count = int(ceil(qreal(diagram_rect.width()) / qreal(printable_area.width())));
return(h_pages_count);
}
/**
@param fullPage true pour utiliser toute la feuille dans le calcul
@return La largeur du "poster" en nombre de pages pour imprimer le schema
avec l'orientation et le format papier utilise dans l'imprimante en cours.
*/
int DiagramPrintDialog::verticalPagesCount(bool fullpage) const {
// note : pageRect et Paper Rect tiennent compte de l'orientation du papier
QRect printable_area = fullpage ? printer -> paperRect() : printer -> pageRect();
QRect diagram_rect = diagram -> border().toRect();
int v_pages_count = int(ceil(qreal(diagram_rect.height()) / qreal(printable_area.height())));
return(v_pages_count);
}
/**
Construit un dialogue non standard pour demander les pages a imprimer a l'utilisateur
*/
void DiagramPrintDialog::buildDialog() {
dialog = new QDialog();
dialog -> setWindowTitle(tr("Options d'impression"));
options_label = new QLabel();
use_full_page = new QCheckBox(tr("Utiliser toute la feuille"));
fit_diagram_to_page = new QCheckBox(tr("Adapter le sch\351ma \340 la page"));
range_from_label = new QLabel(tr("Plage de "));
start_page = new QSpinBox();
to_label = new QLabel(tr(" \340 "));
end_page = new QSpinBox();
buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
QHBoxLayout *pages_layout = new QHBoxLayout();
pages_layout -> addWidget(range_from_label);
pages_layout -> addWidget(start_page);
pages_layout -> addWidget(to_label);
pages_layout -> addWidget(end_page);
QVBoxLayout *dialog_layout = new QVBoxLayout(dialog);
dialog_layout -> addWidget(options_label);
dialog_layout -> addWidget(use_full_page);
dialog_layout -> addWidget(fit_diagram_to_page);
dialog_layout -> addLayout(pages_layout);
dialog_layout -> addStretch();
dialog_layout -> addWidget(buttons);
connect(use_full_page, SIGNAL(stateChanged(int)), this, SLOT(updateDialog()));
connect(fit_diagram_to_page, SIGNAL(stateChanged(int)), this, SLOT(updateDialog()));
connect(start_page, SIGNAL(valueChanged(int)), this, SLOT(checkStartPage()));
connect(end_page, SIGNAL(valueChanged(int)), this, SLOT(checkEndPage()));
connect(buttons, SIGNAL(accepted()), dialog, SLOT(accept()));
connect(buttons, SIGNAL(rejected()), dialog, SLOT(reject()));
updateDialog();
}
/**
Assure la coherence du dialogue
*/
void DiagramPrintDialog::updateDialog() {
int pages_count;
// si on adapte le schema a la page, alors il n'y a qu'une page a imprimer
if (fit_diagram_to_page -> isChecked()) {
pages_count = 1;
} else {
pages_count = pagesCount(use_full_page -> isChecked());
}
options_label -> setText(tr("Nombre total de pages : ") + QString("%1").arg(pages_count));
setPagesRangeVisible(pages_count > 1);
start_page -> setRange(1, pages_count);
end_page -> setRange(1, pages_count);
end_page -> setValue(pages_count);
}
/**
S'assure que la premiere page ne soit pas superieure a la derniere page
*/
void DiagramPrintDialog::checkStartPage() {
if (start_page -> value() > end_page -> value()) {
start_page -> blockSignals(true);
start_page -> setValue(end_page -> value());
start_page -> blockSignals(false);
}
}
/**
S'assure que la derniere page ne soit pas inferieure a la premiere page
*/
void DiagramPrintDialog::checkEndPage() {
if (end_page -> value() < start_page -> value()) {
end_page -> blockSignals(true);
end_page -> setValue(start_page -> value());
end_page -> blockSignals(false);
}
}
/**
@param visible true pour afficher les pages, false sinon
*/
void DiagramPrintDialog::setPagesRangeVisible(bool visible) {
range_from_label -> setVisible(visible);
start_page -> setVisible(visible);
to_label -> setVisible(visible);
end_page -> setVisible(visible);
}
/**
Effectue l'impression elle-meme
*/
void DiagramPrintDialog::print() {
// recupere les informations collectees dans le second dialogue
bool full_page = use_full_page -> isChecked();
bool fit_page = fit_diagram_to_page -> isChecked();
int first_page = start_page -> value();
int last_page = end_page -> value();
// parametre l'imprimante
printer -> setFullPage(full_page);
// QPainter utiliser pour effectuer le rendu
QPainter qp(printer);
// impression physique (!= fichier PDF)
if (printer -> outputFileName().isEmpty()) {
// lorsqu'on imprime en paysage sur imprimante reelle, il faut pivoter soi-meme le rendu
if (printer -> orientation() == QPrinter::Landscape) {
qp.rotate(90.0);
qp.translate(0.0, -printer -> pageRect().height());
}
}
diagram -> setDisplayGrid(false);
diagram -> setDrawTerminals(false);
if (fit_page) {
// impression adaptee sur une seule page
diagram -> render(&qp, QRectF(), diagram -> border(), Qt::KeepAspectRatio);
} else {
// impression sur une ou plusieurs pages
QRect diagram_rect = diagram -> border().toRect();
QRect printed_area = full_page ? printer -> paperRect() : printer -> pageRect();
int used_width = printed_area.width();
int used_height = printed_area.height();
int h_pages_count = horizontalPagesCount(full_page);
int v_pages_count = verticalPagesCount(full_page);
QVector< QVector< QRect > > pages_grid;
// le schema est imprime sur une matrice de feuilles
// parcourt les lignes de la matrice
int y_offset = 0;
for (int i = 0 ; i < v_pages_count ; ++ i) {
pages_grid << QVector< QRect >();
// parcourt les feuilles de la ligne
int x_offset = 0;
for (int j = 0 ; j < h_pages_count ; ++ j) {
pages_grid.last() << QRect(
QPoint(x_offset, y_offset),
QSize(
qMin(used_width, diagram_rect.width() - x_offset),
qMin(used_height, diagram_rect.height() - y_offset)
)
);
x_offset += used_width;
}
y_offset += used_height;
}
// ne retient que les pages a imprimer
QVector<QRect> pages_to_print;
for (int i = 0 ; i < v_pages_count ; ++ i) {
for (int j = 0 ; j < h_pages_count ; ++ j) {
int page_number = (i * h_pages_count) + j + 1;
if (page_number >= first_page && page_number <= last_page) {
pages_to_print << pages_grid.at(i).at(j);
}
}
}
// parcourt les pages pour impression
for (int i = 0 ; i < pages_to_print.count() ; ++ i) {
QRect current_rect(pages_to_print.at(i));
diagram -> render(
&qp,
QRect(QPoint(0,0), current_rect.size()),
current_rect.translated(diagram_rect.topLeft()),
Qt::KeepAspectRatio
);
if (i != pages_to_print.count() - 1) {
printer -> newPage();
}
}
}
diagram -> setDrawTerminals(true);
diagram -> setDisplayGrid(true);
}

View File

@@ -1,128 +0,0 @@
/*
Copyright 2006-2007 Xavier Guerrin
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#include "elementview.h"
/**
Constructeur
@param scene ElementScene visualisee par cette ElementView
@param parent QWidget parent de cette ElementView
*/
ElementView::ElementView(ElementScene *scene, QWidget *parent) :
QGraphicsView(scene, parent),
scene_(scene)
{
setInteractive(true);
setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
setResizeAnchor(QGraphicsView::AnchorUnderMouse);
zoomReset();
}
/// Destructeur
ElementView::~ElementView() {
}
/// @return l'ElementScene visualisee par cette ElementView
ElementScene *ElementView::scene() const {
return(scene_);
}
/**
Definit l'ElementScene visualisee par cette ElementView
@param s l'ElementScene visualisee par cette ElementView
*/
void ElementView::setScene(ElementScene *s) {
QGraphicsView::setScene(s);
scene_ = s;
}
/**
Gere les evenements envoyes a la vue.
Methode reimplentee pour gerer le conflit de raccourcis avec Suppr
(supprimer une partie ou supprimer le caractere suivant)
@param e evenement a gerer
*/
bool ElementView::event(QEvent *e) {
if (e -> type() == QEvent::ShortcutOverride && scene_ -> focusItem()) {
e -> accept();
return(true);
}
return(QGraphicsView::event(e));
}
/**
Agrandit le schema (+33% = inverse des -25 % de zoomMoins())
*/
void ElementView::zoomIn() {
scale(4.0/3.0, 4.0/3.0);
}
/**
Retrecit le schema (-25% = inverse des +33 % de zoomPlus())
*/
void ElementView::zoomOut() {
scale(0.75, 0.75);
}
/**
Agrandit ou rectrecit le schema de facon a ce que tous les elements du
schema soient visibles a l'ecran. S'il n'y a aucun element sur le schema,
le zoom est reinitialise
*/
void ElementView::zoomFit() {
adjustSceneRect();
fitInView(sceneRect(), Qt::KeepAspectRatio);
}
/**
Reinitialise le zoom
*/
void ElementView::zoomReset() {
resetMatrix();
scale(4.0, 4.0);
}
/**
Ajuste le sceneRect (zone du schema visualisee par l'ElementView) afin que
celui inclut a la fois les parties dans et en dehors du cadre et le cadre
lui-meme.
*/
void ElementView::adjustSceneRect() {
QRectF old_scene_rect = scene_ -> sceneRect();
QRectF new_scene_rect = scene_ -> sceneContent();
setSceneRect(new_scene_rect);
// met a jour la scene
scene_ -> update(old_scene_rect.united(new_scene_rect));
}
/**
Gere les actions liees a la rollette de la souris
@param e QWheelEvent decrivant l'evenement rollette
*/
void ElementView::wheelEvent(QWheelEvent *e) {
// si la touche Ctrl est enfoncee, on zoome / dezoome
if (e -> modifiers() & Qt::ControlModifier) {
if (e -> delta() > 0) {
zoomIn();
} else {
zoomOut();
}
} else {
QAbstractScrollArea::wheelEvent(e);
}
}

View File

@@ -1,115 +0,0 @@
/*
Copyright 2006-2007 Xavier Guerrin
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#include "lineeditor.h"
#include "partline.h"
/**
Constructeur
@param editor L'editeur d'element concerne
@param line La ligne a editer
@param parent le Widget parent
*/
LineEditor::LineEditor(QETElementEditor *editor, PartLine *line, QWidget *parent) : ElementItemEditor(editor, parent) {
part = line;
x1 = new QLineEdit();
y1 = new QLineEdit();
x2 = new QLineEdit();
y2 = new QLineEdit();
x1 -> setValidator(new QDoubleValidator(x1));
y1 -> setValidator(new QDoubleValidator(y1));
x2 -> setValidator(new QDoubleValidator(x2));
y2 -> setValidator(new QDoubleValidator(y2));
QGridLayout *grid = new QGridLayout(this);
grid -> addWidget(new QLabel("x1"), 0, 0);
grid -> addWidget(x1, 0, 1);
grid -> addWidget(new QLabel("y1"), 0, 2);
grid -> addWidget(y1, 0, 3);
grid -> addWidget(new QLabel("x2"), 1, 0);
grid -> addWidget(x2, 1, 1);
grid -> addWidget(new QLabel("y2"), 1, 2);
grid -> addWidget(y2, 1, 3);
updateForm();
}
/// Destructeur
LineEditor::~LineEditor() {
}
/**
Met a jour la ligne a partir des donnees du formulaire
*/
void LineEditor::updateLine() {
part -> setLine(
QLineF(
part -> mapFromScene(
x1 -> text().toDouble(),
y1 -> text().toDouble()
),
part -> mapFromScene(
x2 -> text().toDouble(),
y2 -> text().toDouble()
)
)
);
}
/// Met a jour l'abscisse du premier point de la ligne et cree un objet d'annulation
void LineEditor::updateLineX1() { addChangePartCommand(tr("abscisse point 1"), part, "x1", x1 -> text().toDouble()); }
/// Met a jour l'ordonnee du premier point de la ligne et cree un objet d'annulation
void LineEditor::updateLineY1() { addChangePartCommand(tr("ordonn\351e point 1"), part, "y1", y1 -> text().toDouble()); }
/// Met a jour l'abscisse du second point de la ligne et cree un objet d'annulation
void LineEditor::updateLineX2() { addChangePartCommand(tr("abscisse point 2"), part, "x2", x2 -> text().toDouble()); }
/// Met a jour l'ordonnee du second point de la ligne et cree un objet d'annulation
void LineEditor::updateLineY2() { addChangePartCommand(tr("ordonn\351e point 2"), part, "y2", y2 -> text().toDouble()); }
/**
Met a jour le formulaire d'edition
*/
void LineEditor::updateForm() {
activeConnections(false);
QPointF p1(part -> sceneP1());
QPointF p2(part -> sceneP2());
x1 -> setText(QString("%1").arg(p1.x()));
y1 -> setText(QString("%1").arg(p1.y()));
x2 -> setText(QString("%1").arg(p2.x()));
y2 -> setText(QString("%1").arg(p2.y()));
activeConnections(true);
}
/**
Active ou desactive les connexionx signaux/slots entre les widgets internes.
@param active true pour activer les connexions, false pour les desactiver
*/
void LineEditor::activeConnections(bool active) {
if (active) {
connect(x1, SIGNAL(editingFinished()), this, SLOT(updateLineX1()));
connect(y1, SIGNAL(editingFinished()), this, SLOT(updateLineY1()));
connect(x2, SIGNAL(editingFinished()), this, SLOT(updateLineX2()));
connect(y2, SIGNAL(editingFinished()), this, SLOT(updateLineY2()));
} else {
connect(x1, SIGNAL(editingFinished()), this, SLOT(updateLineX1()));
connect(y1, SIGNAL(editingFinished()), this, SLOT(updateLineY1()));
connect(x2, SIGNAL(editingFinished()), this, SLOT(updateLineX2()));
connect(y2, SIGNAL(editingFinished()), this, SLOT(updateLineY2()));
}
}

View File

@@ -1,253 +0,0 @@
/*
Copyright 2006-2007 Xavier Guerrin
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#include "partline.h"
#include "lineeditor.h"
#include <cmath>
/**
Constructeur
@param editor L'editeur d'element concerne
@param parent Le QGraphicsItem parent de cette ligne
@param scene La scene sur laquelle figure cette ligne
*/
PartLine::PartLine(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsLineItem(parent, scene), CustomElementGraphicPart(editor) {
setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
setAcceptedMouseButtons(Qt::LeftButton);
informations = new LineEditor(elementEditor(), this);
informations -> setElementTypeName(name());
style_editor -> appendWidget(informations);
style_editor -> setElementTypeName(name());
}
/// Destructeur
PartLine::~PartLine() {
}
/**
Dessine la ligne
@param painter QPainter a utiliser pour rendre le dessin
@param options Options pour affiner le rendu
@param widget Widget sur lequel le rendu est effectue
*/
void PartLine::paint(QPainter *painter, const QStyleOptionGraphicsItem */*q*/, QWidget */*w*/) {
applyStylesToQPainter(*painter);
QPen t = painter -> pen();
if (isSelected()) {
t.setColor(Qt::red);
painter -> setPen(t);
}
painter -> setBrush(Qt::NoBrush);
painter -> drawLine(line());
}
/**
Exporte la ligne en XML
@param xml_document Document XML a utiliser pour creer l'element XML
@return un element XML decrivant la ligne
*/
const QDomElement PartLine::toXml(QDomDocument &xml_document) const {
QPointF p1(sceneP1());
QPointF p2(sceneP2());
QDomElement xml_element = xml_document.createElement("line");
xml_element.setAttribute("x1", p1.x());
xml_element.setAttribute("y1", p1.y());
xml_element.setAttribute("x2", p2.x());
xml_element.setAttribute("y2", p2.y());
stylesToXml(xml_element);
return(xml_element);
}
/**
Importe les proprietes d'une ligne depuis un element XML
@param qde Element XML a lire
*/
void PartLine::fromXml(const QDomElement &qde) {
stylesFromXml(qde);
setLine(
QLineF(
mapFromScene(
qde.attribute("x1", "0").toDouble(),
qde.attribute("y1", "0").toDouble()
),
mapFromScene(
qde.attribute("x2", "0").toDouble(),
qde.attribute("y2", "0").toDouble()
)
)
);
}
/**
Specifie la valeur d'une propriete donnee de la ligne
@param property propriete a modifier. Valeurs acceptees :
* x1 : abscisse du premier point
* y1 : ordonnee du second point
* x2 : abscisse du premier point
* y2 : ordonnee du second point
@param value Valeur a attribuer a la propriete
*/
void PartLine::setProperty(const QString &property, const QVariant &value) {
CustomElementGraphicPart::setProperty(property, value);
if (!value.canConvert(QVariant::Double)) return;
QPointF new_p1(sceneP1()), new_p2(sceneP2());
bool setline = true;
if (property == "x1") {
new_p1.setX(value.toDouble());
} else if (property == "y1") {
new_p1.setY(value.toDouble());
} else if (property == "x2") {
new_p2.setX(value.toDouble());
} else if (property == "y2") {
new_p2.setY(value.toDouble());
} else setline = false;
setLine(QLineF(mapFromScene(new_p1), mapFromScene(new_p2)));
}
/**
Permet d'acceder a la valeur d'une propriete donnee de la ligne
@param property propriete lue. Valeurs acceptees :
* x1 : abscisse du premier point
* y1 : ordonnee du second point
* x2 : abscisse du premier point
* y2 : ordonnee du second point
@return La valeur de la propriete property
*/
QVariant PartLine::property(const QString &property) {
// appelle la methode property de CustomElementGraphicpart pour les styles
QVariant style_property = CustomElementGraphicPart::property(property);
if (style_property != QVariant()) return(style_property);
if (property == "x1") {
return(sceneP1().x());
} else if (property == "y1") {
return(sceneP1().y());
} else if (property == "x2") {
return(sceneP2().x());
} else if (property == "y2") {
return(sceneP2().y());
}
return(QVariant());
}
/**
Gere les changements intervenant sur cette partie
@param change Type de changement
@param value Valeur numerique relative au changement
*/
QVariant PartLine::itemChange(GraphicsItemChange change, const QVariant &value) {
if (scene()) {
if (change == QGraphicsItem::ItemPositionChange || change == QGraphicsItem::ItemSelectedChange) {
informations -> updateForm();
}
}
return(QGraphicsLineItem::itemChange(change, value));
}
/**
@return le premier point, dans les coordonnees de la scene.
*/
QPointF PartLine::sceneP1() const {
return(mapToScene(line().p1()));
}
/**
@return le second point, dans les coordonnees de la scene.
*/
QPointF PartLine::sceneP2() const {
return(mapToScene(line().p2()));
}
/**
@return la forme selectionnable de la ligne
*/
QPainterPath PartLine::shape() const {
QList<QPointF> points = fourShapePoints();
QPainterPath t;
t.setFillRule(Qt::WindingFill);
t.moveTo(points.at(0));
t.lineTo(points.at(1));
t.lineTo(points.at(2));
t.lineTo(points.at(3));
t.lineTo(points.at(0));
return(t);
}
/**
@return une liste contenant les deux points de la droite + les 4 points entourant ces deux points
*/
QList<QPointF> PartLine::fourShapePoints() const {
const qreal marge = 2.0;
// on a donc A(xa , ya) et B(xb, yb)
QPointF a = line().p1();
QPointF b = line().p2();
QList<QPointF> result;
// cas particulier : la droite se ramene a un point
if (a == b) {
result << QPointF(a.x() - marge, a.y() - marge);
result << QPointF(a.x() - marge, a.y() + marge);
result << QPointF(a.x() + marge, a.y() + marge);
result << QPointF(a.x() + marge, a.y() - marge);
} else {
// on calcule le vecteur AB : (xb-xa, yb-ya)
QPointF v_ab = b - a;
// et la distance AB : racine des coordonnees du vecteur au carre
qreal ab = sqrt(pow(v_ab.x(), 2) + pow(v_ab.y(), 2));
// ensuite on definit le vecteur u(a, b) qui est egal au vecteur AB divise
// par sa longueur et multiplie par la longueur de la marge que tu veux
// laisser
QPointF u = v_ab / ab * marge;
// on definit le vecteur v(-b , a) qui est perpendiculaire a AB
QPointF v(-u.y(), u.x());
QPointF m = -u + v; // on a le vecteur M = -u + v
QPointF n = -u - v; // et le vecteur N=-u-v
QPointF h = a + m; // H = A + M
QPointF k = a + n; // K = A + N
QPointF i = b - n; // I = B - N
QPointF j = b - m; // J = B - M
result << h << i << j << k;
}
return(result);
}
/**
@return le rectangle delimitant cette partie.
*/
QRectF PartLine::boundingRect() const {
qreal adjust = 1.5;
QRectF r(QGraphicsLineItem::boundingRect());
r.adjust(-adjust, -adjust, adjust, adjust);
return(r);
}
/**
@return true si cette partie n'est pas pertinente et ne merite pas d'etre
conservee / enregistree.
Une ligne est pertinente des lors que ses deux points sont differents
*/
bool PartLine::isUseless() const {
return(sceneP1() == sceneP2());
}

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Input</name>
<name lang="fr" >Entrée</name>
<name lang="es" >Entrada</name>
</names>
<description>
<input x="-18" y="-10" size="9" rotate="true" text="_" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Input (down front)</name>
<name lang="fr" >Entrée (front descendant)</name>
<name lang="es" >Entrada (front descendant)</name>
</names>
<description>
<text x="-4.25" y="5.25" size="9" text="N" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Inputs</name>
<name lang="fr" >Entrées</name>
<name lang="es" >Entradas</name>
</names>
</qet-directory>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Outputs</name>
<name lang="fr" >Sorties</name>
<name lang="es" >Salidas</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Output</name>
<name lang="fr" >Sortie</name>
<name lang="es" >Salida</name>
</names>
<description>
<arc width="4" x="6" y="-5" antialias="true" height="10" style="line-style:normal;line-weight:normal;filling:none;color:black" start="80" angle="-160" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Output (reset)</name>
<name lang="fr" >Sortie (reset)</name>
<name lang="es" >Salida (reset)</name>
</names>
<description>
<text x="-4.25" y="5.25" size="9" text="R" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Output (set)</name>
<name lang="fr" >Sortie (set)</name>
<name lang="es" >Salida (set)</name>
</names>
<description>
<arc width="4" x="6" y="-5" antialias="true" height="10" style="line-style:normal;line-weight:normal;filling:none;color:black" start="80" angle="-160" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="fr">Ladder</name>
<name lang="en">Ladder</name>
<name lang="es">Ladder</name>
</names>
</qet-directory>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="fr">Automatisme</name>
<name lang="en">Automatism</name>
<name lang="es">Automática</name>
</names>
</qet-directory>

View File

@@ -0,0 +1,16 @@
<definition width="50" version="0.2" hotspot_x="25" hotspot_y="15" height="30" type="element" orientation="dnnn" >
<names>
<name lang="en" >Horizontal ammeter</name>
<name lang="fr" >Ampèremètre horizontal</name>
<name lang="es" >Amperímetro horizontal</name>
</names>
<description>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="-1.75" y2="0" x2="1.75" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="10" y2="0" x2="21" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="-21" y2="0" x2="-10" />
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="6" x1="-5" y2="-6" x2="0" y3="6" x3="5" />
<circle x="-10" y="-10" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" />
<terminal x="-21" y="0" orientation="w" />
<terminal x="21" y="0" orientation="e" />
</description>
</definition>

View File

@@ -0,0 +1,16 @@
<definition width="30" version="0.2" hotspot_x="15" hotspot_y="25" height="50" type="element" orientation="dnnn" >
<names>
<name lang="en" >Vertical ammeter</name>
<name lang="fr" >Ampèremètre vertical</name>
<name lang="es" >Amperímetro vertical</name>
</names>
<description>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="-1.75" y2="0" x2="1.75" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" x1="0" y2="21" x2="0" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-21" x1="0" y2="-10" x2="0" />
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="6" x1="-5" y2="-6" x2="0" y3="6" x3="5" />
<circle x="-10" y="-10" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" />
<terminal x="0" y="-21" orientation="n" />
<terminal x="0" y="21" orientation="s" />
</description>
</definition>

View File

@@ -0,0 +1,19 @@
<definition width="50" version="0.2" hotspot_x="25" hotspot_y="15" height="30" type="element" orientation="dnnn" >
<names>
<name lang="en" >Horizontal ohmmeter</name>
<name lang="fr" >Ohmmètre horizontal</name>
<name lang="es" >Óhmetro horizontal</name>
</names>
<description>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="5" x1="-5" y2="5" x2="-3.25" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="5" x1="3.25" y2="5" x2="5" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="5" x1="-3.25" y2="3" x2="-3.25" />
<arc width="10" x="-5" y="-6" antialias="true" height="10" style="line-style:normal;line-weight:normal;filling:none;color:black" start="225" angle="-270" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="3" x1="3.25" y2="5" x2="3.25" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="10" y2="0" x2="21" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="-21" y2="0" x2="-10" />
<circle x="-10" y="-10" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" />
<terminal x="-21" y="0" orientation="w" />
<terminal x="21" y="0" orientation="e" />
</description>
</definition>

View File

@@ -0,0 +1,19 @@
<definition width="30" version="0.2" hotspot_x="15" hotspot_y="25" height="50" type="element" orientation="dnnn" >
<names>
<name lang="en" >Vertical ohmmeter</name>
<name lang="fr" >Ohmmètre vertical</name>
<name lang="es" >Óhmetro vertical</name>
</names>
<description>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="5" x1="-5" y2="5" x2="-3.25" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="5" x1="3.25" y2="5" x2="5" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="5" x1="-3.25" y2="3" x2="-3.25" />
<arc width="10" x="-5" y="-6" antialias="true" height="10" style="line-style:normal;line-weight:normal;filling:none;color:black" start="225" angle="-270" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="3" x1="3.25" y2="5" x2="3.25" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" x1="0" y2="21" x2="0" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-21" x1="0" y2="-10" x2="0" />
<circle x="-10" y="-10" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" />
<terminal x="0" y="-21" orientation="n" />
<terminal x="0" y="21" orientation="s" />
</description>
</definition>

View File

@@ -0,0 +1,7 @@
<qet-directory>
<names>
<name lang="en" >Measuring instruments</name>
<name lang="fr" >Appareils de mesure</name>
<name lang="es" >Instrumento de medición</name>
</names>
</qet-directory>

View File

@@ -0,0 +1,15 @@
<definition width="50" version="0.2" hotspot_x="25" hotspot_y="15" height="30" type="element" orientation="dnnn" >
<names>
<name lang="en" >Horizontal voltmeter</name>
<name lang="fr" >Voltmètre horizontal</name>
<name lang="es" >Voltímetro horizontal</name>
</names>
<description>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="10" y2="0" x2="21" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="-21" y2="0" x2="-10" />
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-6" x1="-5" y2="6" x2="0" y3="-6" x3="5" />
<circle x="-10" y="-10" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" />
<terminal x="-21" y="0" orientation="w" />
<terminal x="21" y="0" orientation="e" />
</description>
</definition>

View File

@@ -0,0 +1,15 @@
<definition width="30" version="0.2" hotspot_x="15" hotspot_y="25" height="50" type="element" orientation="dnnn" >
<names>
<name lang="en" >Vertical voltmeter</name>
<name lang="fr" >Voltmètre vertical</name>
<name lang="es" >Voltímetro vertical</name>
</names>
<description>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" x1="0" y2="21" x2="0" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-21" x1="0" y2="-10" x2="0" />
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-6" x1="-5" y2="6" x2="0" y3="-6" x3="5" />
<circle x="-10" y="-10" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" />
<terminal x="0" y="-21" orientation="n" />
<terminal x="0" y="21" orientation="s" />
</description>
</definition>

View File

@@ -0,0 +1,19 @@
<definition width="50" version="0.2" hotspot_x="25" hotspot_y="15" height="40" type="element" ic="true" orientation="dnnn" >
<names>
<name lang="en" >Horizontal wattmeter</name>
<name lang="fr" >Wattmètre horizontal</name>
<name lang="es" >Vatímetro horizontal</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="7.5" x1="7.5" y2="15" x2="10" y3="20" x3="10" />
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="7.5" x1="-7.5" y2="15" x2="-10" y3="20" x3="-10" />
<polygon x4="2.5" y5="-6" x5="5" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-6" x1="-5" y2="6" x2="-2.5" y3="0" x3="0" y4="6" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="10" y2="0" x2="21" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="-21" y2="0" x2="-10" />
<circle x="-10" y="-10" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" />
<terminal x="-21" y="0" orientation="w" />
<terminal x="21" y="0" orientation="e" />
<terminal x="-10" y="20" orientation="s" />
<terminal x="10" y="20" orientation="s" />
</description>
</definition>

View File

@@ -0,0 +1,19 @@
<definition width="40" version="0.2" hotspot_x="15" hotspot_y="25" height="50" type="element" ic="true" orientation="dnnn" >
<names>
<name lang="en" >Vertical wattmeter</name>
<name lang="fr" >Wattmètre vertical</name>
<name lang="es" >Vatímetro vertical</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="7.5" x1="7.5" y2="10" x2="15" y3="10" x3="20" />
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-7.5" x1="7.5" y2="-10" x2="15" y3="-10" x3="20" />
<polygon x4="2.5" y5="-6" x5="5" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-6" x1="-5" y2="6" x2="-2.5" y3="0" x3="0" y4="6" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" x1="0" y2="21" x2="0" />
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-21" x1="0" y2="-10" x2="0" />
<circle x="-10" y="-10" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" />
<terminal x="0" y="-21" orientation="n" />
<terminal x="0" y="21" orientation="s" />
<terminal x="20" y="-10" orientation="e" />
<terminal x="20" y="10" orientation="e" />
</description>
</definition>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Transducers</name>
<name lang="fr" >Capteurs</name>
<name lang="es" >Sensores</name>
</names>
</qet-directory>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Sensors</name>
<name lang="fr" >Sondes</name>
<name lang="es" >Sondeos</name>
</names>
</qet-directory>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Current toroidal core</name>
<name lang="fr" >Tores de courant</name>
<name lang="es" >Toros de corriente</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >1-pole toroidal core</name>
<name lang="fr" >Tore 1 pôle</name>
<name lang="es" >Toro 1 polo</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="5" y2="-10" x2="5" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >2-poles toroidal core</name>
<name lang="fr" >Tore 2 pôles</name>
<name lang="es" >Toro 2 polos</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="5" y2="-10" x2="5" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >3-poles toroidal core</name>
<name lang="fr" >Tore 3 pôles</name>
<name lang="es" >Toro 3 polos</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="5" y2="-10" x2="5" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >4-poles toroidal core</name>
<name lang="fr" >Tore 4 pôles</name>
<name lang="es" >Toro 4 polos</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" x1="5" y2="-10" x2="5" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Input terminal</name>
<name lang="fr" >Borne entrée</name>
<name lang="es" >Punto de entrada</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-5" x1="-4" y2="1" x2="0" y3="-5" x3="4" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Dual terminal</name>
<name lang="fr" >Double borne</name>
<name lang="es" >Borne doble</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-1" x1="-4" y2="5" x2="0" y3="-1" x3="4" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Output terminal</name>
<name lang="fr" >Borne sortie</name>
<name lang="es" >Punto de salida</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-1" x1="-4" y2="5" x2="0" y3="-1" x3="4" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Terminal block</name>
<name lang="fr" >Borne continuité</name>
<name lang="es" >Punto de combinación</name>
</names>
<description>
<input x="5" y="8" size="7" text="_" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Terminal block</name>
<name lang="fr" >Borne finale</name>
<name lang="es" >Punto de unión</name>
</names>
<description>
<input x="5" y="8" size="7" text="_" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Simple contact (tight)</name>
<name lang="fr" >Contact simple (étanche)</name>
<name lang="es" >Contactor simple (resistente al agua)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Simple contact (NC / tight)</name>
<name lang="fr" >Contact simple (NF / étanche)</name>
<name lang="es" >Contactor simple (NC / resistente al agua)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Tight</name>
<name lang="fr" >Étanches</name>
<name lang="es" >Resistentes al agua</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Limit (NC)</name>
<name lang="fr" >Fin de course (NF)</name>
<name lang="es" >Final de carrera (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Limit</name>
<name lang="fr" >Fin de course</name>
<name lang="es" >Final de carrera</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en">Limits</name>
<name lang="fr" >Fins de courses</name>
<name lang="es" >Finales de carrera</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Switch 2 positions</name>
<name lang="fr" >Interrupteur 2 positions</name>
<name lang="es" >Interruptor 2 posiciones</name>
</names>
<description>
<input x="22" y="-7" size="9" text="_" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Switch 3 positions including neutral</name>
<name lang="fr" >Interrupteur 3 positions dont neutre</name>
<name lang="es" >Interruptor 3 posiciones incluso neutro</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="1" x1="10" y2="4" x2="8" y3="4" x3="12" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Switch</name>
<name lang="fr" >Interrupteur</name>
<name lang="es" >Interruptor</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Switchs</name>
<name lang="fr" >Interrupteurs</name>
<name lang="es" >Interruptores</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Push-button</name>
<name lang="fr" >Bouton poussoir</name>
<name lang="es" >Pulsador</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Push-button (NC)</name>
<name lang="fr" >Bouton poussoir (NF)</name>
<name lang="es" >Pulsador (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Push-buttons</name>
<name lang="fr" >Poussoirs</name>
<name lang="es" >Pulsadores</name>
</names>
</qet-directory>

View File

@@ -1,7 +1,8 @@
<definition width="50" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" orientation="dnny" >
<definition width="50" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" ic="true" orientation="dnny" >
<names>
<name lang="en" >Contact power contactor (NC)</name>
<name lang="fr" >Contact puissance contacteur (NF)</name>
<name lang="es" >Interruptor de potencia contactor (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -1,7 +1,8 @@
<definition width="60" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" orientation="dnny" >
<definition width="60" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" ic="true" orientation="dnny" >
<names>
<name lang="en" >Contact power contactor (NC)</name>
<name lang="fr" >Contact puissance contacteur (NF)</name>
<name lang="es" >Interruptor de potencia contactor (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="25" y2="10" x2="20" y3="20" x3="20" />

View File

@@ -1,7 +1,8 @@
<definition width="70" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" orientation="dnny" >
<definition width="70" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" ic="true" orientation="dnny" >
<names>
<name lang="en" >Contact power contactor (NC)</name>
<name lang="fr" >Contact puissance contacteur (NF)</name>
<name lang="es" >Interruptor de potencia contactor (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -1,7 +1,8 @@
<definition width="70" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" orientation="dnny" >
<definition width="70" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" ic="true" orientation="dnny" >
<names>
<name lang="en" >Contact power contactor (NC)</name>
<name lang="fr" >Contact puissance contacteur (NF)</name>
<name lang="es" >Interruptor de potencia contactor (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="15" y2="10" x2="10" y3="20" x3="10" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Normally closed</name>
<name lang="fr" >Normalement fermés</name>
<name lang="es" >Normalmente cerrados</name>
</names>
</qet-directory>

View File

@@ -1,7 +1,8 @@
<definition width="40" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" orientation="dnny" >
<definition width="40" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" ic="true" orientation="dnny" >
<names>
<name lang="en" >Contact power contactor</name>
<name lang="fr" >Contact puissance contacteur</name>
<name lang="es" >Interruptor de potencia contactor</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -1,7 +1,8 @@
<definition width="60" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" orientation="dnny" >
<definition width="60" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" ic="true" orientation="dnny" >
<names>
<name lang="en" >Contact power contactor</name>
<name lang="fr" >Contact puissance contacteur</name>
<name lang="es" >Interruptor de potencia contactor</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="15" y2="10" x2="20" y3="20" x3="20" />

View File

@@ -1,7 +1,8 @@
<definition width="70" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" orientation="dnny" >
<definition width="70" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" ic="true" orientation="dnny" >
<names>
<name lang="en" >Contact power contactor</name>
<name lang="fr" >Contact puissance contacteur</name>
<name lang="es" >Interruptor de potencia contactor</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="10" y3="20" x3="10" />

View File

@@ -1,7 +1,8 @@
<definition width="70" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" orientation="dnny" >
<definition width="70" version="0.1" hotspot_x="10" hotspot_y="25" height="50" type="element" ic="true" orientation="dnny" >
<names>
<name lang="en" >Contact power contactor</name>
<name lang="fr" >Contact puissance contacteur</name>
<name lang="es" >Interruptor de potencia contactor</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="10" y3="20" x3="10" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Normally open</name>
<name lang="fr" >Normalement ouverts</name>
<name lang="es" >Normalemente abiertos</name>
</names>
</qet-directory>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Power</name>
<name lang="fr" >Puissance</name>
<name lang="es" >Potencia</name>
</names>
</qet-directory>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Contacts</name>
<name lang="fr" >Contacts</name>
<name lang="es" >Contactos</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Contact relais thermique (NO)</name>
<name lang="fr" >Contact relais thermique (NO)</name>
<name lang="es" >Contacto relé térmico (NA)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Contact relais thermique (NC)</name>
<name lang="fr" >Contact relais thermique (NF)</name>
<name lang="es" >Contacto relé térmico (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="fr">Relais thermiques</name>
<name lang="en">Thermal relays</name>
<name lang="es">Relés térmicos</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Simple contact</name>
<name lang="fr" >Contact simple</name>
<name lang="es" >Contacto simple</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Simple contact (NC)</name>
<name lang="fr" >Contact simple (NF)</name>
<name lang="es" >Contacto simple (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Simple</name>
<name lang="fr" >Simples</name>
<name lang="es" >Simples</name>
</names>
</qet-directory>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Switch Delay</name>
<name lang="fr" >Temporisés</name>
<name lang="es" >Temporizadores</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Simple contact (NC / switch-off delay timer)</name>
<name lang="fr" >Contact simple (NF / tempo repos)</name>
<name lang="es" >Contacto simple (NC / temporizador a la deconexión)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Simple contact (switch-off delay timer)</name>
<name lang="fr" >Contact simple (tempo repos)</name>
<name lang="es" >Contacto simple (temporizador a la deconexión)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Switch-off delay</name>
<name lang="fr" >Repos</name>
<name lang="es" >Temporizadores a la deconexión</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Simple contact (NC / switch-on delay timer)</name>
<name lang="fr" >Contact simple (NF / tempo travail)</name>
<name lang="es" >Contacto simple (NC / temporizador a la conexión)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Simple contact (switch-on delay timer)</name>
<name lang="fr" >Contact simple (tempo travail)</name>
<name lang="es" >Contacto simple (temporizador a la conexión)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="-5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Switch-on delay</name>
<name lang="fr" >Travail</name>
<name lang="es" >Temporizadores a la conexión</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="fr" >Alternatif monophasé > Alternatif monophasé</name>
<name lang="en" >One-phase alternating > One-phase alternating</name>
<name lang="es" >Alterna monofásica > Alterna monofásica</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10" x1="-15" y2="-10" x2="-20" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="fr" >Alternatif monophasé > Continu</name>
<name lang="en" >One-phase alternating > Direct</name>
<name lang="es" >Alterna monofásica > Continua</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10" x1="-15" y2="-10" x2="-20" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="fr" >Continu > Alternatif monophasé</name>
<name lang="en" >Direct > One-phase alternating</name>
<name lang="es" >Continua > Alterna monofásica</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10" x1="-15" y2="-10" x2="-20" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="fr" >Continu > Continu</name>
<name lang="en" >Direct > Direct</name>
<name lang="es" >Continua > Continua</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10" x1="-15" y2="-10" x2="-20" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Boxes</name>
<name lang="fr" >Blocs</name>
<name lang="es" >Bloques</name>
</names>
</qet-directory>

View File

@@ -2,5 +2,6 @@
<names>
<name lang="fr" >Convertisseurs</name>
<name lang="en" >Converters</name>
<name lang="es" >Convertidores</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Emergency stop (NC)</name>
<name lang="fr" >Arrêt d'urgence (NF)</name>
<name lang="es" >Parada de emergencia (NC)</name>
</names>
<description>
<polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-10" x1="5" y2="10" x2="0" y3="20" x3="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Circuit-breaker</name>
<name lang="fr" >Disjoncteur</name>
<name lang="es" >Interruptor magnetotérmico</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="0" y2="-10" x2="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Circuit-breaker</name>
<name lang="fr" >Disjoncteur</name>
<name lang="es" >Interruptor magnetotérmico</name>
</names>
<description>
<input x="12.75" y="3" size="9" text="_" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Circuit-breaker</name>
<name lang="fr" >Disjoncteur</name>
<name lang="es" >Interruptor magnetotérmico</name>
</names>
<description>
<input x="12.75" y="3" size="9" text="_" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Circuit-breaker</name>
<name lang="fr" >Disjoncteur</name>
<name lang="es" >Interruptor magnetotérmico</name>
</names>
<description>
<input x="22.75" y="3" size="9" text="_" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Circuit-breaker</name>
<name lang="fr" >Disjoncteur</name>
<name lang="es" >Interruptor magnetotérmico</name>
</names>
<description>
<input x="32.75" y="3" size="9" text="_" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Circuit-breaker</name>
<name lang="fr" >Disjoncteur</name>
<name lang="es" >Interruptor magnetotérmico</name>
</names>
<description>
<input x="32.75" y="3" size="9" text="_" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Circuit-breakers</name>
<name lang="fr" >Disjoncteurs</name>
<name lang="es" >Interruptores magnetotérmicos</name>
</names>
</qet-directory>

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Differential circuit-breaker</name>
<name lang="fr" >Disjoncteur différentiel</name>
<name lang="es" >Dispositivo diferenciale residual</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="0" y2="-10" x2="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Differential circuit-breaker</name>
<name lang="fr" >Disjoncteur différentiel</name>
<name lang="es" >Dispositivo diferenciale residual</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="0" y2="-10" x2="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Differential circuit-breaker</name>
<name lang="fr" >Disjoncteur différentiel</name>
<name lang="es" >Dispositivo diferenciale residual</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="0" y2="-10" x2="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Differential circuit-breaker</name>
<name lang="fr" >Disjoncteur différentiel</name>
<name lang="es" >Dispositivo diferenciale residual</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="0" y2="-10" x2="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Differential circuit-breaker</name>
<name lang="fr" >Disjoncteur différentiel</name>
<name lang="es" >Dispositivo diferenciale residual</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="0" y2="-10" x2="0" />

View File

@@ -2,6 +2,7 @@
<names>
<name lang="en" >Differential circuit-breaker</name>
<name lang="fr" >Disjoncteur différentiel</name>
<name lang="es" >Dispositivo diferenciale residual</name>
</names>
<description>
<line antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="0" y2="-10" x2="0" />

View File

@@ -2,5 +2,6 @@
<names>
<name lang="en" >Differential circuit-breakers</name>
<name lang="fr" >Disjoncteurs différentiels</name>
<name lang="es" >Dispositivos diferenciales residuales</name>
</names>
</qet-directory>

Some files were not shown because too many files have changed in this diff Show More